Message ID | 1403792617-25792-3-git-send-email-ard.biesheuvel@linaro.org |
---|---|
State | Superseded |
Headers | show |
On Thu, 2014-06-26 at 16:23 +0200, Ard Biesheuvel wrote: > This moves definitions depended upon both by code under arch/x86/boot and > under drivers/firmware/efi to <asm/efi.h>. This is in preparation of turning > the stub code under drivers/firmware/efi into a static library. > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > --- > arch/x86/boot/compressed/eboot.c | 5 +---- > arch/x86/boot/compressed/eboot.h | 16 ---------------- > arch/x86/include/asm/efi.h | 25 +++++++++++++++++++++++++ > 3 files changed, 26 insertions(+), 20 deletions(-) > > diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c > index 0331d765c2bb..2fd5e2643623 100644 > --- a/arch/x86/boot/compressed/eboot.c > +++ b/arch/x86/boot/compressed/eboot.c > @@ -19,10 +19,7 @@ > > static efi_system_table_t *sys_table; > > -static struct efi_config *efi_early; > - > -#define efi_call_early(f, ...) \ > - efi_early->call(efi_early->f, __VA_ARGS__); > +struct efi_config *efi_early; > > #define BOOT_SERVICES(bits) \ > static void setup_boot_services##bits(struct efi_config *c) \ > diff --git a/arch/x86/boot/compressed/eboot.h b/arch/x86/boot/compressed/eboot.h > index c88c31ecad12..d487e727f1ec 100644 > --- a/arch/x86/boot/compressed/eboot.h > +++ b/arch/x86/boot/compressed/eboot.h > @@ -103,20 +103,4 @@ struct efi_uga_draw_protocol { > void *blt; > }; > > -struct efi_config { > - u64 image_handle; > - u64 table; > - u64 allocate_pool; > - u64 allocate_pages; > - u64 get_memory_map; > - u64 free_pool; > - u64 free_pages; > - u64 locate_handle; > - u64 handle_protocol; > - u64 exit_boot_services; > - u64 text_output; > - efi_status_t (*call)(unsigned long, ...); > - bool is64; > -} __packed; > - > #endif /* BOOT_COMPRESSED_EBOOT_H */ > diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h > index 1eb5f6433ad8..55059a50a01f 100644 > --- a/arch/x86/include/asm/efi.h > +++ b/arch/x86/include/asm/efi.h > @@ -156,6 +156,31 @@ static inline efi_status_t efi_thunk_set_virtual_address_map( > return EFI_SUCCESS; > } > #endif /* CONFIG_EFI_MIXED */ > + > + > +/* arch specific definitions used by the stub code */ > + > +struct efi_config { > + u64 image_handle; > + u64 table; > + u64 allocate_pool; > + u64 allocate_pages; > + u64 get_memory_map; > + u64 free_pool; > + u64 free_pages; > + u64 locate_handle; > + u64 handle_protocol; > + u64 exit_boot_services; > + u64 text_output; > + efi_status_t (*call)(unsigned long, ...); > + bool is64; > +} __packed; > + > +extern struct efi_config *efi_early; > + > +#define efi_call_early(f, ...) \ > + efi_early->call(efi_early->f, __VA_ARGS__); That shouldn't have the trailing ; > + > #else > /* > * IF EFI is not configured, have the EFI calls return -ENOSYS.
On 2 July 2014 14:59, Mark Salter <msalter@redhat.com> wrote: > On Thu, 2014-06-26 at 16:23 +0200, Ard Biesheuvel wrote: >> This moves definitions depended upon both by code under arch/x86/boot and >> under drivers/firmware/efi to <asm/efi.h>. This is in preparation of turning >> the stub code under drivers/firmware/efi into a static library. >> >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> >> --- >> arch/x86/boot/compressed/eboot.c | 5 +---- >> arch/x86/boot/compressed/eboot.h | 16 ---------------- >> arch/x86/include/asm/efi.h | 25 +++++++++++++++++++++++++ >> 3 files changed, 26 insertions(+), 20 deletions(-) >> >> diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c >> index 0331d765c2bb..2fd5e2643623 100644 >> --- a/arch/x86/boot/compressed/eboot.c >> +++ b/arch/x86/boot/compressed/eboot.c >> @@ -19,10 +19,7 @@ >> >> static efi_system_table_t *sys_table; >> >> -static struct efi_config *efi_early; >> - >> -#define efi_call_early(f, ...) \ >> - efi_early->call(efi_early->f, __VA_ARGS__); >> +struct efi_config *efi_early; >> >> #define BOOT_SERVICES(bits) \ >> static void setup_boot_services##bits(struct efi_config *c) \ >> diff --git a/arch/x86/boot/compressed/eboot.h b/arch/x86/boot/compressed/eboot.h >> index c88c31ecad12..d487e727f1ec 100644 >> --- a/arch/x86/boot/compressed/eboot.h >> +++ b/arch/x86/boot/compressed/eboot.h >> @@ -103,20 +103,4 @@ struct efi_uga_draw_protocol { >> void *blt; >> }; >> >> -struct efi_config { >> - u64 image_handle; >> - u64 table; >> - u64 allocate_pool; >> - u64 allocate_pages; >> - u64 get_memory_map; >> - u64 free_pool; >> - u64 free_pages; >> - u64 locate_handle; >> - u64 handle_protocol; >> - u64 exit_boot_services; >> - u64 text_output; >> - efi_status_t (*call)(unsigned long, ...); >> - bool is64; >> -} __packed; >> - >> #endif /* BOOT_COMPRESSED_EBOOT_H */ >> diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h >> index 1eb5f6433ad8..55059a50a01f 100644 >> --- a/arch/x86/include/asm/efi.h >> +++ b/arch/x86/include/asm/efi.h >> @@ -156,6 +156,31 @@ static inline efi_status_t efi_thunk_set_virtual_address_map( >> return EFI_SUCCESS; >> } >> #endif /* CONFIG_EFI_MIXED */ >> + >> + >> +/* arch specific definitions used by the stub code */ >> + >> +struct efi_config { >> + u64 image_handle; >> + u64 table; >> + u64 allocate_pool; >> + u64 allocate_pages; >> + u64 get_memory_map; >> + u64 free_pool; >> + u64 free_pages; >> + u64 locate_handle; >> + u64 handle_protocol; >> + u64 exit_boot_services; >> + u64 text_output; >> + efi_status_t (*call)(unsigned long, ...); >> + bool is64; >> +} __packed; >> + >> +extern struct efi_config *efi_early; >> + >> +#define efi_call_early(f, ...) \ >> + efi_early->call(efi_early->f, __VA_ARGS__); > > That shouldn't have the trailing ; > Hmm, perhaps not. This patch just moves stuff around, so fixing this should probably be done in a separate patch.
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c index 0331d765c2bb..2fd5e2643623 100644 --- a/arch/x86/boot/compressed/eboot.c +++ b/arch/x86/boot/compressed/eboot.c @@ -19,10 +19,7 @@ static efi_system_table_t *sys_table; -static struct efi_config *efi_early; - -#define efi_call_early(f, ...) \ - efi_early->call(efi_early->f, __VA_ARGS__); +struct efi_config *efi_early; #define BOOT_SERVICES(bits) \ static void setup_boot_services##bits(struct efi_config *c) \ diff --git a/arch/x86/boot/compressed/eboot.h b/arch/x86/boot/compressed/eboot.h index c88c31ecad12..d487e727f1ec 100644 --- a/arch/x86/boot/compressed/eboot.h +++ b/arch/x86/boot/compressed/eboot.h @@ -103,20 +103,4 @@ struct efi_uga_draw_protocol { void *blt; }; -struct efi_config { - u64 image_handle; - u64 table; - u64 allocate_pool; - u64 allocate_pages; - u64 get_memory_map; - u64 free_pool; - u64 free_pages; - u64 locate_handle; - u64 handle_protocol; - u64 exit_boot_services; - u64 text_output; - efi_status_t (*call)(unsigned long, ...); - bool is64; -} __packed; - #endif /* BOOT_COMPRESSED_EBOOT_H */ diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h index 1eb5f6433ad8..55059a50a01f 100644 --- a/arch/x86/include/asm/efi.h +++ b/arch/x86/include/asm/efi.h @@ -156,6 +156,31 @@ static inline efi_status_t efi_thunk_set_virtual_address_map( return EFI_SUCCESS; } #endif /* CONFIG_EFI_MIXED */ + + +/* arch specific definitions used by the stub code */ + +struct efi_config { + u64 image_handle; + u64 table; + u64 allocate_pool; + u64 allocate_pages; + u64 get_memory_map; + u64 free_pool; + u64 free_pages; + u64 locate_handle; + u64 handle_protocol; + u64 exit_boot_services; + u64 text_output; + efi_status_t (*call)(unsigned long, ...); + bool is64; +} __packed; + +extern struct efi_config *efi_early; + +#define efi_call_early(f, ...) \ + efi_early->call(efi_early->f, __VA_ARGS__); + #else /* * IF EFI is not configured, have the EFI calls return -ENOSYS.
This moves definitions depended upon both by code under arch/x86/boot and under drivers/firmware/efi to <asm/efi.h>. This is in preparation of turning the stub code under drivers/firmware/efi into a static library. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- arch/x86/boot/compressed/eboot.c | 5 +---- arch/x86/boot/compressed/eboot.h | 16 ---------------- arch/x86/include/asm/efi.h | 25 +++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 20 deletions(-)