This is the first cut checkin for GOP supporting the menu subsystem.
authorchandramouli narayanan <mouli@linux.intel.com>
Fri, 13 Jul 2012 17:43:32 +0000 (10:43 -0700)
committerchandramouli narayanan <mouli@linux.intel.com>
Fri, 13 Jul 2012 17:43:32 +0000 (10:43 -0700)
commitb21b8a48807b13eb1cefd94b4d7eea740c430801
tree5a096a5ad33f5be2e660b79e16b529c5651450be
parent16aba524b339a2b0c5f0514827a8329fd120be03
This is the first cut checkin for GOP supporting the menu subsystem.
For the initial cut, all of vesa code is dropped into vesa/efi with
code buildable for EFI with a build option. There is VESA only code
that is in the efi subdirectory as well that should go away eventually.
Other files not dependent on EFI or not relevant to EFI need to be
removed as well (e.g. i915resolution.c).

The crux of the code is in initvesa.c and screencpy.c. The GOP
initialization code sets up a matching graphics mode for the caller's
resolution needs. The VESA data structure is populated and mapped to
the EFI implementation as much as possible with some EFI extensions.
Since there is no way to query EFI for font, raw font data for
cp865_8x16 is added.

The code should build. Initial issues with testing the code are:
GOP mode on qemu-x86_64 does not match 640x480 and secondly
querying for the mode info on qemu fails. However, a simple program
querying GOP modes on efi64 platform works ok though. Testing the
resulting syslinux.efi on an efi64 platform does not seem to print output
other than in efi_main() routine . I suspect that it may be due to loading
failure or file system initialization. The issue does not show up on
qemu. In summary, there are issues on qemu and an efi64 platform that
need to be resolved.
14 files changed:
com32/lib/Makefile
com32/lib/sys/vesa/efi/background.c [new file with mode: 0644]
com32/lib/sys/vesa/efi/cp865_8x16.h [new file with mode: 0644]
com32/lib/sys/vesa/efi/debug.h [new file with mode: 0644]
com32/lib/sys/vesa/efi/drawtxt.c [new file with mode: 0644]
com32/lib/sys/vesa/efi/fill.h [new file with mode: 0644]
com32/lib/sys/vesa/efi/fmtpixel.c [new file with mode: 0644]
com32/lib/sys/vesa/efi/i915resolution.c [new file with mode: 0644]
com32/lib/sys/vesa/efi/initvesa.c [new file with mode: 0644]
com32/lib/sys/vesa/efi/screencpy.c [new file with mode: 0644]
com32/lib/sys/vesa/efi/vesa.h [new file with mode: 0644]
com32/lib/sys/vesa/efi/video.h [new file with mode: 0644]
com32/lib/sys/vesacon_write.c
com32/menu/Makefile