From: Coywolf Qi Hunt <coywolf@greatcn.org>
To: Linux-Kernel@vger.kernel.org
Cc: akpm@osdl.org
Subject: [PATCH] Remove bootsect_helper on x86_64 and pc98
Date: Wed, 05 May 2004 16:57:36 +0800 [thread overview]
Message-ID: <4098AC80.8030607@greatcn.org> (raw)
In-Reply-To: <4087DFEC.60704@greatcn.org>
[-- Attachment #1: Type: text/plain, Size: 359 bytes --]
Coywolf Qi Hunt wrote:
> Since "Direct booting from floppy is no longer supported", this patch is
> to remove the bootsect_helper code. And also a comment fix.
>
> The other two platforms x86_64 and PC-9800 should also be cleaned up too.
The same patches for x86_64 and pc98 enclosed.
--
Coywolf Qi Hunt
Admin of http://GreatCN.org and http://LoveCN.org
[-- Attachment #2: remove-bootsect_helper-x86_64.patch --]
[-- Type: text/plain, Size: 2292 bytes --]
--- linux-2.6.5/arch/x86_64/boot/setup.S Mon Mar 8 10:30:36 2004
+++ linux/arch/x86_64/boot/setup.S Mon May 3 09:31:58 2004
@@ -132,7 +132,7 @@
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
@@ -757,87 +757,6 @@
outb %al, $0x70
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 %cx
- pushw %si
- pushw %bx
- testw %bx, %bx # 64K full?
- jne bootsect_ex
-
- movw $0x8000, %cx # full 64K, INT15 moves words
- pushw %cs
- popw %es
- movw $bootsect_gdt, %si
- movw $0x8700, %ax
- int $0x15
- jc bootsect_panic # this, if INT15 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 %bx
- popw %si
- popw %cx
- 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 "INT15 refuses to access high mem, giving up."
# This routine checks that the keyboard command queue is empty
# (after emptying the output buffers)
[-- Attachment #3: remove-bootsect_helper-pc98.patch --]
[-- Type: text/plain, Size: 2407 bytes --]
--- linux-2.6.5/arch/i386/boot98/setup.S Wed Feb 18 11:57:15 2004
+++ linux/arch/i386/boot98/setup.S Mon May 3 09:39:29 2004
@@ -146,7 +146,7 @@
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 @@
# 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,
prev parent reply other threads:[~2004-05-05 8:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-22 15:08 [PATCH] Remove bootsect_helper and A comment fix (III) Coywolf Qi Hunt
2004-05-05 8:57 ` Coywolf Qi Hunt [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4098AC80.8030607@greatcn.org \
--to=coywolf@greatcn.org \
--cc=Linux-Kernel@vger.kernel.org \
--cc=akpm@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox