diff options
author | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-05-02 20:06:36 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-05-02 20:06:36 +0000 |
commit | 1e40431699e68b72db472c06a12bbb512762937d (patch) | |
tree | 006978baf0acecf0b2556d04b8bd66ea50190e0e | |
parent | 9133aa80a977fcd764a4237af3e9e21afb67881d (diff) | |
download | edk2-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.h | 19 |
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 |