void module_init(void) { if (!cpuid_exist()) return; if (!msr_exist()) return; if (!check()) return; cpu_setcr0(cpu_getcr0() & ~0x80000000); setuptables(); cpu_setcr3(0x1000); cpu_setcr4(cpu_getcr4() | (1 << 5)); setlongmode(); cpu_setcr0(cpu_getcr0() | 0x80000000); for (;;); }
void mmu_setup(void) { cpu_setcr0(cpu_getcr0() | 0x80000000); }
void mmu_enable(void) { cpu_setcr0(cpu_getcr0() | 0x80000000); }