visws: export boottime gdt descriptor (4/13)
PATCH 1/1 visws: export boottime gdt descriptor (4/13)
Hi.
This simple patch exports boottime gdt descriptor from trampoline.S. Visws uses it to initialize bootup cpu before running the rest of head.S
Please consider applying.
Best regards.
Signature · 2 lines
Andrey Panin | Embedded systems software developer [email protected] | PGP key: wwwkeys.pgp.net
arch/i386/kernel/trampoline.S +4 -5
@@ -46,8 +47,8 @@ movl $0xA5A5A5A5, trampoline_data - r_base # write marker for master knows we're running - lidt idt_48 - r_base # load idt with 0, 0 - lgdt gdt_48 - r_base # load gdt with whatever is appropriate + lidt boot_idt - r_base # load idt with 0, 0 + lgdt boot_gdt - r_base # load gdt with whatever is appropriate xor %ax, %ax inc %ax # protected mode (PE) bit
@@ -57,7 +58,7 @@ ljmpl $__BOOT_CS, $0x00100000 # jump to startup_32 in arch/i386/kernel/head.S -idt_48: +boot_idt: .word 0 # idt limit = 0 .word 0, 0 # idt base = 0L
@@ -65,8 +66,7 @@ # NOTE: here we actually use CPU#0's GDT - but that is OK, we reload # the proper GDT shortly after booting up the secondary CPUs. # - -gdt_48: +ENTRY(boot_gdt) .word __BOOT_DS + 7 # gdt limit .long boot_gdt_table-__PAGE_OFFSET # gdt base = gdt (first SMP CPU)