a cow based x86_64 operating system, using limine and stivale2
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
541 B

#ifndef REGISTERS_H
#define REGISTERS_H
#include "common.h"
u16 _cs(void);
u16 _ds(void);
u16 _ss(void);
u16 _es(void);
u16 _fs(void);
u16 _gs(void);
2 years ago
uint64_t get_rflags(void);
uint64_t get_cr0(void);
uint64_t _cr2(void);
2 years ago
void _cr3(uint64_t cr3);
2 years ago
uint64_t get_cr4(void);
2 years ago
void set_rflags(uint64_t rf);
void set_cr0(uint64_t cr0);
void set_cr4(uint64_t cr4);
2 years ago
2 years ago
#define IA32_EFER_MSR 0xC0000080
2 years ago
uint64_t read_msr(uint32_t addr);
uint64_t write_msr(uint32_t addr, uint64_t value);
#endif// REGISTERS_H