]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/boot/pmjump.S
x86 setup: initialize LDTR and TR to make life easier to Intel VT
[linux-2.6-omap-h63xx.git] / arch / x86 / boot / pmjump.S
index ef0da1f2c7fde7b74dc0304457cf7c9175603f45..f7153d0d476e8beb8d38c1a8bfe3d0088968a5b0 100644 (file)
@@ -36,6 +36,7 @@ protected_mode_jump:
        addl    %ebx, 2f
 
        movw    $__BOOT_DS, %cx
+       movw    $__BOOT_TSS, %di
 
        movl    %cr0, %edx
        orb     $1, %dl                 # Protected mode (PE) bit
@@ -63,6 +64,9 @@ in_pm32:
        # a valid stack if some debugging hack wants to use it.
        addl    %ebx, %esp
 
+       # Set up TR to make Intel VT happy
+       ltr     %di
+
        # Clear registers to allow for future extensions to the
        # 32-bit boot protocol
        xorl    %ecx, %ecx
@@ -71,6 +75,9 @@ in_pm32:
        xorl    %ebp, %ebp
        xorl    %edi, %edi
 
+       # Set up LDTR to make Intel VT happy
+       lldt    %cx
+
        jmpl    *%eax                   # Jump to the 32-bit entrypoint
 
        .size   in_pm32, .-in_pm32