diff options
author | Doug Evans <dje@google.com> | 1998-05-31 22:50:05 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 1998-05-31 22:50:05 +0000 |
commit | d15f4fd0b12ef03a1f401245027d527613a3a7a1 (patch) | |
tree | fad59262f7d96ce44267aeecc747869e7f26e654 /include/elf/mips.h | |
parent | c3b51879b328384127528f7d10bd4b9ef87d2352 (diff) | |
download | gdb-d15f4fd0b12ef03a1f401245027d527613a3a7a1.zip gdb-d15f4fd0b12ef03a1f401245027d527613a3a7a1.tar.gz gdb-d15f4fd0b12ef03a1f401245027d527613a3a7a1.tar.bz2 |
* mips.h (SHT_DVP_OVERLAY_TABLE,SHT_DVP_OVERLAY): New section types.
(SHNAME_DVP_OVERLAY_{TABLE,STRTAB,PREFIX}): Section names.
(Elf64_Dvp_Internal_Overlay,Elf64_Dvp_External_Overlay): New types.
(bfd_dvp_elf64_swap_overlay_in,bfd_dvp_elf64_swap_overlay_out):
Declare.
Diffstat (limited to 'include/elf/mips.h')
-rw-r--r-- | include/elf/mips.h | 77 |
1 files changed, 74 insertions, 3 deletions
diff --git a/include/elf/mips.h b/include/elf/mips.h index 2c9faac..a4d1f57 100644 --- a/include/elf/mips.h +++ b/include/elf/mips.h @@ -56,6 +56,35 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* -mips4 code. */ #define E_MIPS_ARCH_4 0x30000000 + +/* Machine variant if we know it. This field was invented at Cygnus, + but it is hoped that other vendors will adopt it. If some standard + is developed, this code should be changed to follow it. */ + +#define EF_MIPS_MACH 0x00FF0000 + +/* Cygnus is choosing values between 80 and 9F; + 00 - 7F should be left for a future standard; + the rest are open. */ + +#define E_MIPS_MACH_3900 0x00810000 + +#define E_MIPS_MACH_4010 0x00820000 +#define E_MIPS_MACH_4100 0x00830000 +/* start-sanitize-vr4320 */ +#define E_MIPS_MACH_4320 0x00840000 +/* end-sanitize-vr4320 */ +#define E_MIPS_MACH_4650 0x00850000 +/* start-sanitize-tx49 */ +#define E_MIPS_MACH_4900 0x00860000 +/* end-sanitize-tx49 */ + +/* start-sanitize-vr5400 */ +#define E_MIPS_MACH_5400 0x00910000 +/* end-sanitize-vr5400 */ +/* start-sanitize-r5900 */ +#define E_MIPS_MACH_5900 0x00920000 +/* end-sanitize-r5900 */ /* Processor specific section indices. These sections do not actually exist. Symbols with a st_shndx field corresponding to one of these @@ -124,6 +153,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Events section. */ #define SHT_MIPS_EVENTS 0x70000021 +/* start-sanitize-sky */ +/* The VU overlay table. */ +#define SHT_DVP_OVERLAY_TABLE 0x7ffff420 +#define SHNAME_DVP_OVERLAY_TABLE ".DVP.ovlytab" +#define SHNAME_DVP_OVERLAY_STRTAB ".DVP.ovlystrtab" +/* A VU overlay. */ +#define SHT_DVP_OVERLAY 0x7ffff421 +/* Prefix of VU overlay sections. */ +#define SHNAME_DVP_OVERLAY_PREFIX ".DVP.overlay." +/* end-sanitize-sky */ + /* A section of type SHT_MIPS_LIBLIST contains an array of the following structure. The sh_link field is the section index of the string table. The sh_info field is the number of entries in the @@ -330,10 +370,13 @@ extern void bfd_mips_elf32_swap_reginfo_out /* start-sanitize-sky */ /* These values are used for the dvp. */ #define STO_DVP_DMA 0xe8 -#define STO_DVP_PKE 0xe9 -#define STO_DVP_GPUIF 0xea +#define STO_DVP_VIF 0xe9 +#define STO_DVP_GIF 0xea #define STO_DVP_VU 0xeb -#define MIPS_STO_DVP_P(sto) ((sto) >= STO_DVP_DMA && (sto) <= STO_DVP_VU) +/* Reserve a couple in case we need them. */ +#define STO_DVP_RES1 0xec +#define STO_DVP_RES2 0xed +#define STO_DVP_P(sto) ((sto) >= STO_DVP_DMA && (sto) <= STO_DVP_RES2) /* end-sanitize-sky */ /* This value is used for a mips16 .text symbol. */ @@ -514,5 +557,33 @@ extern void bfd_mips_elf64_swap_reginfo_in PARAMS ((bfd *, const Elf64_External_RegInfo *, Elf64_Internal_RegInfo *)); extern void bfd_mips_elf64_swap_reginfo_out PARAMS ((bfd *, const Elf64_Internal_RegInfo *, Elf64_External_RegInfo *)); + +/* start-sanitize-sky */ +/* The vu overlay table is an array of this. */ + +typedef struct +{ + /* Offset into overlay string table section. */ + char name[8]; + char lma[8]; + char vma[8]; +} Elf64_Dvp_External_Overlay; + +typedef struct +{ + bfd_vma name; + bfd_vma lma; + bfd_vma vma; +} Elf64_Dvp_Internal_Overlay; + +/* overlay swapping routines. */ +extern void bfd_dvp_elf64_swap_overlay_in + PARAMS ((bfd *, const Elf64_Dvp_External_Overlay *, + Elf64_Dvp_Internal_Overlay *)); +extern void bfd_dvp_elf64_swap_overlay_out + PARAMS ((bfd *, const Elf64_Dvp_Internal_Overlay *, + Elf64_Dvp_External_Overlay *)); + +/* end-sanitize-sky */ #endif /* _ELF_MIPS_H */ |