11#ifndef __ARCH_PROTOCOL_CPU_H__
12#define __ARCH_PROTOCOL_CPU_H__
16#define EFI_CPU_ARCH_PROTOCOL_GUID \
17 { 0x26baccb1, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
25 EfiCpuFlushTypeWriteBackInvalidate,
26 EfiCpuFlushTypeWriteBack,
27 EfiCpuFlushTypeInvalidate,
216 IN UINT32 TimerIndex,
217 OUT UINT64 *TimerValue,
284extern EFI_GUID gEfiCpuArchProtocolGuid;
EFI_STATUS(EFIAPI * EFI_CPU_SET_MEMORY_ATTRIBUTES)(IN EFI_CPU_ARCH_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Attributes)
EFI_STATUS(EFIAPI * EFI_CPU_FLUSH_DATA_CACHE)(IN EFI_CPU_ARCH_PROTOCOL *This, IN EFI_PHYSICAL_ADDRESS Start, IN UINT64 Length, IN EFI_CPU_FLUSH_TYPE FlushType)
EFI_STATUS(EFIAPI * EFI_CPU_DISABLE_INTERRUPT)(IN EFI_CPU_ARCH_PROTOCOL *This)
VOID(EFIAPI * EFI_CPU_INTERRUPT_HANDLER)(IN CONST EFI_EXCEPTION_TYPE InterruptType, IN CONST EFI_SYSTEM_CONTEXT SystemContext)
EFI_STATUS(EFIAPI * EFI_CPU_INIT)(IN EFI_CPU_ARCH_PROTOCOL *This, IN EFI_CPU_INIT_TYPE InitType)
EFI_STATUS(EFIAPI * EFI_CPU_ENABLE_INTERRUPT)(IN EFI_CPU_ARCH_PROTOCOL *This)
EFI_STATUS(EFIAPI * EFI_CPU_REGISTER_INTERRUPT_HANDLER)(IN EFI_CPU_ARCH_PROTOCOL *This, IN EFI_EXCEPTION_TYPE InterruptType, IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler)
EFI_STATUS(EFIAPI * EFI_CPU_GET_INTERRUPT_STATE)(IN EFI_CPU_ARCH_PROTOCOL *This, OUT BOOLEAN *State)
EFI_STATUS(EFIAPI * EFI_CPU_GET_TIMER_VALUE)(IN EFI_CPU_ARCH_PROTOCOL *This, IN UINT32 TimerIndex, OUT UINT64 *TimerValue, OUT UINT64 *TimerPeriod OPTIONAL)
UINT64 EFI_PHYSICAL_ADDRESS
UINT32 DmaBufferAlignment