Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Typedefs | Functions
apic.h File Reference

Go to the source code of this file.

Typedefs

typedef u8 ApicId
 

Functions

LIB_API ApicId GetApicId ()
 
LIB_API bool AreApicIdsReliable ()
 
LIB_API size_t ProcessorFromApicId (ApicId apicId)
 
LIB_API size_t ContiguousIdFromApicId (ApicId apicId)
 
LIB_API ApicId ApicIdFromProcessor (size_t contiguousId)
 
LIB_API ApicId ApicIdFromContiguousId (size_t contiguousId)
 

Typedef Documentation

typedef u8 ApicId

Definition at line 26 of file apic.h.

Function Documentation

LIB_API ApicId ApicIdFromContiguousId ( size_t  contiguousId)

Definition at line 152 of file apic.cpp.

LIB_API ApicId ApicIdFromProcessor ( size_t  contiguousId)

Definition at line 147 of file apic.cpp.

LIB_API bool AreApicIdsReliable ( )

Definition at line 105 of file apic.cpp.

LIB_API size_t ContiguousIdFromApicId ( ApicId  apicId)

Definition at line 134 of file apic.cpp.

LIB_API ApicId GetApicId ( )
Returns
APIC ID of the currently executing processor or zero if the platform does not have an xAPIC (i.e. 7th generation x86 or below).

rationale: the alternative of accessing the APIC mmio registers is not feasible - mahaf_MapPhysicalMemory only works reliably on WinXP. we also don't want to interfere with the OS's constant use of the APIC registers.

Definition at line 33 of file apic.cpp.

LIB_API size_t ProcessorFromApicId ( ApicId  apicId)

Definition at line 129 of file apic.cpp.