Also fix up the incorrect x86 prototype which is missing the volatile qualifier.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@ilande.co.uk --- arch/ppc/qemu/context.c | 1 - arch/sparc32/boot.h | 4 ---- arch/sparc64/boot.h | 4 ---- arch/x86/boot.h | 4 ---- arch/x86/context.c | 2 +- include/libopenbios/initprogram.h | 3 +++ 6 files changed, 4 insertions(+), 14 deletions(-)
diff --git a/arch/ppc/qemu/context.c b/arch/ppc/qemu/context.c index 6fbec17..cbf2380 100644 --- a/arch/ppc/qemu/context.c +++ b/arch/ppc/qemu/context.c @@ -32,7 +32,6 @@ static void start_main(void); /* forward decl. */ void __exit_context(void); /* assembly routine */
-unsigned int start_elf(unsigned long entry_point); void entry(void); void of_client_callback(void);
diff --git a/arch/sparc32/boot.h b/arch/sparc32/boot.h index 6aabba3..0001699 100644 --- a/arch/sparc32/boot.h +++ b/arch/sparc32/boot.h @@ -9,10 +9,6 @@ // linux_load.c int linux_load(struct sys_info *info, const char *file, const char *cmdline);
-// context.c -extern struct context * volatile __context; -unsigned int start_elf(unsigned long entry_point); - // boot.c extern const char *bootpath; extern void boot(void); diff --git a/arch/sparc64/boot.h b/arch/sparc64/boot.h index d7ca862..f7b739f 100644 --- a/arch/sparc64/boot.h +++ b/arch/sparc64/boot.h @@ -9,10 +9,6 @@ // linux_load.c int linux_load(struct sys_info *info, const char *file, const char *cmdline);
-// context.c -extern struct context * volatile __context; -unsigned int start_elf(unsigned long entry_point); - // boot.c extern uint64_t kernel_image; extern uint64_t kernel_size; diff --git a/arch/x86/boot.h b/arch/x86/boot.h index fff6719..94c37b5 100644 --- a/arch/x86/boot.h +++ b/arch/x86/boot.h @@ -9,10 +9,6 @@ /* linux_load.c */ int linux_load(struct sys_info *info, const char *file, const char *cmdline);
-/* context.c */ -extern struct context *__context; -unsigned int start_elf(unsigned long entry_point); - /* boot.c */ extern void boot(void); extern void go(void); diff --git a/arch/x86/context.c b/arch/x86/context.c index 17d4f0e..6bb2f69 100644 --- a/arch/x86/context.c +++ b/arch/x86/context.c @@ -45,7 +45,7 @@ static struct context main_ctx __attribute__((section (".initctx"))) = {
/* This is used by assembly routine to load/store the context which * it is to switch/switched. */ -struct context *__context = &main_ctx; +struct context * volatile __context = &main_ctx;
/* Client program context */ static struct context *client_ctx; diff --git a/include/libopenbios/initprogram.h b/include/libopenbios/initprogram.h index 406b84a..c42d956 100644 --- a/include/libopenbios/initprogram.h +++ b/include/libopenbios/initprogram.h @@ -17,6 +17,9 @@ #ifndef _H_INITPROGRAM #define _H_INITPROGRAM
+extern struct context * volatile __context; +extern unsigned int start_elf(unsigned long address); + extern int arch_init_program(void); extern void init_program(void);