summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorMichael Brown2011-03-01 17:03:44 +0100
committerMichael Brown2011-03-01 17:09:09 +0100
commit90563f69be960d3b6fd9021445aa9ecdf6eb5db7 (patch)
treecd2e99c81035a24177e23aff6bb5dc5bb819e9e5 /src/arch
parent[prefix] Add rudimentary debugging messages to libprefix (diff)
downloadipxe-90563f69be960d3b6fd9021445aa9ecdf6eb5db7.tar.gz
ipxe-90563f69be960d3b6fd9021445aa9ecdf6eb5db7.tar.xz
ipxe-90563f69be960d3b6fd9021445aa9ecdf6eb5db7.zip
[prefix] Set the "size" bit in the GDT entry for the flat data segment
The "size" bit (aka the D/B) bit should (as far as I can tell) be irrelevant for accesses to a non-code, non-stack, expand-upwards segment. However, VirtualBox fails on some accesses via this segment if this bit is not set. This change allows iPXE to boot under VirtualBox without having to disable VT-x/AMD-V support. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/i386/prefix/libprefix.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/i386/prefix/libprefix.S b/src/arch/i386/prefix/libprefix.S
index b67798e5d..76f455862 100644
--- a/src/arch/i386/prefix/libprefix.S
+++ b/src/arch/i386/prefix/libprefix.S
@@ -332,7 +332,7 @@ process_bytes:
/* Construct GDT on stack (since .prefix may not be writable) */
.equ PM_DS, 0x18 /* Flat data segment */
- pushl $0x008f9300
+ pushl $0x00cf9300
pushl $0x0000ffff
.equ PM_SS, 0x10 /* Stack segment based at %ss:0000 */
pushl $0x008f0930