20 #ifndef KERNEL_PROCESSOR_X86_STATE_H 21 #define KERNEL_PROCESSOR_X86_STATE_H 23 #include "pedigree/kernel/Log.h" 24 #include "pedigree/kernel/compiler.h" 25 #include "pedigree/kernel/processor/types.h" 70 processor_register_t
getRegister(
size_t index)
const;
101 inline void setSyscallReturnValue(uintptr_t val);
108 inline void setFlags(uint32_t flags);
208 inline void setSyscallReturnValue(uintptr_t val);
247 uint8_t x87FPU_MMX_XMM_MXCSR_State[512 + 16]
__attribute__((aligned(16)));
264 m_Esp = stackPointer;
272 m_Eip = instructionPointer;
289 return (
m_Cs == 0x08);
298 return ((
m_Eax >> 16) & 0xFFFF);
302 return (
m_Eax & 0xFFFF);
319 WARNING(
"Bad syscall parameter requested: " <<
Dec << n);
323 void X86InterruptState::setSyscallReturnValue(uintptr_t val)
338 : edi(), esi(), ebp(), ebx(), edx(), ecx(), eax(), eip(), eflags(), esp()
347 :
edi(x.m_Edi),
esi(x.m_Esi),
ebp(x.m_Ebp),
ebx(x.m_Ebx),
edx(x.m_Edx),
398 eip = instructionPointer;
408 void X86ProcessorState::setSyscallReturnValue(uintptr_t val)
class __attribute__((aligned(16))) X86SchedulerState
void setStackPointer(uintptr_t stackPointer)
processor_register_t getRegister(size_t index) const
void setBasePointer(uintptr_t basePointer)
void setInstructionPointer(uintptr_t instructionPointer)
size_t getRegisterCount() const
static X86InterruptState * construct(class X86ProcessorState &state, bool userMode)
X86ProcessorState & operator=(const X86ProcessorState &x)
size_t getSyscallNumber() const
uintptr_t getInstructionPointer() const
void setFlags(uint32_t flags)
size_t getInterruptNumber() const
void setInstructionPointer(uintptr_t instructionPointer)
void setStackPointer(uintptr_t stackPointer)
X86InterruptState & operator=(const X86InterruptState &)
uintptr_t getSyscallParameter(size_t n) const
uint32_t getFlags() const
uintptr_t getBasePointer() const
X86InterruptState X86SyscallState
uintptr_t getInstructionPointer() const
uintptr_t getStackPointer() const
uintptr_t getBasePointer() const
const char * getRegisterName(size_t index) const
size_t getRegisterSize(size_t index) const
void setBasePointer(uintptr_t basePointer)
uintptr_t getStackPointer() const
size_t getSyscallService() const