X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fi386%2Fboot98%2Fsetup.S;h=4ed91417e272982f17c89f869d38ddce47f76dce;hb=d939d46ba7caa14e960be18e18f5c07be8806d7a;hp=615fe3fa2598ee1564c7eec880e99a51be43bcb6;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/arch/i386/boot98/setup.S b/arch/i386/boot98/setup.S index 615fe3fa2..4ed91417e 100644 --- a/arch/i386/boot98/setup.S +++ b/arch/i386/boot98/setup.S @@ -146,7 +146,7 @@ ramdisk_image: .long 0 # address of loaded ramdisk image ramdisk_size: .long 0 # its size in bytes bootsect_kludge: - .word bootsect_helper, SETUPSEG + .long 0 # obsolete heap_end_ptr: .word modelist+1024 # (Header version 0x0201 or later) # space from here (exclusive) down to @@ -691,91 +691,6 @@ default_switch: # sequence lret -# This routine only gets called, if we get loaded by the simple -# bootsect loader _and_ have a bzImage to load. -# Because there is no place left in the 512 bytes of the boot sector, -# we must emigrate to code space here. -bootsect_helper: - cmpw $0, %cs:bootsect_es - jnz bootsect_second - - movb $0x20, %cs:type_of_loader - movw %es, %ax - shrw $4, %ax - movb %ah, %cs:bootsect_src_base+2 - movw %es, %ax - movw %ax, %cs:bootsect_es - subw $SYSSEG, %ax - lret # nothing else to do for now - -bootsect_second: - pushw %bx - pushw %cx - pushw %si - pushw %di - testw %bp, %bp # 64K full ? - jne bootsect_ex - - xorw %cx, %cx # zero means full 64K - pushw %cs - popw %es - movw $bootsect_gdt, %bx - xorw %si, %si # source address - xorw %di, %di # destination address - movb $0x90, %ah - int $0x1f - jc bootsect_panic # this, if INT1F fails - - movw %cs:bootsect_es, %es # we reset %es to always point - incb %cs:bootsect_dst_base+2 # to 0x10000 -bootsect_ex: - movb %cs:bootsect_dst_base+2, %ah - shlb $4, %ah # we now have the number of - # moved frames in %ax - xorb %al, %al - popw %di - popw %si - popw %cx - popw %bx - lret - -bootsect_gdt: - .word 0, 0, 0, 0 - .word 0, 0, 0, 0 - -bootsect_src: - .word 0xffff - -bootsect_src_base: - .byte 0x00, 0x00, 0x01 # base = 0x010000 - .byte 0x93 # typbyte - .word 0 # limit16,base24 =0 - -bootsect_dst: - .word 0xffff - -bootsect_dst_base: - .byte 0x00, 0x00, 0x10 # base = 0x100000 - .byte 0x93 # typbyte - .word 0 # limit16,base24 =0 - .word 0, 0, 0, 0 # BIOS CS - .word 0, 0, 0, 0 # BIOS DS - -bootsect_es: - .word 0 - -bootsect_panic: - pushw %cs - popw %ds - cld - leaw bootsect_panic_mess, %si - call prtstr - -bootsect_panic_loop: - jmp bootsect_panic_loop - -bootsect_panic_mess: - .string "INT1F refuses to access high mem, giving up." # This routine prints one character (in %al) on console. # PC-9800 doesn't have BIOS-function to do it like IBM PC's INT 10h - 0Eh,