[syslinux:firmware] vesa: Make __vesacon_i915resolution() a stub under EFI

syslinux-bot for Matt Fleming matt.fleming at intel.com
Tue Jan 8 07:57:02 PST 2013


Commit-ID:  7eda4ce3c7ad2b3ea4ab104e007b3be30b33e4cf
Gitweb:     http://www.syslinux.org/commit/7eda4ce3c7ad2b3ea4ab104e007b3be30b33e4cf
Author:     Matt Fleming <matt.fleming at intel.com>
AuthorDate: Tue, 8 Jan 2013 13:19:36 +0000
Committer:  Matt Fleming <matt.fleming at intel.com>
CommitDate: Tue, 8 Jan 2013 15:49:02 +0000

vesa: Make __vesacon_i915resolution() a stub under EFI

We can't use the code in __vesacon_i915resolution() under EFI, it
leads to hangs. Provide a stub implementation in efi/vesa.c that just
returns an error.

We don't use the usual idiom of moving the function into the
'firmware' structure because that would require the i915 code to move
into the core/.

Signed-off-by: Matt Fleming <matt.fleming at intel.com>

---
 com32/lib/Makefile | 8 +++++++-
 efi/vesa.c         | 6 ++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/com32/lib/Makefile b/com32/lib/Makefile
index 95564b9..f83e817 100644
--- a/com32/lib/Makefile
+++ b/com32/lib/Makefile
@@ -22,11 +22,17 @@ LIBJPG_OBJS = \
 	jpeg/rgb24.o jpeg/bgr24.o jpeg/yuv420p.o jpeg/grey.o		\
 	jpeg/rgba32.o jpeg/bgra32.o					
 
+ifdef EFI_BUILD
+I915VESA_OBJ =
+else
+I915VESA_OBJ = sys/vesa/i915resolution.o
+endif
+
 LIBVESA_OBJS = \
 	sys/vesacon_write.o sys/vesaserial_write.o			\
 	sys/vesa/initvesa.o sys/vesa/drawtxt.o	sys/vesa/background.o	\
 	sys/vesa/alphatbl.o sys/vesa/screencpy.o sys/vesa/fmtpixel.o	\
-	sys/vesa/i915resolution.o
+	$(I915VESA_OBJ)
 
 LIBMISC_OBJS = \
 	sys/libansi.o sys/gpxe.o
diff --git a/efi/vesa.c b/efi/vesa.c
index 473d3a5..87308fd 100644
--- a/efi/vesa.c
+++ b/efi/vesa.c
@@ -299,6 +299,12 @@ static int efi_vesacon_font_query(uint8_t **font)
     return cp865_8x16_font_height;
 }
 
+int __vesacon_i915resolution(int x, int y)
+{
+	/* We don't support this function */
+	return 1;
+}
+
 struct vesa_ops efi_vesa_ops = {
 	.set_mode = efi_vesacon_set_mode,
 	.screencpy = efi_vesacon_screencpy,


More information about the Syslinux-commits mailing list