2011-09-23 01:14:01 +02:00
|
|
|
/** @file
|
|
|
|
*
|
|
|
|
* Copyright (c) 2011, ARM Limited. All rights reserved.
|
|
|
|
*
|
2014-08-19 15:29:52 +02:00
|
|
|
* This program and the accompanying materials
|
|
|
|
* are licensed and made available under the terms and conditions of the BSD License
|
|
|
|
* which accompanies this distribution. The full text of the license may be found at
|
|
|
|
* http://opensource.org/licenses/bsd-license.php
|
|
|
|
*
|
|
|
|
* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
2011-09-23 01:14:01 +02:00
|
|
|
*
|
|
|
|
**/
|
|
|
|
|
|
|
|
#ifndef __ARM_MP_CORE_INFO_GUID_H_
|
|
|
|
#define __ARM_MP_CORE_INFO_GUID_H_
|
|
|
|
|
|
|
|
#define MAX_CPUS_PER_MPCORE_SYSTEM 0x04
|
|
|
|
#define SCU_CONFIG_REG_OFFSET 0x04
|
|
|
|
#define MPIDR_U_BIT_MASK 0x40000000
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
UINT32 ClusterId;
|
|
|
|
UINT32 CoreId;
|
|
|
|
|
|
|
|
// MP Core Mailbox
|
|
|
|
EFI_PHYSICAL_ADDRESS MailboxSetAddress;
|
|
|
|
EFI_PHYSICAL_ADDRESS MailboxGetAddress;
|
|
|
|
EFI_PHYSICAL_ADDRESS MailboxClearAddress;
|
|
|
|
UINT64 MailboxClearValue;
|
|
|
|
} ARM_CORE_INFO;
|
|
|
|
|
|
|
|
typedef struct{
|
ARM Packages: Replace tabs by spaces for indentation
Replace tabs by spaces for indentation to comply to EDK2 coding standards.
Done in files with extension ".S", ".c", ".h", ".asm", ".dsc", ".inc", "*.inf",
"*.dec" or ".fdf" and located in ArmPkg, ArmPlatformPkg, EmbeddedPkg,
BeagleBoardPkg or Omap35xxPkg.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15901 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-26 12:14:17 +02:00
|
|
|
UINT64 Signature;
|
|
|
|
UINT32 Length;
|
|
|
|
UINT32 Revision;
|
|
|
|
UINT64 OemId;
|
|
|
|
UINT64 OemTableId;
|
|
|
|
UINTN OemRevision;
|
|
|
|
UINTN CreatorId;
|
|
|
|
UINTN CreatorRevision;
|
|
|
|
EFI_GUID Identifier;
|
|
|
|
UINTN DataLen;
|
2011-09-23 01:14:01 +02:00
|
|
|
} ARM_PROCESSOR_TABLE_HEADER;
|
|
|
|
|
|
|
|
typedef struct {
|
ARM Packages: Replace tabs by spaces for indentation
Replace tabs by spaces for indentation to comply to EDK2 coding standards.
Done in files with extension ".S", ".c", ".h", ".asm", ".dsc", ".inc", "*.inf",
"*.dec" or ".fdf" and located in ArmPkg, ArmPlatformPkg, EmbeddedPkg,
BeagleBoardPkg or Omap35xxPkg.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15901 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-26 12:14:17 +02:00
|
|
|
ARM_PROCESSOR_TABLE_HEADER Header;
|
|
|
|
UINTN NumberOfEntries;
|
|
|
|
ARM_CORE_INFO *ArmCpus;
|
2011-09-23 01:14:01 +02:00
|
|
|
} ARM_PROCESSOR_TABLE;
|
|
|
|
|
|
|
|
|
|
|
|
#define ARM_MP_CORE_INFO_GUID \
|
|
|
|
{ 0xa4ee0728, 0xe5d7, 0x4ac5, {0xb2, 0x1e, 0x65, 0x8e, 0xd8, 0x57, 0xe8, 0x34} }
|
|
|
|
|
|
|
|
#define EFI_ARM_PROCESSOR_TABLE_SIGNATURE SIGNATURE_64 ('C', 'P', 'U', 'T', 'A', 'B', 'L', 'E')
|
|
|
|
#define EFI_ARM_PROCESSOR_TABLE_REVISION 0x00010000 //1.0
|
|
|
|
#define EFI_ARM_PROCESSOR_TABLE_OEM_ID SIGNATURE_64('A','R','M',' ', 'L', 't', 'd', ' ')
|
|
|
|
#define EFI_ARM_PROCESSOR_TABLE_OEM_TABLE_ID SIGNATURE_64('V', 'E', 'R', 'S', 'A', 'T', 'I', 'L')
|
|
|
|
#define EFI_ARM_PROCESSOR_TABLE_OEM_REVISION 0x00000001
|
|
|
|
#define EFI_ARM_PROCESSOR_TABLE_CREATOR_ID 0xA5A5A5A5
|
|
|
|
#define EFI_ARM_PROCESSOR_TABLE_CREATOR_REVISION 0x01000001
|
|
|
|
|
|
|
|
extern EFI_GUID gArmMpCoreInfoGuid;
|
|
|
|
|
|
|
|
#endif /* MPCOREINFO_H_ */
|