xen/efi: Set nonblocking callbacks
[linux-2.6-microblaze.git] / arch / x86 / xen / efi.c
index 1fbb629..7e3eb70 100644 (file)
@@ -65,7 +65,9 @@ static efi_system_table_t __init *xen_efi_probe(void)
        efi.get_variable             = xen_efi_get_variable;
        efi.get_next_variable        = xen_efi_get_next_variable;
        efi.set_variable             = xen_efi_set_variable;
+       efi.set_variable_nonblocking = xen_efi_set_variable;
        efi.query_variable_info      = xen_efi_query_variable_info;
+       efi.query_variable_info_nonblocking = xen_efi_query_variable_info;
        efi.update_capsule           = xen_efi_update_capsule;
        efi.query_capsule_caps       = xen_efi_query_capsule_caps;
        efi.get_next_high_mono_count = xen_efi_get_next_high_mono_count;
@@ -158,7 +160,7 @@ static enum efi_secureboot_mode xen_efi_get_secureboot(void)
        return efi_secureboot_mode_unknown;
 }
 
-void __init xen_efi_init(void)
+void __init xen_efi_init(struct boot_params *boot_params)
 {
        efi_system_table_t *efi_systab_xen;
 
@@ -167,12 +169,12 @@ void __init xen_efi_init(void)
        if (efi_systab_xen == NULL)
                return;
 
-       strncpy((char *)&boot_params.efi_info.efi_loader_signature, "Xen",
-                       sizeof(boot_params.efi_info.efi_loader_signature));
-       boot_params.efi_info.efi_systab = (__u32)__pa(efi_systab_xen);
-       boot_params.efi_info.efi_systab_hi = (__u32)(__pa(efi_systab_xen) >> 32);
+       strncpy((char *)&boot_params->efi_info.efi_loader_signature, "Xen",
+                       sizeof(boot_params->efi_info.efi_loader_signature));
+       boot_params->efi_info.efi_systab = (__u32)__pa(efi_systab_xen);
+       boot_params->efi_info.efi_systab_hi = (__u32)(__pa(efi_systab_xen) >> 32);
 
-       boot_params.secure_boot = xen_efi_get_secureboot();
+       boot_params->secure_boot = xen_efi_get_secureboot();
 
        set_bit(EFI_BOOT, &efi.flags);
        set_bit(EFI_PARAVIRT, &efi.flags);