Changeset View
Changeset View
Standalone View
Standalone View
head/devel/gdb/files/kgdb/sparc64fbsd-kern.c
Show All 21 Lines | |||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
*/ | */ | ||||
#include <sys/cdefs.h> | #include <sys/cdefs.h> | ||||
__FBSDID("$FreeBSD$"); | __FBSDID("$FreeBSD$"); | ||||
#include <sys/types.h> | #include "defs.h" | ||||
#ifdef __sparc64__ | |||||
#include <machine/asm.h> | |||||
#include <machine/pcb.h> | |||||
#include <machine/frame.h> | |||||
#endif | |||||
#include <string.h> | |||||
#include <defs.h> | |||||
#include "gdbcore.h" | #include "gdbcore.h" | ||||
#include "osabi.h" | #include "osabi.h" | ||||
#include "regcache.h" | #include "regcache.h" | ||||
#include <target.h> | #include "target.h" | ||||
#include <frame-unwind.h> | #include "frame-unwind.h" | ||||
#include "solib.h" | #include "solib.h" | ||||
#include "trad-frame.h" | #include "trad-frame.h" | ||||
#include "sparc-tdep.h" | |||||
#include "sparc64-tdep.h" | |||||
#include <sparc-tdep.h> | #ifdef __sparc64__ | ||||
#include <sparc64-tdep.h> | #include <machine/asm.h> | ||||
#include <machine/pcb.h> | |||||
#include <machine/frame.h> | |||||
#endif | |||||
#include "kgdb.h" | #include "kgdb.h" | ||||
#ifdef __sparc64__ | #ifdef __sparc64__ | ||||
static void | static void | ||||
sparc64fbsd_supply_pcb(struct regcache *regcache, CORE_ADDR pcb_addr) | sparc64fbsd_supply_pcb(struct regcache *regcache, CORE_ADDR pcb_addr) | ||||
{ | { | ||||
struct pcb pcb; | struct pcb pcb; | ||||
▲ Show 20 Lines • Show All 242 Lines • ▼ Show 20 Lines | sparc64fbsd_kernel_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch) | ||||
set_solib_ops(gdbarch, &kld_so_ops); | set_solib_ops(gdbarch, &kld_so_ops); | ||||
#ifdef __sparc64__ | #ifdef __sparc64__ | ||||
fbsd_vmcore_set_supply_pcb(gdbarch, sparc64fbsd_supply_pcb); | fbsd_vmcore_set_supply_pcb(gdbarch, sparc64fbsd_supply_pcb); | ||||
fbsd_vmcore_set_cpu_pcb_addr(gdbarch, kgdb_trgt_stop_pcb); | fbsd_vmcore_set_cpu_pcb_addr(gdbarch, kgdb_trgt_stop_pcb); | ||||
#endif | #endif | ||||
} | } | ||||
void _initialize_sparc64_kgdb_tdep(void); | |||||
void | void | ||||
_initialize_sparc64_kgdb_tdep(void) | _initialize_sparc64_kgdb_tdep(void) | ||||
{ | { | ||||
gdbarch_register_osabi_sniffer(bfd_arch_sparc, | gdbarch_register_osabi_sniffer(bfd_arch_sparc, | ||||
bfd_target_elf_flavour, | bfd_target_elf_flavour, | ||||
fbsd_kernel_osabi_sniffer); | fbsd_kernel_osabi_sniffer); | ||||
gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9, | gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9, | ||||
GDB_OSABI_FREEBSD_KERNEL, sparc64fbsd_kernel_init_abi); | GDB_OSABI_FREEBSD_KERNEL, sparc64fbsd_kernel_init_abi); | ||||
} | } | ||||