]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg/ArmLib: Added ARM Cpu IDs
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 2 May 2012 20:06:36 +0000 (20:06 +0000)
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 2 May 2012 20:06:36 +0000 (20:06 +0000)
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

ArmPkg/Include/Library/ArmLib.h

index 6bce7fb73946a3a39f81969bb57a064b5ee513d2..8eb1ebda5262e4acc2e504badf76b5192cdae7b7 100644 (file)
@@ -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