[444] | 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 |
---|
| 59 | ABIFlags_version: |
---|
| 60 | .struct ABIFlags_version + 2 |
---|
| 61 | ABIFlags_isa_level: |
---|
| 62 | .struct ABIFlags_isa_level + 1 |
---|
| 63 | ABIFlags_isa_rev: |
---|
| 64 | .struct ABIFlags_isa_rev + 1 |
---|
| 65 | ABIFlags_gpr_size: |
---|
| 66 | .struct ABIFlags_gpr_size + 1 |
---|
| 67 | ABIFlags_cpr1_size: |
---|
| 68 | .struct ABIFlags_cpr1_size + 1 |
---|
| 69 | ABIFlags_cpr2_size: |
---|
| 70 | .struct ABIFlags_cpr2_size + 1 |
---|
| 71 | ABIFlags_fp_abi: |
---|
| 72 | .struct ABIFlags_fp_abi + 1 |
---|
| 73 | ABIFlags_isa_ext: |
---|
| 74 | .struct ABIFlags_isa_ext + 4 |
---|
| 75 | ABIFlags_ases: |
---|
| 76 | .struct ABIFlags_ases + 4 |
---|
| 77 | ABIFlags_flags1: |
---|
| 78 | .struct ABIFlags_flags1 + 4 |
---|
| 79 | ABIFlags_flags2: |
---|
| 80 | .struct ABIFlags_flags2 + 4 |
---|
| 81 | |
---|
| 82 | /*> EOF abiflags.S <*/ |
---|