efi_loader: efi variable support
[oweals/u-boot.git] / lib / efi_loader / efi_runtime.c
index 47b03763c8edf6135f5b71b9b5ac4cb343bd9f0f..8104e08c466ca1853bcc6461cb696c99b15814b7 100644 (file)
@@ -184,7 +184,16 @@ static const struct efi_runtime_detach_list_struct efi_runtime_detach_list[] = {
                /* Clean up system table */
                .ptr = &systab.boottime,
                .patchto = NULL,
-       },
+       }, {
+               .ptr = &efi_runtime_services.get_variable,
+               .patchto = &efi_device_error,
+       }, {
+               .ptr = &efi_runtime_services.get_next_variable,
+               .patchto = &efi_device_error,
+       }, {
+               .ptr = &efi_runtime_services.set_variable,
+               .patchto = &efi_device_error,
+       }
 };
 
 static bool efi_runtime_tobedetached(void *p)
@@ -384,9 +393,9 @@ struct efi_runtime_services __efi_runtime_data efi_runtime_services = {
        .set_wakeup_time = (void *)&efi_unimplemented,
        .set_virtual_address_map = &efi_set_virtual_address_map,
        .convert_pointer = (void *)&efi_invalid_parameter,
-       .get_variable = (void *)&efi_device_error,
-       .get_next_variable = (void *)&efi_device_error,
-       .set_variable = (void *)&efi_device_error,
+       .get_variable = efi_get_variable,
+       .get_next_variable = efi_get_next_variable,
+       .set_variable = efi_set_variable,
        .get_next_high_mono_count = (void *)&efi_device_error,
        .reset_system = &efi_reset_system_boottime,
 };