source: trunk/libs/newlib/src/libgloss/mips/abiflags.S @ 678

Last change on this file since 678 was 444, checked in by satin@…, 7 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 3.7 KB
Line 
1/*
2 * abiflags.S - MIPS ABI flags.
3 */
4
5/* Values for the xxx_size bytes of an ABI flags structure.  */
6#define AFL_REG_NONE         0x00       /* No registers.  */
7#define AFL_REG_32           0x01       /* 32-bit registers.  */
8#define AFL_REG_64           0x02       /* 64-bit registers.  */
9#define AFL_REG_128          0x03       /* 128-bit registers.  */
10
11/* Masks for the ases word of an ABI flags structure.  */
12#define AFL_ASE_DSP          0x00000001  /* DSP ASE.  */
13#define AFL_ASE_DSPR2        0x00000002  /* DSP R2 ASE.  */
14#define AFL_ASE_EVA          0x00000004  /* Enhanced VA Scheme.  */
15#define AFL_ASE_MCU          0x00000008  /* MCU (MicroController) ASE.  */
16#define AFL_ASE_MDMX         0x00000010  /* MDMX ASE.  */
17#define AFL_ASE_MIPS3D       0x00000020  /* MIPS-3D ASE.  */
18#define AFL_ASE_MT           0x00000040  /* MT ASE.  */
19#define AFL_ASE_SMARTMIPS    0x00000080  /* SmartMIPS ASE.  */
20#define AFL_ASE_VIRT         0x00000100  /* VZ ASE.  */
21#define AFL_ASE_MSA          0x00000200  /* MSA ASE.  */
22#define AFL_ASE_MIPS16       0x00000400  /* MIPS16 ASE.  */
23#define AFL_ASE_MICROMIPS    0x00000800  /* MICROMIPS ASE.  */
24#define AFL_ASE_XPA          0x00001000  /* XPA ASE.  */
25
26/* Values for the isa_ext word of an ABI flags structure.  */
27#define AFL_EXT_XLR           1  /* RMI Xlr instruction.  */
28#define AFL_EXT_OCTEON2       2  /* Cavium Networks Octeon2.  */
29#define AFL_EXT_OCTEONP       3  /* Cavium Networks OcteonP.  */
30#define AFL_EXT_LOONGSON_3A   4  /* Loongson 3A.  */
31#define AFL_EXT_OCTEON        5  /* Cavium Networks Octeon.  */
32#define AFL_EXT_5900          6  /* MIPS R5900 instruction.  */
33#define AFL_EXT_4650          7  /* MIPS R4650 instruction.  */
34#define AFL_EXT_4010          8  /* LSI R4010 instruction.  */
35#define AFL_EXT_4100          9  /* NEC VR4100 instruction.  */
36#define AFL_EXT_3900         10  /* Toshiba R3900 instruction.  */
37#define AFL_EXT_10000        11  /* MIPS R10000 instruction.  */
38#define AFL_EXT_SB1          12  /* Broadcom SB-1 instruction.  */
39#define AFL_EXT_4111         13  /* NEC VR4111/VR4181 instruction.  */
40#define AFL_EXT_4120         14  /* NEC VR4120 instruction.  */
41#define AFL_EXT_5400         15  /* NEC VR5400 instruction.  */
42#define AFL_EXT_5500         16  /* NEC VR5500 instruction.  */
43#define AFL_EXT_LOONGSON_2E  17  /* ST Microelectronics Loongson 2E.  */
44#define AFL_EXT_LOONGSON_2F  18  /* ST Microelectronics Loongson 2F.  */
45
46/* Values defined for Tag_GNU_MIPS_ABI_FP.  */
47#define Val_GNU_MIPS_ABI_FP_ANY    0  /* Not tagged or not using any ABIs affected by the differences.  */
48#define Val_GNU_MIPS_ABI_FP_DOUBLE 1  /* Using hard-float -mdouble-float.  */
49#define Val_GNU_MIPS_ABI_FP_SINGLE 2  /* Using hard-float -msingle-float.  */
50#define Val_GNU_MIPS_ABI_FP_SOFT   3  /* Using soft-float.  */
51#define Val_GNU_MIPS_ABI_FP_OLD_64 4  /* Using -mips32r2 -mfp64.  */
52#define Val_GNU_MIPS_ABI_FP_XX     5  /* Using -mfpxx */
53#define Val_GNU_MIPS_ABI_FP_64     6  /* Using -mips32r2 -mfp64.  */
54#define Val_GNU_MIPS_ABI_MSA_ANY   0  /* Not tagged or not using any ABIs affected by the differences.  */
55#define Val_GNU_MIPS_ABI_MSA_128   1  /* Using 128-bit MSA.  */
56
57/* MIPS ABI flags structure */
58  .struct 0
59ABIFlags_version:
60  .struct ABIFlags_version + 2
61ABIFlags_isa_level:
62  .struct ABIFlags_isa_level + 1
63ABIFlags_isa_rev:
64  .struct ABIFlags_isa_rev + 1
65ABIFlags_gpr_size:
66  .struct ABIFlags_gpr_size + 1
67ABIFlags_cpr1_size:
68  .struct ABIFlags_cpr1_size + 1
69ABIFlags_cpr2_size:
70  .struct ABIFlags_cpr2_size + 1
71ABIFlags_fp_abi:
72  .struct ABIFlags_fp_abi + 1
73ABIFlags_isa_ext:
74  .struct ABIFlags_isa_ext + 4
75ABIFlags_ases:
76  .struct ABIFlags_ases + 4
77ABIFlags_flags1:
78  .struct ABIFlags_flags1 + 4
79ABIFlags_flags2:
80  .struct ABIFlags_flags2 + 4
81
82/*> EOF abiflags.S <*/
Note: See TracBrowser for help on using the repository browser.