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
This commit is contained in:
@@ -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
|
||||
|
@@ -438,6 +438,16 @@ ArmSetAuxCrBit (
|
||||
|
||||
VOID
|
||||
EFIAPI
|
||||
ArmCallSEV (
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
EFIAPI
|
||||
ArmCallWFE (
|
||||
VOID
|
||||
);
|
||||
|
||||
ArmCallWFI (
|
||||
VOID
|
||||
);
|
||||
|
Reference in New Issue
Block a user