Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e479c8306f898fcdb9b36179071eae6338a17364
Commit:     e479c8306f898fcdb9b36179071eae6338a17364
Parent:     32d0b9898029b7b3c7f161d31f57c4831d9049eb
Author:     [EMAIL PROTECTED] <[EMAIL PROTECTED]>
AuthorDate: Wed Jan 30 13:33:03 2008 +0100
Committer:  Ingo Molnar <[EMAIL PROTECTED]>
CommitDate: Wed Jan 30 13:33:03 2008 +0100

    x86 setup: be more verbose when probing EDD
    
    On early boot, probing the Bios for EDD happens without any message.
    
    Enhanced Disk Drive Services (EDD) is a mechanism to match x86 BIOS device
    names (int13 device 80h) to Linux device names (e.g. /dev/sda, /dev/hda)
    
    There are buggy Bios out there having problems with EDD. This can be 
problems
    with the Bios itself or with addon cards, too.
    
    This patch is adds an informational message on early boot.
    
    CONFIG_EDD is not set with defconfig, but with allmodconfig (i.e. 
CONFIG_EDD=m)
    so the EDD probe may be active on early boot on many systems nowadays.
    
    I can tell, that the probe is active on SuSE distro and with that I have 
seen
    more than one system hanging endlessly with those "black screen with a 
blinking
    cursor in the the upper left" on installation, making it difficult for the 
end-
    user to find out, what`s the issue.
    For sure I have seen this on FujitsuSiemens PCs with i810 and with i815 
chipset.
    
    This one also honours the "quiet" bootparam.
    
    Also see:
    http://marc.info/?l=linux-kernel&m=119781937207969&w=2
    http://marc.info/?l=linux-kernel&m=119783934032326&w=2
    http://marc.info/?l=linux-kernel&m=119783678529100&w=2
    
    Signed-off-by: Roland Kletzing <[EMAIL PROTECTED]>
    Signed-off-by: H. Peter Anvin <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
    Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
---
 arch/x86/boot/edd.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/arch/x86/boot/edd.c b/arch/x86/boot/edd.c
index bd138e4..b3504cb 100644
--- a/arch/x86/boot/edd.c
+++ b/arch/x86/boot/edd.c
@@ -129,6 +129,7 @@ void query_edd(void)
        char eddarg[8];
        int do_mbr = 1;
        int do_edd = 1;
+       int be_quiet;
        int devno;
        struct edd_info ei, *edp;
        u32 *mbrptr;
@@ -140,12 +141,21 @@ void query_edd(void)
                        do_edd = 0;
        }
 
+       be_quiet = cmdline_find_option_bool("quiet");
+
        edp    = boot_params.eddbuf;
        mbrptr = boot_params.edd_mbr_sig_buffer;
 
        if (!do_edd)
                return;
 
+       /* Bugs in OnBoard or AddOnCards Bios may hang the EDD probe,
+        * so give a hint if this happens.
+        */
+
+       if (!be_quiet)
+               printf("Probing EDD...");
+
        for (devno = 0x80; devno < 0x80+EDD_MBR_SIG_MAX; devno++) {
                /*
                 * Scan the BIOS-supported hard disks and query EDD
@@ -162,6 +172,9 @@ void query_edd(void)
                if (do_mbr && !read_mbr_sig(devno, &ei, mbrptr++))
                        boot_params.edd_mbr_sig_buf_entries = devno-0x80+1;
        }
+
+       if (!be_quiet)
+               printf("OK\n");
 }
 
 #endif
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to