summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe/efi/Protocol/Cpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/gpxe/efi/Protocol/Cpu.h')
-rw-r--r--src/include/gpxe/efi/Protocol/Cpu.h71
1 files changed, 18 insertions, 53 deletions
diff --git a/src/include/gpxe/efi/Protocol/Cpu.h b/src/include/gpxe/efi/Protocol/Cpu.h
index 6052a34f..da3d0fda 100644
--- a/src/include/gpxe/efi/Protocol/Cpu.h
+++ b/src/include/gpxe/efi/Protocol/Cpu.h
@@ -255,59 +255,12 @@ EFI_STATUS
);
-/**
- @par Protocol Description:
- The EFI_CPU_ARCH_PROTOCOL is used to abstract processor-specific functions from the DXE
- Foundation. This includes flushing caches, enabling and disabling interrupts, hooking interrupt
- vectors and exception vectors, reading internal processor timers, resetting the processor, and
- determining the processor frequency.
-
- @param FlushDataCache
- Flushes a range of the processor's data cache. If the processor does
- not contain a data cache, or the data cache is fully coherent, then this
- function can just return EFI_SUCCESS. If the processor does not support
- flushing a range of addresses from the data cache, then the entire data
- cache must be flushed.
-
- @param EnableInterrupt
- Enables interrupt processing by the processor.
-
- @param DisableInterrupt
- Disables interrupt processing by the processor.
-
- @param GetInterruptState
- Retrieves the processor's current interrupt state.
-
- @param Init
- Generates an INIT on the processor. If a processor cannot programmatically
- generate an INIT without help from external hardware, then this function
- returns EFI_UNSUPPORTED.
-
- @param RegisterInterruptHandler
- Associates an interrupt service routine with one of the processor's interrupt
- vectors. This function is typically used by the EFI_TIMER_ARCH_PROTOCOL to
- hook the timer interrupt in a system. It can also be used by the debugger to
- hook exception vectors.
-
- @param GetTimerValue
- Returns the value of one of the processor's internal timers.
-
- @param SetMemoryAttributes
- Attempts to set the attributes of a memory region.
-
- @param NumberOfTimers
- The number of timers that are available in a processor. The value in this
- field is a constant that must not be modified after the CPU Architectural
- Protocol is installed. All consumers must treat this as a read-only field.
-
- @param DmaBufferAlignment
- The size, in bytes, of the alignment required for DMA buffer allocations.
- This is typically the size of the largest data cache line in the platform.
- The value in this field is a constant that must not be modified after the
- CPU Architectural Protocol is installed. All consumers must treat this as
- a read-only field.
-
-**/
+///
+/// The EFI_CPU_ARCH_PROTOCOL is used to abstract processor-specific functions from the DXE
+/// Foundation. This includes flushing caches, enabling and disabling interrupts, hooking interrupt
+/// vectors and exception vectors, reading internal processor timers, resetting the processor, and
+/// determining the processor frequency.
+///
struct _EFI_CPU_ARCH_PROTOCOL {
EFI_CPU_FLUSH_DATA_CACHE FlushDataCache;
EFI_CPU_ENABLE_INTERRUPT EnableInterrupt;
@@ -317,7 +270,19 @@ struct _EFI_CPU_ARCH_PROTOCOL {
EFI_CPU_REGISTER_INTERRUPT_HANDLER RegisterInterruptHandler;
EFI_CPU_GET_TIMER_VALUE GetTimerValue;
EFI_CPU_SET_MEMORY_ATTRIBUTES SetMemoryAttributes;
+ ///
+ /// The number of timers that are available in a processor. The value in this
+ /// field is a constant that must not be modified after the CPU Architectural
+ /// Protocol is installed. All consumers must treat this as a read-only field.
+ ///
UINT32 NumberOfTimers;
+ ///
+ /// The size, in bytes, of the alignment required for DMA buffer allocations.
+ /// This is typically the size of the largest data cache line in the platform.
+ /// The value in this field is a constant that must not be modified after the
+ /// CPU Architectural Protocol is installed. All consumers must treat this as
+ /// a read-only field.
+ ///
UINT32 DmaBufferAlignment;
};