diff options
author | Antonino A. Daplas <adaplas@gmail.com> | 2007-08-02 06:16:46 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-08-02 11:08:27 -0400 |
commit | 59acc08fd95aefb5430458a08a82b15a4174ed74 (patch) | |
tree | 446a1712a99eb0485a60ca789c71757f6f436277 /arch/i386/boot | |
parent | 1ed4395035a6791ebbbf618429a58ab9c207cc83 (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/boot')
-rw-r--r-- | arch/i386/boot/video-vesa.c | 2 |
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 */ |