efi/arm64: Preserve FP/SIMD registers on UEFI runtime services calls
[linux-2.6-block.git] / arch / arm64 / include / asm / efi.h
CommitLineData
f84d0275
MS
1#ifndef _ASM_EFI_H
2#define _ASM_EFI_H
3
4#include <asm/io.h>
e15dd494 5#include <asm/neon.h>
f84d0275
MS
6
7#ifdef CONFIG_EFI
8extern void efi_init(void);
9extern void efi_idmap_init(void);
10#else
11#define efi_init()
12#define efi_idmap_init()
13#endif
14
e15dd494
AB
15#define efi_call_virt(f, ...) \
16({ \
17 efi_##f##_t *__f = efi.systab->runtime->f; \
18 efi_status_t __s; \
19 \
20 kernel_neon_begin(); \
21 __s = __f(__VA_ARGS__); \
22 kernel_neon_end(); \
23 __s; \
24})
25
26#define __efi_call_virt(f, ...) \
27({ \
28 efi_##f##_t *__f = efi.systab->runtime->f; \
29 \
30 kernel_neon_begin(); \
31 __f(__VA_ARGS__); \
32 kernel_neon_end(); \
33})
34
f84d0275 35#endif /* _ASM_EFI_H */