aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/efi.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/include/asm/efi.h')
-rw-r--r--arch/arm/include/asm/efi.h37
1 files changed, 20 insertions, 17 deletions
diff --git a/arch/arm/include/asm/efi.h b/arch/arm/include/asm/efi.h
index e0eea72deb87..a708fa1f0905 100644
--- a/arch/arm/include/asm/efi.h
+++ b/arch/arm/include/asm/efi.h
@@ -17,34 +17,28 @@
17#include <asm/mach/map.h> 17#include <asm/mach/map.h>
18#include <asm/mmu_context.h> 18#include <asm/mmu_context.h>
19#include <asm/pgtable.h> 19#include <asm/pgtable.h>
20#include <asm/ptrace.h>
20 21
21#ifdef CONFIG_EFI 22#ifdef CONFIG_EFI
22void efi_init(void); 23void efi_init(void);
23 24
24int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md); 25int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md);
26int efi_set_mapping_permissions(struct mm_struct *mm, efi_memory_desc_t *md);
25 27
26#define efi_call_virt(f, ...) \ 28#define arch_efi_call_virt_setup() efi_virtmap_load()
27({ \ 29#define arch_efi_call_virt_teardown() efi_virtmap_unload()
28 efi_##f##_t *__f; \
29 efi_status_t __s; \
30 \
31 efi_virtmap_load(); \
32 __f = efi.systab->runtime->f; \
33 __s = __f(__VA_ARGS__); \
34 efi_virtmap_unload(); \
35 __s; \
36})
37 30
38#define __efi_call_virt(f, ...) \ 31#define arch_efi_call_virt(f, args...) \
39({ \ 32({ \
40 efi_##f##_t *__f; \ 33 efi_##f##_t *__f; \
41 \
42 efi_virtmap_load(); \
43 __f = efi.systab->runtime->f; \ 34 __f = efi.systab->runtime->f; \
44 __f(__VA_ARGS__); \ 35 __f(args); \
45 efi_virtmap_unload(); \
46}) 36})
47 37
38#define ARCH_EFI_IRQ_FLAGS_MASK \
39 (PSR_J_BIT | PSR_E_BIT | PSR_A_BIT | PSR_I_BIT | PSR_F_BIT | \
40 PSR_T_BIT | MODE_MASK)
41
48static inline void efi_set_pgd(struct mm_struct *mm) 42static inline void efi_set_pgd(struct mm_struct *mm)
49{ 43{
50 check_and_switch_context(mm, NULL); 44 check_and_switch_context(mm, NULL);
@@ -59,7 +53,16 @@ void efi_virtmap_unload(void);
59 53
60/* arch specific definitions used by the stub code */ 54/* arch specific definitions used by the stub code */
61 55
62#define efi_call_early(f, ...) sys_table_arg->boottime->f(__VA_ARGS__) 56#define efi_call_early(f, ...) sys_table_arg->boottime->f(__VA_ARGS__)
57#define __efi_call_early(f, ...) f(__VA_ARGS__)
58#define efi_is_64bit() (false)
59
60struct screen_info *alloc_screen_info(efi_system_table_t *sys_table_arg);
61void free_screen_info(efi_system_table_t *sys_table, struct screen_info *si);
62
63static inline void efifb_setup_from_dmi(struct screen_info *si, const char *opt)
64{
65}
63 66
64/* 67/*
65 * A reasonable upper bound for the uncompressed kernel size is 32 MBytes, 68 * A reasonable upper bound for the uncompressed kernel size is 32 MBytes,