aboutsummaryrefslogtreecommitdiff
path: root/include/elf/csky.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/elf/csky.h')
-rw-r--r--include/elf/csky.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/include/elf/csky.h b/include/elf/csky.h
index a057139..cbce6c0 100644
--- a/include/elf/csky.h
+++ b/include/elf/csky.h
@@ -94,4 +94,79 @@ START_RELOC_NUMBERS (elf_csky_reloc_type)
RELOC_NUMBER (R_CKCORE_PCREL_BLOOP_IMM12BY4, 64)
END_RELOC_NUMBERS (R_CKCORE_MAX)
+/* Additional section types. */
+#define SHT_CSKY_ATTRIBUTES 0x70000001 /* Section holds attributes. */
+
+/* Object attribute tags. */
+enum
+{
+ /* 0-3 are generic. */
+ /* Arch name for this object file. */
+ Tag_CSKY_ARCH_NAME = 4,
+ Tag_CSKY_CPU_NAME = 5,
+
+ /* ISA flags for this object file. */
+ Tag_CSKY_ISA_FLAGS,
+ Tag_CSKY_ISA_EXT_FLAGS,
+
+ /* CSKY DSP version used by this object file. */
+ Tag_CSKY_DSP_VERSION,
+
+ /* CSKY VDSP version used by this object file. */
+ Tag_CSKY_VDSP_VERSION,
+
+ /* CSKY FPU version used by this object file. */
+ Tag_CSKY_FPU_VERSION = 0x10,
+ /* FPU ABI. params: Soft GR/Hard GR/Hard FR. */
+ Tag_CSKY_FPU_ABI,
+ /* Rounding Support. */
+ Tag_CSKY_FPU_ROUNDING,
+ /* Denormal Support. */
+ Tag_CSKY_FPU_DENORMAL,
+ /* Exeception Support. */
+ Tag_CSKY_FPU_Exception,
+ /* Number Module Support("IEEE 754"). */
+ Tag_CSKY_FPU_NUMBER_MODULE,
+ /* Half/Single/Double. */
+ Tag_CSKY_FPU_HARDFP,
+
+ Tag_CSKY_MAX,
+};
+
+/* Object attribute values. */
+enum
+{
+ /* Values defined for Tag_CSKY_DSP_VERSION. */
+ VAL_CSKY_DSP_VERSION_EXTENSION = 1, /* hi-lo DSP extension. */
+ VAL_CSKY_DSP_VERSION_2 = 2, /* CK803s EDSP. */
+};
+
+enum
+{
+ /* Values defined for Tag_CSKY_VDSP_VERSION. */
+ VAL_CSKY_VDSP_VERSION_1 = 1, /* VDSP version 1. */
+ VAL_CSKY_VDSP_VERSION_2 /* VDSP version 1. */
+};
+
+enum
+{
+ /* Values defined for Tag_CSKY_FPU_VERSION. */
+ VAL_CSKY_FPU_VERSION_1 = 1, /* ABIV1 FPU. */
+ VAL_CSKY_FPU_VERSION_2, /* ABIV2 FPU. */
+};
+
+enum
+{
+ VAL_CSKY_FPU_ABI_SOFT = 1,
+ VAL_CSKY_FPU_ABI_SOFTFP,
+ VAL_CSKY_FPU_ABI_HARD,
+};
+
+enum
+{
+ VAL_CSKY_FPU_HARDFP_HALF = 1,
+ VAL_CSKY_FPU_HARDFP_SINGLE = 2,
+ VAL_CSKY_FPU_HARDFP_DOUBLE = 4,
+};
+
#endif /* _ELF_CSKY_H */