[GIT PULL] Additional x86 setup fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

One more batch of x86setup bug fixes.  Of these, one is a manifest bug
(EDID query failure), one is a non-manifest bug, and one is
documentation (Grub < 0.93 buggy.)

Please pull:

  git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup.git for-linus

Antonino A. Daplas (1):
      [x86 setup] video setup: Fix VBE DDC reading

H. Peter Anvin (2):
      [x86 setup] EDD: add missing =m constraint
      [x86 setup] Document grub < 0.93 as broken

 Documentation/Changes       |    1 +
 arch/i386/boot/edd.c        |    2 +-
 arch/i386/boot/video-vesa.c |    2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

[Full changelog and diffs follow]

commit c3887cd7253299cac2a6dc5ea792613a5ba5bf6a
Author: H. Peter Anvin <[email protected]>
Date:   Thu Aug 2 13:50:43 2007 -0400

    [x86 setup] Document grub < 0.93 as broken
    
    Grub older than 0.93 are broken when the kernel setup is bigger than
    8K.  This was fixed in 2002, and 0.93 was the first grub version which
    fixed this bug.
    
    Signed-off-by: H. Peter Anvin <[email protected]>

diff --git a/Documentation/Changes b/Documentation/Changes
index 73a8617..cb2b141 100644
--- a/Documentation/Changes
+++ b/Documentation/Changes
@@ -45,6 +45,7 @@ o  nfs-utils              1.0.5                   # showmount --version
 o  procps                 3.2.0                   # ps --version
 o  oprofile               0.9                     # oprofiled --version
 o  udev                   081                     # udevinfo -V
+o  grub                   0.93                    # grub --version
 
 Kernel compilation
 ==================

commit 463c9a9f7d1f746c251761cef3af5c808394b7e1
Author: H. Peter Anvin <[email protected]>
Date:   Thu Aug 2 13:45:49 2007 -0400

    [x86 setup] EDD: add missing =m constraint
    
    Add a missing =m constraint to the EDD-probing code, that could have
    caused improper dead-code elimination.
    
    Signed-off-by: H. Peter Anvin <[email protected]>

diff --git a/arch/i386/boot/edd.c b/arch/i386/boot/edd.c
index 77d92da..658834d 100644
--- a/arch/i386/boot/edd.c
+++ b/arch/i386/boot/edd.c
@@ -127,7 +127,7 @@ static int get_edd_info(u8 devno, struct edd_info *ei)
 	ax = 0x4800;
 	dx = devno;
 	asm("pushfl; int $0x13; popfl"
-	    : "+a" (ax), "+d" (dx)
+	    : "+a" (ax), "+d" (dx), "=m" (ei->params)
 	    : "S" (&ei->params)
 	    : "ebx", "ecx", "edi");
 

commit 59acc08fd95aefb5430458a08a82b15a4174ed74
Author: Antonino A. Daplas <[email protected]>
Date:   Thu Aug 2 18:16:46 2007 +0800

    [x86 setup] video setup: Fix VBE DDC reading
    
    Add memory operand constraint and write-only modifier to the inline
    assembly to effect the writing of the EDID block to boot_params.edid_info.
    
    Without this, gcc would think the EDID query was dead code and would
    eliminate it.
    
    Signed-off-by: Antonino Daplas <[email protected]>
    Signed-off-by: H. Peter Anvin <[email protected]>

diff --git a/arch/i386/boot/video-vesa.c b/arch/i386/boot/video-vesa.c
index e6aa9eb..f1bc71e 100644
--- a/arch/i386/boot/video-vesa.c
+++ b/arch/i386/boot/video-vesa.c
@@ -268,7 +268,7 @@ void vesa_store_edid(void)
 	dx = 0;			/* EDID block number */
 	di =(size_t) &boot_params.edid_info; /* (ES:)Pointer to block */
 	asm(INT10
-	    : "+a" (ax), "+b" (bx), "+d" (dx)
+	    : "+a" (ax), "+b" (bx), "+d" (dx), "=m" (boot_params.edid_info)
 	    : "c" (cx), "D" (di)
 	    : "esi");
 #endif /* CONFIG_FIRMWARE_EDID */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux