summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-05-02 20:06:36 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-05-02 20:06:36 +0000
commit1e40431699e68b72db472c06a12bbb512762937d (patch)
tree006978baf0acecf0b2556d04b8bd66ea50190e0e
parent9133aa80a977fcd764a4237af3e9e21afb67881d (diff)
downloadedk2-platforms-1e40431699e68b72db472c06a12bbb512762937d.tar.xz
ArmPkg/ArmLib: Added ARM Cpu IDs
Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13257 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--ArmPkg/Include/Library/ArmLib.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/ArmPkg/Include/Library/ArmLib.h b/ArmPkg/Include/Library/ArmLib.h
index 6bce7fb739..8eb1ebda52 100644
--- a/ArmPkg/Include/Library/ArmLib.h
+++ b/ArmPkg/Include/Library/ArmLib.h
@@ -77,6 +77,9 @@ typedef struct {
typedef VOID (*CACHE_OPERATION)(VOID);
typedef VOID (*LINE_OPERATION)(UINTN);
+//
+// ARM Processor Mode
+//
typedef enum {
ARM_PROCESSOR_MODE_USER = 0x10,
ARM_PROCESSOR_MODE_FIQ = 0x11,
@@ -89,6 +92,22 @@ typedef enum {
ARM_PROCESSOR_MODE_MASK = 0x1F
} ARM_PROCESSOR_MODE;
+//
+// ARM Cpu IDs
+//
+#define ARM_CPU_IMPLEMENTER_MASK (0xFF << 24)
+#define ARM_CPU_IMPLEMENTER_ARMLTD (0x41 << 24)
+#define ARM_CPU_IMPLEMENTER_DEC (0x44 << 24)
+#define ARM_CPU_IMPLEMENTER_MOT (0x4D << 24)
+#define ARM_CPU_IMPLEMENTER_QUALCOMM (0x51 << 24)
+#define ARM_CPU_IMPLEMENTER_MARVELL (0x56 << 24)
+
+#define ARM_CPU_PRIMARY_PART_MASK (0xFFF << 4)
+#define ARM_CPU_PRIMARY_PART_CORTEXA5 (0xC05 << 4)
+#define ARM_CPU_PRIMARY_PART_CORTEXA7 (0xC07 << 4)
+#define ARM_CPU_PRIMARY_PART_CORTEXA8 (0xC08 << 4)
+#define ARM_CPU_PRIMARY_PART_CORTEXA9 (0xC09 << 4)
+#define ARM_CPU_PRIMARY_PART_CORTEXA15 (0xC0F << 4)
//
// ARM MP Core IDs