]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/efi_32.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / efi_32.c
index 2452c6fbe9927bf34e804ade8e65b2a48b1927b8..e2be78f49399b7161a3c51783fda97d4c87467bb 100644 (file)
@@ -331,11 +331,13 @@ void __init efi_init(void)
        memset(&efi, 0, sizeof(efi) );
        memset(&efi_phys, 0, sizeof(efi_phys));
 
-       efi_phys.systab = EFI_SYSTAB;
-       memmap.phys_map = EFI_MEMMAP;
-       memmap.nr_map = EFI_MEMMAP_SIZE/EFI_MEMDESC_SIZE;
-       memmap.desc_version = EFI_MEMDESC_VERSION;
-       memmap.desc_size = EFI_MEMDESC_SIZE;
+       efi_phys.systab =
+               (efi_system_table_t *)boot_params.efi_info.efi_systab;
+       memmap.phys_map = (void *)boot_params.efi_info.efi_memmap;
+       memmap.nr_map = boot_params.efi_info.efi_memmap_size/
+               boot_params.efi_info.efi_memdesc_size;
+       memmap.desc_version = boot_params.efi_info.efi_memdesc_version;
+       memmap.desc_size = boot_params.efi_info.efi_memdesc_size;
 
        efi.systab = (efi_system_table_t *)
                boot_ioremap((unsigned long) efi_phys.systab,
@@ -446,7 +448,8 @@ void __init efi_init(void)
                printk(KERN_ERR PFX "Could not map the runtime service table!\n");
 
        /* Map the EFI memory map for use until paging_init() */
-       memmap.map = boot_ioremap((unsigned long) EFI_MEMMAP, EFI_MEMMAP_SIZE);
+       memmap.map = boot_ioremap(boot_params.efi_info.efi_memmap,
+                                 boot_params.efi_info.efi_memmap_size);
        if (memmap.map == NULL)
                printk(KERN_ERR PFX "Could not map the EFI memory map!\n");
 
@@ -600,7 +603,8 @@ void __init efi_enter_virtual_mode(void)
 
 void __init
 efi_initialize_iomem_resources(struct resource *code_resource,
-                              struct resource *data_resource)
+                              struct resource *data_resource,
+                              struct resource *bss_resource)
 {
        struct resource *res;
        efi_memory_desc_t *md;
@@ -672,6 +676,7 @@ efi_initialize_iomem_resources(struct resource *code_resource,
                if (md->type == EFI_CONVENTIONAL_MEMORY) {
                        request_resource(res, code_resource);
                        request_resource(res, data_resource);
+                       request_resource(res, bss_resource);
 #ifdef CONFIG_KEXEC
                        request_resource(res, &crashk_res);
 #endif