Move EFER initialization to initialize_cpu()
This commit is contained in:
parent
d357aada75
commit
b3fb599b25
@ -35,13 +35,17 @@ private __gshared HulkHeader hulk_header = {
|
|||||||
|
|
||||||
private void initialize_cpu()
|
private void initialize_cpu()
|
||||||
{
|
{
|
||||||
/* 1. Enable SSE. */
|
/* Enable SSE. */
|
||||||
/* 1.a. Turn off CR0.EM and turn on CR0.MP. */
|
/* Turn off CR0.EM and turn on CR0.MP. */
|
||||||
write_cr0((read_cr0() & ~CR0_EM) | 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);
|
write_cr4(read_cr4() | CR4_OSFXSR | CR4_OSXMMEXCPT);
|
||||||
/* 2. Enable OSXSAVE. */
|
|
||||||
|
/* Enable OSXSAVE. */
|
||||||
write_cr4(read_cr4() | CR4_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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -33,8 +33,6 @@ struct hurl
|
|||||||
*/
|
*/
|
||||||
public static void initialize(HulkHeader * header)
|
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();
|
m_pt_base = allocate_pt();
|
||||||
/* Identity map all physical RAM. */
|
/* Identity map all physical RAM. */
|
||||||
map_range(0u,
|
map_range(0u,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user