]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Include/Guid/ArmMpCoreInfo.h
ARM Packages: Replace tabs by spaces for indentation
[mirror_edk2.git] / ArmPkg / Include / Guid / ArmMpCoreInfo.h
1 /** @file
2 *
3 * Copyright (c) 2011, ARM Limited. All rights reserved.
4 *
5 * This program and the accompanying materials
6 * are licensed and made available under the terms and conditions of the BSD License
7 * which accompanies this distribution. The full text of the license may be found at
8 * http://opensource.org/licenses/bsd-license.php
9 *
10 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 *
13 **/
14
15 #ifndef __ARM_MP_CORE_INFO_GUID_H_
16 #define __ARM_MP_CORE_INFO_GUID_H_
17
18 #define MAX_CPUS_PER_MPCORE_SYSTEM 0x04
19 #define SCU_CONFIG_REG_OFFSET 0x04
20 #define MPIDR_U_BIT_MASK 0x40000000
21
22 typedef struct {
23 UINT32 ClusterId;
24 UINT32 CoreId;
25
26 // MP Core Mailbox
27 EFI_PHYSICAL_ADDRESS MailboxSetAddress;
28 EFI_PHYSICAL_ADDRESS MailboxGetAddress;
29 EFI_PHYSICAL_ADDRESS MailboxClearAddress;
30 UINT64 MailboxClearValue;
31 } ARM_CORE_INFO;
32
33 typedef struct{
34 UINT64 Signature;
35 UINT32 Length;
36 UINT32 Revision;
37 UINT64 OemId;
38 UINT64 OemTableId;
39 UINTN OemRevision;
40 UINTN CreatorId;
41 UINTN CreatorRevision;
42 EFI_GUID Identifier;
43 UINTN DataLen;
44 } ARM_PROCESSOR_TABLE_HEADER;
45
46 typedef struct {
47 ARM_PROCESSOR_TABLE_HEADER Header;
48 UINTN NumberOfEntries;
49 ARM_CORE_INFO *ArmCpus;
50 } ARM_PROCESSOR_TABLE;
51
52
53 #define ARM_MP_CORE_INFO_GUID \
54 { 0xa4ee0728, 0xe5d7, 0x4ac5, {0xb2, 0x1e, 0x65, 0x8e, 0xd8, 0x57, 0xe8, 0x34} }
55
56 #define EFI_ARM_PROCESSOR_TABLE_SIGNATURE SIGNATURE_64 ('C', 'P', 'U', 'T', 'A', 'B', 'L', 'E')
57 #define EFI_ARM_PROCESSOR_TABLE_REVISION 0x00010000 //1.0
58 #define EFI_ARM_PROCESSOR_TABLE_OEM_ID SIGNATURE_64('A','R','M',' ', 'L', 't', 'd', ' ')
59 #define EFI_ARM_PROCESSOR_TABLE_OEM_TABLE_ID SIGNATURE_64('V', 'E', 'R', 'S', 'A', 'T', 'I', 'L')
60 #define EFI_ARM_PROCESSOR_TABLE_OEM_REVISION 0x00000001
61 #define EFI_ARM_PROCESSOR_TABLE_CREATOR_ID 0xA5A5A5A5
62 #define EFI_ARM_PROCESSOR_TABLE_CREATOR_REVISION 0x01000001
63
64 extern EFI_GUID gArmMpCoreInfoGuid;
65
66 #endif /* MPCOREINFO_H_ */