diff options
author | Justin M. Forbes <jforbes@redhat.com> | 2012-10-05 11:05:47 -0500 |
---|---|---|
committer | Justin M. Forbes <jforbes@redhat.com> | 2012-10-05 11:05:47 -0500 |
commit | bf6e2f44b95e1eb4fdfd50111a10a896f4fe82f1 (patch) | |
tree | 897f2b20cc1d849e0f4a54daca49b2d09254fc67 /handle-efi-roms.patch | |
parent | 1ae0b0fe93f0c4e6166fc45a7d43a2d0bffd51fc (diff) | |
download | kernel-bf6e2f44b95e1eb4fdfd50111a10a896f4fe82f1.tar.gz kernel-bf6e2f44b95e1eb4fdfd50111a10a896f4fe82f1.tar.xz kernel-bf6e2f44b95e1eb4fdfd50111a10a896f4fe82f1.zip |
Fix handle-efi-roms.patch
Diffstat (limited to 'handle-efi-roms.patch')
-rw-r--r-- | handle-efi-roms.patch | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/handle-efi-roms.patch b/handle-efi-roms.patch index 7f02a1c3d..bc080542b 100644 --- a/handle-efi-roms.patch +++ b/handle-efi-roms.patch @@ -131,62 +131,6 @@ diff -ur linux-3.6.0-0.rc2.git2.1.fc18.x86_64/arch/x86/boot/compressed/eboot.c . /* * See if we have Graphics Output Protocol */ -@@ -276,8 +392,9 @@ - nr_gops = size / sizeof(void *); - for (i = 0; i < nr_gops; i++) { - struct efi_graphics_output_mode_info *info; -- efi_guid_t pciio_proto = EFI_PCI_IO_PROTOCOL_GUID; -- void *pciio; -+ efi_guid_t conout_proto = EFI_CONSOLE_OUT_DEVICE_GUID; -+ bool conout_found = false; -+ void *dummy; - void *h = gop_handle[i]; - - status = efi_call_phys3(sys_table->boottime->handle_protocol, -@@ -285,19 +402,21 @@ - if (status != EFI_SUCCESS) - continue; - -- efi_call_phys3(sys_table->boottime->handle_protocol, -- h, &pciio_proto, &pciio); -+ status = efi_call_phys3(sys_table->boottime->handle_protocol, -+ h, &conout_proto, &dummy); -+ -+ if (status == EFI_SUCCESS) -+ conout_found = true; - - status = efi_call_phys4(gop->query_mode, gop, - gop->mode->mode, &size, &info); -- if (status == EFI_SUCCESS && (!first_gop || pciio)) { -+ if (status == EFI_SUCCESS && (!first_gop || conout_found)) { - /* -- * Apple provide GOPs that are not backed by -- * real hardware (they're used to handle -- * multiple displays). The workaround is to -- * search for a GOP implementing the PCIIO -- * protocol, and if one isn't found, to just -- * fallback to the first GOP. -+ * Systems that use the UEFI Console Splitter may -+ * provide multiple GOP devices, not all of which are -+ * backed by real hardware. The workaround is to search -+ * for a GOP implementing the ConOut protocol, and if -+ * one isn't found, to just fall back to the first GOP. - */ - width = info->horizontal_resolution; - height = info->vertical_resolution; -@@ -308,10 +427,10 @@ - pixels_per_scan_line = info->pixels_per_scan_line; - - /* -- * Once we've found a GOP supporting PCIIO, -+ * Once we've found a GOP supporting ConOut, - * don't bother looking any further. - */ -- if (pciio) -+ if (conout_found) - break; - - first_gop = gop; @@ -1052,6 +1171,8 @@ setup_graphics(boot_params); @@ -196,20 +140,6 @@ diff -ur linux-3.6.0-0.rc2.git2.1.fc18.x86_64/arch/x86/boot/compressed/eboot.c . status = efi_call_phys3(sys_table->boottime->allocate_pool, EFI_LOADER_DATA, sizeof(*gdt), (void **)&gdt); -diff -ur linux-3.6.0-0.rc2.git2.1.fc18.x86_64/arch/x86/boot/compressed/eboot.h ../kernel-3.5.fc18.bak/linux-3.6.0-0.rc2.git2.1.fc18.x86_64/arch/x86/boot/compressed/eboot.h ---- linux-3.6.0-0.rc2.git2.1.fc18.x86_64/arch/x86/boot/compressed/eboot.h 2012-07-21 16:58:29.000000000 -0400 -+++ ../kernel-3.5.fc18.bak/linux-3.6.0-0.rc2.git2.1.fc18.x86_64/arch/x86/boot/compressed/eboot.h 2012-08-22 15:25:40.530244882 -0400 -@@ -14,6 +14,10 @@ - #define EFI_PAGE_SIZE (1UL << EFI_PAGE_SHIFT) - #define EFI_READ_CHUNK_SIZE (1024 * 1024) - -+#define EFI_CONSOLE_OUT_DEVICE_GUID \ -+ EFI_GUID( 0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x0, 0x90, 0x27, \ -+ 0x3f, 0xc1, 0x4d ) -+ - #define PIXEL_RGB_RESERVED_8BIT_PER_COLOR 0 - #define PIXEL_BGR_RESERVED_8BIT_PER_COLOR 1 - #define PIXEL_BIT_MASK 2 diff -ur linux-3.6.0-0.rc2.git2.1.fc18.x86_64/arch/x86/include/asm/bootparam.h ../kernel-3.5.fc18.bak/linux-3.6.0-0.rc2.git2.1.fc18.x86_64/arch/x86/include/asm/bootparam.h --- linux-3.6.0-0.rc2.git2.1.fc18.x86_64/arch/x86/include/asm/bootparam.h 2012-08-22 15:26:32.485522068 -0400 +++ ../kernel-3.5.fc18.bak/linux-3.6.0-0.rc2.git2.1.fc18.x86_64/arch/x86/include/asm/bootparam.h 2012-08-22 15:25:40.530244882 -0400 |