aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/arm/skyeye_common/arm_regformat.h
diff options
context:
space:
mode:
authorGravatar bunnei <bunneidev@gmail.com>2015-04-06 15:06:07 -0400
committerGravatar bunnei <bunneidev@gmail.com>2015-04-06 15:06:07 -0400
commit14dcd986535c681601d6f255899157aff021a5d2 (patch)
treefb35f0b8444122438dcdf41b4a3b0bf32e4d7d29 /src/core/arm/skyeye_common/arm_regformat.h
parent8d7a77a1d4e8c7d46976bf025031f454c51ef9c1 (diff)
parent8004d35ea163b621ea3f3d4333f2c58ec926d7c9 (diff)
Merge pull request #685 from lioncash/cpregs
dyncom: Set the MPCore CP15 register reset values on initialization.
Diffstat (limited to 'src/core/arm/skyeye_common/arm_regformat.h')
-rw-r--r--src/core/arm/skyeye_common/arm_regformat.h40
1 files changed, 18 insertions, 22 deletions
diff --git a/src/core/arm/skyeye_common/arm_regformat.h b/src/core/arm/skyeye_common/arm_regformat.h
index c232376e..d125dc2f 100644
--- a/src/core/arm/skyeye_common/arm_regformat.h
+++ b/src/core/arm/skyeye_common/arm_regformat.h
@@ -51,17 +51,23 @@ enum {
EXCLUSIVE_STATE,
EXCLUSIVE_RESULT,
+ // VFP registers
+ VFP_BASE,
+ VFP_FPSID = VFP_BASE,
+ VFP_FPSCR,
+ VFP_FPEXC,
+
+ MAX_REG_NUM,
+};
+
+enum CP15Register {
// c0 - Information registers
- CP15_BASE,
- CP15_C0 = CP15_BASE,
- CP15_C0_C0 = CP15_C0,
- CP15_MAIN_ID = CP15_C0_C0,
+ CP15_MAIN_ID,
CP15_CACHE_TYPE,
CP15_TCM_STATUS,
CP15_TLB_TYPE,
CP15_CPU_ID,
- CP15_C0_C1,
- CP15_PROCESSOR_FEATURE_0 = CP15_C0_C1,
+ CP15_PROCESSOR_FEATURE_0,
CP15_PROCESSOR_FEATURE_1,
CP15_DEBUG_FEATURE_0,
CP15_AUXILIARY_FEATURE_0,
@@ -69,24 +75,19 @@ enum {
CP15_MEMORY_MODEL_FEATURE_1,
CP15_MEMORY_MODEL_FEATURE_2,
CP15_MEMORY_MODEL_FEATURE_3,
- CP15_C0_C2,
- CP15_ISA_FEATURE_0 = CP15_C0_C2,
+ CP15_ISA_FEATURE_0,
CP15_ISA_FEATURE_1,
CP15_ISA_FEATURE_2,
CP15_ISA_FEATURE_3,
CP15_ISA_FEATURE_4,
// c1 - Control registers
- CP15_C1_C0,
- CP15_CONTROL = CP15_C1_C0,
+ CP15_CONTROL,
CP15_AUXILIARY_CONTROL,
CP15_COPROCESSOR_ACCESS_CONTROL,
// c2 - Translation table registers
- CP15_C2,
- CP15_C2_C0 = CP15_C2,
- CP15_TRANSLATION_BASE = CP15_C2_C0,
- CP15_TRANSLATION_BASE_TABLE_0 = CP15_TRANSLATION_BASE,
+ CP15_TRANSLATION_BASE_TABLE_0,
CP15_TRANSLATION_BASE_TABLE_1,
CP15_TRANSLATION_BASE_CONTROL,
CP15_DOMAIN_ACCESS_CONTROL,
@@ -171,14 +172,9 @@ enum {
CP15_TLB_FAULT_ADDR,
CP15_TLB_FAULT_STATUS,
- // VFP registers
- VFP_BASE,
- VFP_FPSID = VFP_BASE,
- VFP_FPSCR,
- VFP_FPEXC,
-
- MAX_REG_NUM,
+ // Not an actual register.
+ // All registers should be defined above this.
+ CP15_REGISTER_COUNT,
};
-#define CP15(idx) (idx - CP15_BASE)
#define VFP_OFFSET(x) (x - VFP_BASE)