summaryrefslogtreecommitdiff
path: root/arch/x86/cpu/cpu.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2015-10-22 00:47:40 (GMT)
committerTom Rini <trini@konsulko.com>2015-10-22 00:47:40 (GMT)
commit858dbdf8412cefb6dbc4eed63dc3de9744578455 (patch)
tree7cca9f60b3d677b338defa3f4af74a1fff017071 /arch/x86/cpu/cpu.c
parent89b5c81b75658b7ff66dea6c38a51dfecc9dd508 (diff)
parente0ae64880b61fdeaf261fddd747efa80fa53d386 (diff)
downloadu-boot-858dbdf8412cefb6dbc4eed63dc3de9744578455.tar.xz
Merge git://git.denx.de/u-boot-x86
Diffstat (limited to 'arch/x86/cpu/cpu.c')
-rw-r--r--arch/x86/cpu/cpu.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c
index 1b76ca1..812c5e4 100644
--- a/arch/x86/cpu/cpu.c
+++ b/arch/x86/cpu/cpu.c
@@ -142,7 +142,12 @@ void arch_setup_gd(gd_t *new_gd)
gdt_addr = new_gd->arch.gdt;
- /* CS: code, read/execute, 4 GB, base 0 */
+ /*
+ * CS: code, read/execute, 4 GB, base 0
+ *
+ * Some OS (like VxWorks) requires GDT entry 1 to be the 32-bit CS
+ */
+ gdt_addr[X86_GDT_ENTRY_UNUSED] = GDT_ENTRY(0xc09b, 0, 0xfffff);
gdt_addr[X86_GDT_ENTRY_32BIT_CS] = GDT_ENTRY(0xc09b, 0, 0xfffff);
/* DS: data, read/write, 4 GB, base 0 */