The EFI-runtime mapping code changed a larger memory area than it
should have, due to a pages/bytes parameter mixup.
noticed by Andi Kleen.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
                if (md->type != EFI_RUNTIME_SERVICES_CODE)
                        continue;
 
-               set_memory_x(md->virt_addr, md->num_pages << EFI_PAGE_SHIFT);
+               set_memory_x(md->virt_addr, md->num_pages);
        }
 }
 
                }
 
                if (!(md->attribute & EFI_MEMORY_WB))
-                       set_memory_uc(md->virt_addr, size);
+                       set_memory_uc(md->virt_addr, md->num_pages);
 
                systab = (u64) (unsigned long) efi_phys.systab;
                if (md->phys_addr <= systab && systab < end) {