summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonino A. Daplas <adaplas@gmail.com>2007-08-02 14:16:46 +0400
committerH. Peter Anvin <hpa@zytor.com>2007-08-02 19:08:27 +0400
commit59acc08fd95aefb5430458a08a82b15a4174ed74 (patch)
tree446a1712a99eb0485a60ca789c71757f6f436277
parent1ed4395035a6791ebbbf618429a58ab9c207cc83 (diff)
downloadlinux-59acc08fd95aefb5430458a08a82b15a4174ed74.tar.xz
[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 <adaplas@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--arch/i386/boot/video-vesa.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/i386/boot/video-vesa.c b/arch/i386/boot/video-vesa.c
index e6aa9eb8d93a..f1bc71e948cf 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 */