diff --git a/sys/boot/i386/libi386/amd64_tramp.S b/sys/boot/i386/libi386/amd64_tramp.S index 2e95bd3..9cfe014 100644 --- a/sys/boot/i386/libi386/amd64_tramp.S +++ b/sys/boot/i386/libi386/amd64_tramp.S @@ -76,12 +76,6 @@ amd64_tramp: /* Be sure that interrupts are disabled */ cli - /* Turn on EFER.LME */ - movl $MSR_EFER, %ecx - rdmsr - orl $EFER_LME, %eax - wrmsr - /* Turn on PAE */ movl %cr4, %eax orl $(CR4_PAE | CR4_PSE), %eax @@ -91,6 +85,12 @@ amd64_tramp: movl $VTOP(PT4), %eax movl %eax, %cr3 + /* Turn on EFER.LME */ + movl $MSR_EFER, %ecx + rdmsr + orl $EFER_LME, %eax + wrmsr + /* Turn on paging (implicitly sets EFER.LMA) */ movl %cr0, %eax orl $CR0_PG, %eax