summaryrefslogtreecommitdiff
path: root/ArmPkg/Include
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-05-02 19:55:32 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-05-02 19:55:32 +0000
commitb1d41be7c9c0dc18cf9b73785eee6a20f13db126 (patch)
tree6cf436c0af3f6196985ef9680972a681337de484 /ArmPkg/Include
parentf463bb00ad63cdfbec22519c9ae878f43760e97d (diff)
downloadedk2-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')
-rw-r--r--ArmPkg/Include/Library/ArmCpuLib.h20
-rw-r--r--ArmPkg/Include/Library/ArmLib.h10
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
);