aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386
diff options
context:
space:
mode:
authorAntonino A. Daplas <adaplas@gmail.com>2007-08-02 06:16:46 -0400
committerH. Peter Anvin <hpa@zytor.com>2007-08-02 11:08:27 -0400
commit59acc08fd95aefb5430458a08a82b15a4174ed74 (patch)
tree446a1712a99eb0485a60ca789c71757f6f436277 /arch/i386
parent1ed4395035a6791ebbbf618429a58ab9c207cc83 (diff)
[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>
Diffstat (limited to 'arch/i386')
-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)
268 dx = 0; /* EDID block number */ 268 dx = 0; /* EDID block number */
269 di =(size_t) &boot_params.edid_info; /* (ES:)Pointer to block */ 269 di =(size_t) &boot_params.edid_info; /* (ES:)Pointer to block */
270 asm(INT10 270 asm(INT10
271 : "+a" (ax), "+b" (bx), "+d" (dx) 271 : "+a" (ax), "+b" (bx), "+d" (dx), "=m" (boot_params.edid_info)
272 : "c" (cx), "D" (di) 272 : "c" (cx), "D" (di)
273 : "esi"); 273 : "esi");
274#endif /* CONFIG_FIRMWARE_EDID */ 274#endif /* CONFIG_FIRMWARE_EDID */