lkml.org 
[lkml]   [1999]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [FIX] 2.3.28 broke `make bzdisk'
On Sat Nov 13 1999, Chris Noe wrote:

>Take a look at it and you'll see that we call bootsect_kludge at an
>offset of 0x20, as you mentioned but we now call it as an offset from the
>$SETUPSEG segment, which already takes into account the 0x200 bytes of the
>bootsect code.
>
>Please apply if using bzImages + 2.3.28.
>
>Chris Noe
>(stiker@northlink.com)
>
>diff -u --recursive --new-file linux-2.3.26/arch/i386/boot/bootsect.S linux/arch/i386/boot/bootsect.S
>--- linux-2.3.26/arch/i386/boot/bootsect.S Wed Nov 10 19:28:49 1999
>+++ linux/arch/i386/boot/bootsect.S Wed Nov 10 18:21:07 1999
>@@ -247,7 +247,9 @@
> xorw %bx, %bx # bx is starting address within segment
> rp_read:
> #ifdef __BIG_KERNEL__
>- lcall bootsect_kludge # in setup.S
>+ pushw $SETUPSEG
>+ popw %gs
>+ lcall %gs:bootsect_kludge # in setup.S
> #else
> movw %es, %ax
> subw $SYSSEG, %ax

I've tested this. Unfortunately, it adds 6 bytes of code to
the boot sector code. With my binutils (2.9.1.0.24, which is
Ok according to Documentation/Changes), the boot sector code
becomes 498 bytes, which is exactly one byte too many (due
to the `.org 497' near the end of bootsect.S).

There are several workarounds. One is to remove the redundant
`pushw %dx'/`popw %dx' instructions from kill_motor. Another is
to use my patch which shifts the burden to the Makefile.

/Mikael

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.045 / U:0.280 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site