Author: wmb Date: Thu May 26 10:59:12 2011 New Revision: 2229 URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2229
Log: BIOSload version - changed the real-mode startup code so its GDT is compatible with callbios.fth, and fixed the virtualbox config to use a VESA console.
Modified: cpu/x86/pc/biosload/biostart.bth cpu/x86/pc/biosload/config-virtualbox.fth cpu/x86/pc/biosload/fw.bth cpu/x86/pc/biosload/ofw.bth
Modified: cpu/x86/pc/biosload/biostart.bth ============================================================================== --- cpu/x86/pc/biosload/biostart.bth Thu May 26 10:11:24 2011 (r2228) +++ cpu/x86/pc/biosload/biostart.bth Thu May 26 10:59:12 2011 (r2229) @@ -50,14 +50,16 @@
label gdt-template \ Will be copied to gdt-pa 0 le-w, 0 le-l, 0 le-w, \ 0 Mandatory null descriptor - 0 le-w, 0 le-l, 0 le-w, \ * Another null descriptor - ffff le-w, 9b.000000 le-l, 00.c.f le-w, \ 10 Code, linear=physical, 4GB - ffff le-w, 93.000000 le-l, 00.c.f le-w, \ 18 Data, linear=physical, 4GB + ffff le-w, 9b.000000 le-l, 0 le-w, \ 8 16-bit code, linear=physical, 64K + ffff le-w, 93.000000 le-l, 00.8.f le-w, \ 10 16-bit data, linear=physical, 4GB + ffff le-w, 93.000000 le-l, 0 le-w, \ 18 16-bit data, linear=physical, 64K + ffff le-w, 9b.000000 le-l, 00.c.f le-w, \ 20 Code, linear=physical, 4GB + ffff le-w, 93.000000 le-l, 00.c.f le-w, \ 28 Data, linear=physical, 4GB end-code label gdt-end end-code
label gdt-ptr \ GDT limit + address - 1f le-w, gdt-pa le-l, \ # slots (3 * 8 - 1) , starting address + 2f le-w, gdt-pa le-l, \ # slots (3 * 8 - 1) , starting address end-code
h# 100 pad-to \ space for stack @@ -191,7 +193,7 @@ \ Execute a far jump to following code to reload CS with a \ protected mode selector. The offset portion of the address \ (here asm-base - 7 +) has been relocated by the code above. - op: here asm-base - 7 + 10 #) far jmp + op: here asm-base - 7 + 20 #) far jmp 32-bit
\ The following 2 lines execute at compile time, patching the @@ -202,7 +204,7 @@ here asm-base - 6 - r> le-w!
\ set segment registers - 18 # bx mov \ Data segment selector + 28 # bx mov \ Data segment selector bx ds mov \ Set segment register bx es mov \ Set segment register bx fs mov \ Set segment register
Modified: cpu/x86/pc/biosload/config-virtualbox.fth ============================================================================== --- cpu/x86/pc/biosload/config-virtualbox.fth Thu May 26 10:11:24 2011 (r2228) +++ cpu/x86/pc/biosload/config-virtualbox.fth Thu May 26 10:59:12 2011 (r2229) @@ -10,6 +10,8 @@
\ create debug-startup \ create serial-console +create pc + create resident-packages create addresses-assigned \ Don't reassign PCI addresses \ create virtual-mode @@ -17,7 +19,8 @@ create use-timestamp-counter create use-pci-isa create use-isa-ide -create use-ega +\ create use-ega +create use-vesa create use-elf \ create use-ne2000 create use-watch-all
Modified: cpu/x86/pc/biosload/fw.bth ============================================================================== --- cpu/x86/pc/biosload/fw.bth Thu May 26 10:11:24 2011 (r2228) +++ cpu/x86/pc/biosload/fw.bth Thu May 26 10:59:12 2011 (r2229) @@ -186,10 +186,7 @@ fload ${BP}/cpu/x86/pc/rmtools.fth
fload ${BP}/cpu/x86/pc/biosload/callbios.fth - -[ifdef] syslinux-loaded fload ${BP}/cpu/x86/pc/biosload/callvbe.fth -[then]
fload ${BP}/cpu/x86/pc/biosload/devices.fth
Modified: cpu/x86/pc/biosload/ofw.bth ============================================================================== --- cpu/x86/pc/biosload/ofw.bth Thu May 26 10:11:24 2011 (r2228) +++ cpu/x86/pc/biosload/ofw.bth Thu May 26 10:59:12 2011 (r2229) @@ -1,7 +1,7 @@ purpose: Construct the final BIOS-start OFW image
command: &builder &this -\ in: biostart.img +in: biostart.img in: reset.di in: start.di in: ${BP}/cpu/x86/pc/biosload/build/paging.di
openfirmware@openfirmware.info