|
@@ -16,28 +16,21 @@ int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md);
|
|
|
|
|
|
#define efi_set_mapping_permissions efi_create_mapping
|
|
|
|
|
|
-#define efi_call_virt(f, ...) \
|
|
|
+#define arch_efi_call_virt_setup() \
|
|
|
({ \
|
|
|
- efi_##f##_t *__f; \
|
|
|
- efi_status_t __s; \
|
|
|
- \
|
|
|
kernel_neon_begin(); \
|
|
|
efi_virtmap_load(); \
|
|
|
- __f = efi.systab->runtime->f; \
|
|
|
- __s = __f(__VA_ARGS__); \
|
|
|
- efi_virtmap_unload(); \
|
|
|
- kernel_neon_end(); \
|
|
|
- __s; \
|
|
|
})
|
|
|
|
|
|
-#define __efi_call_virt(f, ...) \
|
|
|
+#define arch_efi_call_virt(f, args...) \
|
|
|
({ \
|
|
|
efi_##f##_t *__f; \
|
|
|
- \
|
|
|
- kernel_neon_begin(); \
|
|
|
- efi_virtmap_load(); \
|
|
|
__f = efi.systab->runtime->f; \
|
|
|
- __f(__VA_ARGS__); \
|
|
|
+ __f(args); \
|
|
|
+})
|
|
|
+
|
|
|
+#define arch_efi_call_virt_teardown() \
|
|
|
+({ \
|
|
|
efi_virtmap_unload(); \
|
|
|
kernel_neon_end(); \
|
|
|
})
|