The Pedigree Project 0.1
List of all members
X64Processor Class Reference
+ Inheritance diagram for X64Processor:
+ Collaboration diagram for X64Processor:

Additional Inherited Members

- Static Public Member Functions inherited from X86CommonProcessor
static uint64_t readMachineSpecificRegister (uint32_t index)
 
static void writeMachineSpecificRegister (uint32_t index, uint64_t value)
 
static void cpuid (uint32_t inEax, uint32_t inEcx, uint32_t &eax, uint32_t &ebx, uint32_t &ecx, uint32_t &edx)
 
static physical_uintptr_t readCr3 ()
 
- Static Public Member Functions inherited from ProcessorBase
static void initialise1 (const BootstrapStruct_t &Info) INITIALISATION_ONLY
 first stage in the initialisation of the processor-specific interface
 
static void initialise2 (const BootstrapStruct_t &Info) INITIALISATION_ONLY
 second/last stage in the initialisation of the processor-specific interface
 
static void initialisationDone ()
 
static void deinitialise ()
 
static size_t isInitialised ()
 
static uintptr_t getBasePointer ()
 
static uintptr_t getStackPointer ()
 
static uintptr_t getInstructionPointer ()
 
static void switchAddressSpace (VirtualAddressSpace &AddressSpace)
 
static bool saveState (SchedulerState &state)
 
static void restoreState (SchedulerState &state, volatile uintptr_t *pLock=0) NORETURN
 
static void restoreState (SyscallState &state, volatile uintptr_t *pLock=0) NORETURN
 
static void contextSwitch (InterruptState *state) NORETURN
 
static void switchState (bool bInterrupts, SchedulerState &a, SchedulerState &b, volatile uintptr_t *pLock=0)
 
static void switchState (bool bInterrupts, SchedulerState &a, SyscallState &b, volatile uintptr_t *pLock=0)
 
static void saveAndJumpKernel (bool bInterrupts, SchedulerState &s, volatile uintptr_t *pLock, uintptr_t address, uintptr_t stack, uintptr_t p1=0, uintptr_t p2=0, uintptr_t p3=0, uintptr_t p4=0)
 
static void saveAndJumpUser (bool bInterrupts, SchedulerState &s, volatile uintptr_t *pLock, uintptr_t address, uintptr_t stack, uintptr_t p1=0, uintptr_t p2=0, uintptr_t p3=0, uintptr_t p4=0)
 
static void jumpKernel (volatile uintptr_t *pLock, uintptr_t address, uintptr_t stack, uintptr_t p1=0, uintptr_t p2=0, uintptr_t p3=0, uintptr_t p4=0) NORETURN
 
static void jumpUser (volatile uintptr_t *pLock, uintptr_t address, uintptr_t stack, uintptr_t p1=0, uintptr_t p2=0, uintptr_t p3=0, uintptr_t p4=0) NORETURN
 
static void breakpoint ()
 
static void halt ()
 
static void reset ()
 
static size_t getDebugBreakpointCount ()
 
static uintptr_t getDebugBreakpoint (size_t nBpNumber, DebugFlags::FaultType &nFaultType, size_t &nLength, bool &bEnabled)
 
static void enableDebugBreakpoint (size_t nBpNumber, uintptr_t nLinearAddress, DebugFlags::FaultType nFaultType, size_t nLength)
 
static void disableDebugBreakpoint (size_t nBpNumber)
 
static uintptr_t getDebugStatus ()
 
static void haltUntilInterrupt ()
 
static void pause ()
 
static void setInterrupts (bool bEnable)
 
static bool getInterrupts ()
 
static bool inDeviceHardIrq ()
 
static ExecutionContext executionContext ()
 
static bool guardDeviceHardIrqOperation (DeviceHardIrqOperation operation)
 
static void setSingleStep (bool bEnable, InterruptState &state)
 
static void invalidate (void *pAddress)
 
static MUST_USE_RESULT TlbInvalidationResult beginTlbInvalidation (TlbInvalidationGuard &guard)
 
static MUST_USE_RESULT TlbInvalidationResult invalidateAll (void *pAddress)
 
static MUST_USE_RESULT TlbInvalidationResult invalidateAll (void *pAddress, TlbInvalidationGuard &guard)
 
static bool tlbInvalidationFailureActive ()
 
static bool tlbInvalidationTerminal ()
 
static void invalidateICache (uintptr_t nAddr)
 
static void invalidateDCache (uintptr_t nAddr)
 
static void flushDCache (uintptr_t nAddr)
 
static void flushDCacheAndInvalidateICache (uintptr_t startAddr, uintptr_t endAddr)
 
static void identify (HugeStaticString &str)
 
static ProcessorId id ()
 
static size_t index ()
 
static ProcessorInformation & information ()
 
static ProcessorInformation * informationAt (size_t cpu)
 
static size_t getCount ()
 
static void setTlsBase (uintptr_t newBase)
 
static uintptr_t getUserGsBase ()
 
static void setUserGsBase (uintptr_t newBase)
 
- Static Public Attributes inherited from ProcessorBase
static size_t m_Initialised = 0
 

Detailed Description

Definition at line 27 of file x64/Processor.h.


The documentation for this class was generated from the following file: