Move EFER initialization to initialize_cpu()

This commit is contained in:
josh committed 2022-11-05 22:49:57 -04:00
1 parent d357aada75
commit b3fb599b25
2 files changed
+8 -6

No files matched your search

+8 -4
View File
@@ -35,13 +35,17 @@ private __gshared HulkHeader hulk_header = {
private void initialize_cpu()
{
/* 1. Enable SSE. */
/* 1.a. Turn off CR0.EM and turn on CR0.MP. */
/* Enable SSE. */
/* Turn off CR0.EM and turn on CR0.MP. */
write_cr0((read_cr0() & ~CR0_EM) | CR0_MP);
/* 1.b. Set CR4.OSFXSR and CR4.OSXMMEXCPT. */
/* Set CR4.OSFXSR and CR4.OSXMMEXCPT. */
write_cr4(read_cr4() | CR4_OSFXSR | CR4_OSXMMEXCPT);
/* 2. Enable OSXSAVE. */
/* Enable OSXSAVE. */
write_cr4(read_cr4() | CR4_OSXSAVE);
/* Turn on NXE (no execute enable) flag in the EFER MSR. */
wrmsr(MSR_EFER, rdmsr(MSR_EFER) | EFER_NXE);
}
/**
-2
View File
@@ -33,8 +33,6 @@ struct hurl
*/
public static void initialize(HulkHeader * header)
{
/* Turn on NXE (no execute enable) flag in the EFER MSR. */
wrmsr(MSR_EFER, rdmsr(MSR_EFER) | EFER_NXE);
m_pt_base = allocate_pt();
/* Identity map all physical RAM. */
map_range(0u,