summaryrefslogtreecommitdiff
path: root/sim/sh64/sim-main.h
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2003-05-13 00:08:58 +0000
committerJim Blandy <jimb@codesourcery.com>2003-05-13 00:08:58 +0000
commitad20141640f390ddb988537bf7d93316e5388e4b (patch)
treec1645477648a946f3973c701fb89b76e295e5bcc /sim/sh64/sim-main.h
parentea1c83e1893b74392032336333d19c00a414611d (diff)
downloadgdb-cvs/jimb-ppc64-linux-20030509-branch.tar.gz
Patch from Will Schmidt <willschm@us.ibm.com>:jimb-ppc64-linux-20030509-branchcvs/jimb-ppc64-linux-20030509-branch
These changes enable support of PPC64 architecture. * config/powerpc/ppc64linux.mh: New file. * config/powerpc/ppc64linux.mt: New file. * config/powerpc/tm-ppc64linux.h: New file. * ppc64-linux-tdep.c: New file. * configure.host: Add clause for powerpc64-*-linux* * configure.tgt: Add clause for powerpc64-*-linux* * elfread.c (record_minimal_symbol_and_info): If DROP_TEXT_NAME_PREFIX_CHAR is #defined, then drop a leading instance of that char from the names of text symbols. (elf_symtab_read): If SKIP_DATA_IN_OPD is #defined, ignore data symbols in the .opd section. * ppc-linux-nat.c (PTRACE_XFER_TYPE): Change the default for this to 'long'. (PPC_PTRACE_POKEUSR_3264, PPC_PTRACE_PEEKUSR_3264, PPC_PTRACE_POKEDATA_3264, PPC_PTRACE_PEEKDATA_3264): Provide default definitions for these. (ARCH64): New macro. (ppc_wordsize_pid): New function. (kernel_u_size): Handle 64-bit case. (ppc_register_u_addr): Same. (fetch_register): Use the *_3264 requests when debugging a 64-bit process from a 32-bit GDB. (store_register): Same. (GDB_MAX_ALLOCA, child_xfer_memory, udot_info): Copied from infptrace.c. (_initialize_ppc_linux_nat): New function, to register our copy of the udot_info command. * ppc-linux-tdep.c (TDEP): New macro. (ppc64_linux_svr4_fetch_link_map_offsets): New function. (read_memory_addr): Copied from rs6000-tdep.c. (ppc64_linux_convert_from_func_ptr_addr): New function. * rs6000-tdep.c (skip_prologue): Recognize more instructions for saving the 'lr' and 'cr' registers; don't just pre-emptively mask in the 'st' opcode as soon as we see an 'mflr' or 'mfcr' opcode. Recognize more instructions for updating the stack pointer, and loading the TOC pointer. (registers_powerpc64, registers_a35): New register tables. (rs6000_gdbarch_init): Register the 64-bit solib functions. * solib-svr4.c (solib_break_names): If SOLIB_BREAK_NAME is #defined, include an entry for it. (enable_break): Call CONVERT_FROM_FUNC_PTR_ADDR when trying to guess the linker's base address. * config/powerpc/tm-linux.h (ppc64_linux_svr4_fetch_link_map_offsets, ppc64_linux_convert_from_func_ptr_addr): New declarations.
Diffstat (limited to 'sim/sh64/sim-main.h')
-rw-r--r--sim/sh64/sim-main.h75
1 files changed, 0 insertions, 75 deletions
diff --git a/sim/sh64/sim-main.h b/sim/sh64/sim-main.h
deleted file mode 100644
index e7cbe99217a..00000000000
--- a/sim/sh64/sim-main.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Main header for the Hitachi SH64 architecture. */
-
-#ifndef SIM_MAIN_H
-#define SIM_MAIN_H
-
-#define USING_SIM_BASE_H /* FIXME: quick hack */
-
-struct _sim_cpu; /* FIXME: should be in sim-basics.h */
-typedef struct _sim_cpu SIM_CPU;
-
-/* sim-basics.h includes config.h but cgen-types.h must be included before
- sim-basics.h and cgen-types.h needs config.h. */
-#include "config.h"
-
-#include "symcat.h"
-#include "sim-basics.h"
-#include "cgen-types.h"
-#include "sh-desc.h"
-#include "sh-opc.h"
-#include "arch.h"
-
-/* These must be defined before sim-base.h. */
-typedef UDI sim_cia;
-
-#define CIA_GET(cpu) CPU_PC_GET (cpu)
-#define CIA_SET(cpu,val) CPU_PC_SET ((cpu), (val) | (sh64_h_ism_get (cpu)))
-
-#include "sim-base.h"
-#include "cgen-sim.h"
-#include "sh64-sim.h"
-
-/* The _sim_cpu struct. */
-
-struct _sim_cpu {
- /* sim/common cpu base. */
- sim_cpu_base base;
-
- /* Static parts of cgen. */
- CGEN_CPU cgen_cpu;
-
- /* CPU specific parts go here.
- Note that in files that don't need to access these pieces WANT_CPU_FOO
- won't be defined and thus these parts won't appear. This is ok in the
- sense that things work. It is a source of bugs though.
- One has to of course be careful to not take the size of this
- struct and no structure members accessed in non-cpu specific files can
- go after here. Oh for a better language. */
-#if defined (WANT_CPU_SH64)
- SH64_CPU_DATA cpu_data;
-#endif
-};
-
-/* The sim_state struct. */
-
-struct sim_state {
- sim_cpu *cpu;
-#define STATE_CPU(sd, n) (/*&*/ (sd)->cpu)
-
- CGEN_STATE cgen_state;
-
- sim_state_base base;
-};
-
-/* Misc. */
-
-/* Catch address exceptions. */
-extern SIM_CORE_SIGNAL_FN sh64_core_signal;
-#define SIM_CORE_SIGNAL(SD,CPU,CIA,MAP,NR_BYTES,ADDR,TRANSFER,ERROR) \
-sh64_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), \
- (TRANSFER), (ERROR))
-
-/* Default memory size. */
-#define SH64_DEFAULT_MEM_SIZE 0x800000 /* 8M */
-
-#endif /* SIM_MAIN_H */