On Sunday 12 December 2004 01:00 am, Julian Elischer wrote: > We need to decide what to do with this PR I just don't like loosing the bell but I guess it can go in. It also needs to be merged into boot0ext.S, but that wouldn't have to lose the bell as that version has more room for code. > -------- Original Message -------- > Subject: Re: kern/66248: [panic] bootloader is confused by booting from USB > flash, trashes main drives boot block > Date: Mon, 8 Nov 2004 17:20:21 GMT > From: Hans Petter Selasky <hselasky_at_c2i.net> > Reply-To: Hans Petter Selasky <hselasky_at_c2i.net> > To: freebsd-usb_at_freebsd.org > > The following reply was made to PR kern/66248; it has been noted by GNATS. > > From: Hans Petter Selasky <hselasky_at_c2i.net> > To: jhb_at_freebsd.org, freebsd-gnats-submit_at_freebsd.org, bremner_at_unb.ca > Cc: > Subject: Re: kern/66248: [panic] bootloader is confused by booting from USB > flash, trashes main drives boot block > Date: Mon, 8 Nov 2004 18:24:03 +0100 > > --SUOF0GtieIMvvwua > Content-Type: text/plain; charset=us-ascii > Content-Disposition: inline > > Hi, > > Attached patch for /src/sys/boot/i386/boot0/boot0.S closes kern/66248 > Apply using: cat boot0.S.diff | patch -N -l > > > When the boot0 boot-manager is used on a floppy or USB drive, the > floppy's or USB's boot-sector gets written to the hdd! > > Solution: Only update the boot-sector when there is a valid drive number > or the drive number is set manually. > > To make the patch fit into the code I had to disable the "beep-signal". > > Yours > -HPS > > > --SUOF0GtieIMvvwua > Content-Type: text/plain; charset=us-ascii > Content-Disposition: attachment; filename="boot0.S.diff" > > *** boot0.S.ref Wed Oct 20 17:24:19 2004 > --- boot0.S Wed Oct 20 17:30:56 2004 > *************** > *** 103,112 **** > * Check what flags were loaded with us, specifically, Use a predefined > Drive. * If what the bios gives us is bad, use the '0' in the block > instead, as well. */ > ! testb $0x20,_FLAGS(%bp) # Set number drive? > jnz main.1 # Yes > testb %dl,%dl # Drive number valid? > js main.2 # Possibly (0x80 set) > main.1: movb _SETDRV(%bp),%dl # Drive number to use > /* > * Whatever we decided to use, now store it into the fake > --- 103,117 ---- > * Check what flags were loaded with us, specifically, Use a predefined > Drive. * If what the bios gives us is bad, use the '0' in the block > instead, as well. */ > ! testb $0x20,_FLAGS(%bp) # Set drive number? > jnz main.1 # Yes > testb %dl,%dl # Drive number valid? > js main.2 # Possibly (0x80 set) > + /* > + * Only update the boot-sector when there is a valid drive number or > + * the drive number is set manually. > + */ > + orb $0x40,_FLAGS(%bp) # Disable updates > main.1: movb _SETDRV(%bp),%dl # Drive number to use > /* > * Whatever we decided to use, now store it into the fake > *************** > *** 203,210 **** > /* > * Start of input loop. Beep and take note of time > */ > ! main.10: movb $ASCII_BEL,%al # Signal > callw putchr # beep! > xorb %ah,%ah # BIOS: Get > int $0x1a # system time > movw %dx,%di # Ticks when > --- 208,218 ---- > /* > * Start of input loop. Beep and take note of time > */ > ! main.10: > ! #ifdef BEL > ! movb $ASCII_BEL,%al # Signal > callw putchr # beep! > + #endif > xorb %ah,%ah # BIOS: Get > int $0x1a # system time > movw %dx,%di # Ticks when > > --SUOF0GtieIMvvwua-- > _______________________________________________ > freebsd-usb_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-usb > To unsubscribe, send any mail to "freebsd-usb-unsubscribe_at_freebsd.org" > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" -- John Baldwin <jhb_at_FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.orgReceived on Thu Jan 06 2005 - 20:20:56 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:25 UTC