path: root/efi/vesa.c
Commit message (Collapse)AuthorAgeFilesLines
* efi: Tag symbols with __exportMatt Fleming2013-06-211-1/+1
| | | | | | | I missed some symbols previously that are required to be exported when loading vesamenu.c32. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* efi: Fix build with gnu-efi >= 3.0sMatt Fleming2013-03-221-3/+1
| | | | | | | | | | | | | | | | | | | | For x86_64 versions of gnu-efi >= 3.0s GNU_EFI_USE_MS_ABI is enabled which turns on the Microsoft ABI, allowing the compiler to do all the work of interfacing with the EFI firmware instead of jumping through uefi_call_wrapper(). Add support to turn this on in the gnu-efi headers, otherwise we'll encounter undefined references to uefi_call_wrapper(). This addresses the simplest case assuming a distribution's gnu-efi was compiled with GNU_EFI_USE_MS_ABI. If you're compiling everything from source and you turn off GNU_EFI_USE_MS_ABI for gnu-efi, you'll also need to turn it off here. Cc: H. Peter Anvin <hpa@zytor.com> Cc: Nigel Croxon <nigel.croxon@hp.com> Cc: Peter Jones <pjones@redhat.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* Revert "vesa: Correct screencpy() prototype"Matt Fleming2013-01-111-1/+1
| | | | | | | | | | | | | | This reverts commit 15a67011987c341814533ac4d8e23c9a72dc7605, because as Peter points out, The objects are uint32_t and so the prototype is correct. It should not "leak" outside the screencpy function that we play ugly tricks with these pointers; that is better handled by an internal cast. So do the necessary casting inside bios_vesacon_screencpy(). Cc: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* vesa: Make __vesacon_i915resolution() a stub under EFIMatt Fleming2013-01-081-0/+6
| | | | | | | | | | | | 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@intel.com>
* sys/vesa: Modularise common vesa codeMatt Fleming2012-11-151-0/+306
There's lots of the vesa infrastructure that can be shared for both BIOS and EFI, so share the things that are common and split out the things that are not into firmware-specific functions and use the 'firmware' structure to access them. This commit is part of a series of changes that removes all EFI-specific code from everywhere except efi/, which means we can delete inclusion of any gnu-efi header files and remove gnu-efi paths from CFLAGS. Signed-off-by: Matt Fleming <matt.fleming@intel.com>