diff options
author | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-05-02 19:55:32 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-05-02 19:55:32 +0000 |
commit | b1d41be7c9c0dc18cf9b73785eee6a20f13db126 (patch) | |
tree | 6cf436c0af3f6196985ef9680972a681337de484 /ArmPkg/Include/Library | |
parent | f463bb00ad63cdfbec22519c9ae878f43760e97d (diff) | |
download | edk2-platforms-b1d41be7c9c0dc18cf9b73785eee6a20f13db126.tar.xz |
ArmPkg/ArmCpuLib: Replaced complex functions ArmCpuSynchronizeWait & ArmCpuSynchronizeSignal by sev & wfe
Previsouly the synchronization of MpCore was using the SGI (Software
Generated Interrupt) to synchronize MpCore during the early boot.
This commit replaced this mechanism by the more appropriate SEV/WFE
instructions (Send/Wait Event instructions).
That also eases the port to a new cpu/platform.
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13249 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg/Include/Library')
-rw-r--r-- | ArmPkg/Include/Library/ArmCpuLib.h | 20 | ||||
-rw-r--r-- | ArmPkg/Include/Library/ArmLib.h | 10 |
2 files changed, 11 insertions, 19 deletions
diff --git a/ArmPkg/Include/Library/ArmCpuLib.h b/ArmPkg/Include/Library/ArmCpuLib.h index 8de5aad632..6f92b111d6 100644 --- a/ArmPkg/Include/Library/ArmCpuLib.h +++ b/ArmPkg/Include/Library/ArmCpuLib.h @@ -1,6 +1,6 @@ /** @file - Copyright (c) 2011, ARM Limited. All rights reserved. + Copyright (c) 2011-2012, ARM Limited. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -15,24 +15,6 @@ #ifndef __ARMCPU_LIB__ #define __ARMCPU_LIB__ -// These are #define and not enum to be used in assembly files -#define ARM_CPU_EVENT_DEFAULT 0 -#define ARM_CPU_EVENT_BOOT_MEM_INIT 1 -#define ARM_CPU_EVENT_SECURE_INIT 2 - -typedef UINTN ARM_CPU_SYNCHRONIZE_EVENT; - - -VOID -ArmCpuSynchronizeWait ( - IN ARM_CPU_SYNCHRONIZE_EVENT Event - ); - -VOID -ArmCpuSynchronizeSignal ( - IN ARM_CPU_SYNCHRONIZE_EVENT Event - ); - VOID ArmCpuSetup ( IN UINTN MpId diff --git a/ArmPkg/Include/Library/ArmLib.h b/ArmPkg/Include/Library/ArmLib.h index c1d4009aa5..9b4a036bef 100644 --- a/ArmPkg/Include/Library/ArmLib.h +++ b/ArmPkg/Include/Library/ArmLib.h @@ -438,6 +438,16 @@ ArmSetAuxCrBit ( VOID EFIAPI +ArmCallSEV ( + VOID + ); + +VOID +EFIAPI +ArmCallWFE ( + VOID + ); + ArmCallWFI ( VOID ); |