2020-12-07 04:37:16 +00:00
|
|
|
#ifndef KERNAUX_INCLUDED_ARCH_X86_64
|
2021-12-20 06:17:53 +00:00
|
|
|
#define KERNAUX_INCLUDED_ARCH_X86_64
|
2020-12-07 04:37:16 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2022-11-28 11:56:37 +00:00
|
|
|
#include <kernaux/arch/x86.h>
|
2022-01-11 06:48:54 +00:00
|
|
|
|
2022-12-07 23:13:27 +00:00
|
|
|
/**
|
|
|
|
* @brief CR0 bits
|
|
|
|
*
|
|
|
|
* @details
|
|
|
|
* Contains system control flags that control
|
|
|
|
* operating mode and states of the processor.
|
|
|
|
*
|
|
|
|
* @see https://en.wikipedia.org/wiki/Control_register#CR0
|
|
|
|
* @see https://wiki.osdev.org/CPU_Registers_x86#CR0
|
|
|
|
*/
|
|
|
|
KERNAUX_ARCH_X86_DEFINE_CR0(X86_64, uint64_t);
|
|
|
|
KERNAUX_STATIC_TEST_UNION_SIZE(KernAux_Arch_X86_64_CR0, 8);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief CR4 bits
|
|
|
|
*
|
|
|
|
* @details
|
|
|
|
* Contains a group of flags that enable several architectural extensions,
|
|
|
|
* and indicate operating system or executive support for specific processor
|
|
|
|
* capabilities.
|
|
|
|
*
|
|
|
|
* @see https://en.wikipedia.org/wiki/Control_register#CR4
|
|
|
|
* @see https://wiki.osdev.org/CPU_Registers_x86#CR4
|
|
|
|
*/
|
|
|
|
KERNAUX_ARCH_X86_DEFINE_CR4(X86_64, uint64_t);
|
|
|
|
KERNAUX_STATIC_TEST_UNION_SIZE(KernAux_Arch_X86_64_CR4, 8);
|
|
|
|
|
2020-12-07 04:37:16 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|