On Monday 01 May 2006 09:07, Giorgos Keramidas wrote:
> On 2006-05-01 15:03, Daniel Lang <[EMAIL PROTECTED]> wrote:
> > Alex Zbyslaw wrote on Mon, May 01, 2006 at 10:31:34AM +0100:
> > [..]
> > > >off by setting WITHOUT_BOOTEASY_BEEP in `/etc/src.conf'.
> > [..]
> > > WITH_BOOTEASY_BEEP so that it's off by default unless you turn it on 
> > 
> > Regardless what you decide, if such an option is created, please
> > call it WITH/WITHOUT_BOOTZERO_BEEP or WITH/WITHOUT_BOOT0_BEEP.
> > 
> > The current FreeBSD bootmanager is called 'boot0'. It has replaced
> > booteasy (which was indeed used in the past) centuries ago.
> 
> I'll do, thanks for the careful review of the diff :)

How about the patch below.  It restores the behavior of the beep
only happening for invalid input by axeing the BSD/OS partition
type from the lookup table.

Index: boot0.S
===================================================================
RCS file: /usr/cvs/src/sys/boot/i386/boot0/boot0.S,v
retrieving revision 1.14
diff -u -r1.14 boot0.S
--- boot0.S     8 Feb 2005 20:43:04 -0000       1.14
+++ boot0.S     1 May 2006 18:00:37 -0000
@@ -29,7 +29,7 @@
                .set PRT_OFF,0x1be              # Partition table
 
                .set TBL0SZ,0x3                 # Table 0 size
-               .set TBL1SZ,0xb                 # Table 1 size
+               .set TBL1SZ,0xa                 # Table 1 size
 
                .set MAGIC,0xaa55               # Magic: bootable
                .set B0MAGIC,0xbb66             # Identification
@@ -198,12 +198,16 @@
                movb _OPT(%bp),%dl              # Display
                decw %si                        #  default
                callw putkey                    #  key
+               jmp main.7_1                    # Skip beep
 /*
- * Start of input loop.  Beep and take note of time
+ * Users's last try was bad, beep in displeasure.
  */
 main.10:       movb $ASCII_BEL,%al             # Signal
                callw putchr                    #  beep!
-               xorb %ah,%ah                    # BIOS: Get
+/*
+ * Start of input loop.  Take note of time
+ */
+main.7_1:      xorb %ah,%ah                    # BIOS: Get
                int $0x1a                       #  system time
                movw %dx,%di                    # Ticks when
                addw _TICKS(%bp),%di            #  timeout
@@ -410,7 +414,7 @@
  * These values indicate bootable types we know the names of.
  */
                .byte 0x1, 0x6, 0x7, 0xb, 0xc, 0xe, 0x83
-               .byte 0x9f, 0xa5, 0xa6, 0xa9
+               .byte 0xa5, 0xa6, 0xa9
 /*
  * These are offsets that match the known names above and point to the strings
  * that will be printed. os_misc will be used if the search of the above table
@@ -423,7 +427,6 @@
                .byte os_dos-.                  # Windows
                .byte os_dos-.                  # Windows
                .byte os_linux-.                # Linux
-               .byte os_bsd-.                  # BSD/OS
                .byte os_freebsd-.              # FreeBSD
                .byte os_bsd-.                  # OpenBSD
                .byte os_bsd-.                  # NetBSD


-- 
John Baldwin <[EMAIL PROTECTED]>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to