--=_courier-12198-1045228307-0001-2
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
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.
-- Andrey Panin | Embedded systems software developer pazke@orbita1.ru | PGP key: wwwkeys.pgp.net--=_courier-12198-1045228307-0001-2 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=patch-boot_gdt
diff -urN -X /usr/share/dontdiff linux-2.5.60.vanilla/arch/i386/kernel/trampoline.S linux-2.5.60/arch/i386/kernel/trampoline.S --- linux-2.5.60.vanilla/arch/i386/kernel/trampoline.S Tue Jan 14 12:32:27 2003 +++ linux-2.5.60/arch/i386/kernel/trampoline.S Fri Feb 14 15:12:28 2003 @@ -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)
--=_courier-12198-1045228307-0001-2--