Xyris  0.5
regs.hpp File Reference
#include <stdint.h>
#include <stddef.h>
+ Include dependency graph for regs.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  registers
 
struct  CR0
 
struct  CR2
 
struct  CR3
 
struct  IDTR
 
struct  GDTR
 

Functions

struct registers __attribute__ ((packed))
 
 __attribute__ ((always_inline)) static inline struct CR0 readCR0(void)
 

Variables

uint32_t ds
 
uint32_t edi
 
uint32_t esi
 
uint32_t ebp
 
uint32_t ignored
 
uint32_t ebx
 
uint32_t edx
 
uint32_t ecx
 
uint32_t eax
 
uint32_t int_num
 
uint32_t err_code
 
uint32_t eip
 
uint32_t cs
 
uint32_t eflags
 
uint32_t esp
 
uint32_t ss
 
uint32_t protectedMode
 
uint32_t monitorCoProcessor
 
uint32_t emulation
 
uint32_t taskSwitched
 
uint32_t extensionType
 
uint32_t numericError
 
uint32_t reservedA
 
uint32_t writeProtection
 
uint32_t reservedB
 
uint32_t alignmentMask
 
uint32_t reservedC
 
uint32_t nonWriteThrough
 
uint32_t cacheDisable
 
uint32_t pagingEnable
 
uint32_t pageFaultAddr
 
uint32_t ignoredA
 
uint32_t writeThrough
 
uint32_t ignoredB
 
uint32_t pageDir
 
uint16_t size
 
uint32_t base
 

Detailed Description

i686 control register definitions. C & C++ compatible header.

Author
Keeton Feavel (keeto.nosp@m.nfea.nosp@m.vel@c.nosp@m.edar.nosp@m.ville.nosp@m..edu)
Version
0.3
Date
2019-12-10

Definition in file regs.hpp.

Function Documentation

◆ __attribute__() [1/2]

__attribute__ ( (always_inline)  )

Definition at line 83 of file regs.hpp.

85 {
86  struct CR0 x;
87  asm volatile("mov %%cr0, %0": "=r"(x));
88  return x;
89 }

◆ __attribute__() [2/2]

struct GDTR __attribute__ ( (packed)  )

Variable Documentation

◆ alignmentMask

uint32_t alignmentMask

Definition at line 11 of file regs.hpp.

◆ base

uint32_t base

Definition at line 3 of file regs.hpp.

◆ cacheDisable

uint32_t cacheDisable

Definition at line 14 of file regs.hpp.

◆ cs

uint32_t cs

Definition at line 5 of file regs.hpp.

◆ ds

uint32_t ds

Definition at line 2 of file regs.hpp.

◆ eax

uint32_t eax

Definition at line 3 of file regs.hpp.

◆ ebp

uint32_t ebp

Definition at line 3 of file regs.hpp.

◆ ebx

uint32_t ebx

Definition at line 3 of file regs.hpp.

◆ ecx

uint32_t ecx

Definition at line 3 of file regs.hpp.

◆ edi

uint32_t edi

Definition at line 3 of file regs.hpp.

◆ edx

uint32_t edx

Definition at line 3 of file regs.hpp.

◆ eflags

uint32_t eflags

Definition at line 5 of file regs.hpp.

◆ eip

uint32_t eip

Definition at line 5 of file regs.hpp.

◆ emulation

uint32_t emulation

Definition at line 4 of file regs.hpp.

◆ err_code

uint32_t err_code

Definition at line 4 of file regs.hpp.

◆ esi

uint32_t esi

Definition at line 3 of file regs.hpp.

◆ esp

uint32_t esp

Definition at line 5 of file regs.hpp.

◆ extensionType

uint32_t extensionType

Definition at line 6 of file regs.hpp.

◆ ignored

uint32_t ignored

Definition at line 3 of file regs.hpp.

◆ ignoredA

uint32_t ignoredA

Definition at line 2 of file regs.hpp.

◆ ignoredB

uint32_t ignoredB

Definition at line 5 of file regs.hpp.

◆ int_num

uint32_t int_num

Definition at line 4 of file regs.hpp.

◆ monitorCoProcessor

uint32_t monitorCoProcessor

Definition at line 3 of file regs.hpp.

◆ nonWriteThrough

uint32_t nonWriteThrough

Definition at line 13 of file regs.hpp.

◆ numericError

uint32_t numericError

Definition at line 7 of file regs.hpp.

◆ pageDir

uint32_t pageDir

Definition at line 6 of file regs.hpp.

◆ pageFaultAddr

uint32_t pageFaultAddr

Definition at line 2 of file regs.hpp.

◆ pagingEnable

uint32_t pagingEnable

Definition at line 15 of file regs.hpp.

◆ protectedMode

uint32_t protectedMode

Definition at line 2 of file regs.hpp.

◆ reservedA

uint32_t reservedA

Definition at line 8 of file regs.hpp.

◆ reservedB

uint32_t reservedB

Definition at line 10 of file regs.hpp.

◆ reservedC

uint32_t reservedC

Definition at line 12 of file regs.hpp.

◆ size

uint16_t size

Definition at line 2 of file regs.hpp.

◆ ss

uint32_t ss

Definition at line 5 of file regs.hpp.

◆ taskSwitched

uint32_t taskSwitched

Definition at line 5 of file regs.hpp.

◆ writeProtection

uint32_t writeProtection

Definition at line 9 of file regs.hpp.

◆ writeThrough

uint32_t writeThrough

Definition at line 3 of file regs.hpp.

CR0
Definition: regs.hpp:30