summaryrefslogtreecommitdiffstats
path: root/efi-dont-map-boot-services-on-32bit.patch
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@redhat.com>2011-08-16 10:28:25 -0400
committerJosh Boyer <jwboyer@redhat.com>2011-08-16 10:31:40 -0400
commitbc12142e94b6bc3c20e422e596cff4d0426c3be7 (patch)
tree39eaaae2dd0d0cfd3eb3521abd6428e40f05645a /efi-dont-map-boot-services-on-32bit.patch
parent8ffa0afd4c9c71c3ee7ed3b8310bada71259173a (diff)
downloadkernel-bc12142e94b6bc3c20e422e596cff4d0426c3be7.tar.gz
kernel-bc12142e94b6bc3c20e422e596cff4d0426c3be7.tar.xz
kernel-bc12142e94b6bc3c20e422e596cff4d0426c3be7.zip
Add a few patches that were in f16 but not in rawhide
Diffstat (limited to 'efi-dont-map-boot-services-on-32bit.patch')
-rw-r--r--efi-dont-map-boot-services-on-32bit.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/efi-dont-map-boot-services-on-32bit.patch b/efi-dont-map-boot-services-on-32bit.patch
new file mode 100644
index 000000000..7cc614992
--- /dev/null
+++ b/efi-dont-map-boot-services-on-32bit.patch
@@ -0,0 +1,22 @@
+diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
+index 3ae4128..ff7dc70 100644
+--- a/arch/x86/platform/efi/efi.c
++++ b/arch/x86/platform/efi/efi.c
+@@ -659,10 +659,13 @@ void __init efi_enter_virtual_mode(void)
+
+ for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
+ md = p;
+- if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
+- md->type != EFI_BOOT_SERVICES_CODE &&
+- md->type != EFI_BOOT_SERVICES_DATA)
+- continue;
++ if (!(md->attribute & EFI_MEMORY_RUNTIME)) {
++#ifdef CONFIG_X86_64
++ if (md->type != EFI_BOOT_SERVICES_CODE &&
++ md->type != EFI_BOOT_SERVICES_DATA)
++#endif
++ continue;
++ }
+
+ size = md->num_pages << EFI_PAGE_SHIFT;
+ end = md->phys_addr + size;