Cleanup and commenting
This commit is contained in:
parent
cce444f546
commit
80aad418fc
@ -9,9 +9,10 @@ struct cpu __seg_gs *cpu = 0;
|
|||||||
|
|
||||||
void cpu_init()
|
void cpu_init()
|
||||||
{
|
{
|
||||||
|
// Set up cpu struct
|
||||||
struct cpu *c = P2V(pmm_calloc());
|
struct cpu *c = P2V(pmm_calloc());
|
||||||
c->cpu = c;
|
c->cpu = c;
|
||||||
write_msr(0xc0000102, (uint64_t)c);
|
write_msr(KERNEL_GS_BASE, (uint64_t)c);
|
||||||
asm("swapgs");
|
asm("swapgs");
|
||||||
|
|
||||||
interrupt_init();
|
interrupt_init();
|
||||||
|
@ -49,7 +49,6 @@ read_msr:
|
|||||||
shl rdx, 32
|
shl rdx, 32
|
||||||
add rax, rdx
|
add rax, rdx
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.global write_msr
|
.global write_msr
|
||||||
write_msr:
|
write_msr:
|
||||||
mov rcx, rdi
|
mov rcx, rdi
|
||||||
|
@ -26,5 +26,8 @@ uint64_t read_cr3();
|
|||||||
void write_cr3(uint64_t);
|
void write_cr3(uint64_t);
|
||||||
uint64_t read_cr4();
|
uint64_t read_cr4();
|
||||||
|
|
||||||
|
// Model Specific Registers
|
||||||
|
// Functions defined in cpu/registers.S
|
||||||
void write_msr(uint64_t reg, uint64_t value);
|
void write_msr(uint64_t reg, uint64_t value);
|
||||||
uint64_t read_msr(uint64_t reg);
|
uint64_t read_msr(uint64_t reg);
|
||||||
|
#define KERNEL_GS_BASE 0xC0000102
|
||||||
|
Loading…
x
Reference in New Issue
Block a user