[x86 setup] video setup: Fix VBE DDC reading
authorAntonino A. Daplas <adaplas@gmail.com>
Thu, 2 Aug 2007 10:16:46 +0000 (18:16 +0800)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 2 Aug 2007 15:08:27 +0000 (11:08 -0400)
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 <adaplas@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/i386/boot/video-vesa.c

index e6aa9eb8d93a4cb13fe413595ace527105e0986d..f1bc71e948cfebbd7b5339eade1a4197d6c624ca 100644 (file)
@@ -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 */