[coreboot-gerrit] Patch set updated for coreboot: arch: remove stage_exit()
Aaron Durbin (adurbin@chromium.org)
gerrit at coreboot.org
Thu Feb 11 21:26:07 CET 2016
Aaron Durbin (adurbin at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13678
-gerrit
commit 497b6c057a3f6843cfb03eb07be5fadb849b4e77
Author: Aaron Durbin <adurbin at chromium.org>
Date: Wed Feb 10 22:54:07 2016 -0600
arch: remove stage_exit()
It's no longer used. Remove it.
Change-Id: Id6f4084ab9d671e94f0eee76bf36fad9a174ef14
Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
src/arch/arm/include/arch/stages.h | 1 -
src/arch/arm/stages.c | 16 ----------------
src/arch/arm64/include/arch/stages.h | 1 -
src/arch/mips/include/arch/stages.h | 1 -
src/arch/mips/stages.c | 6 ------
src/arch/riscv/include/arch/stages.h | 1 -
src/arch/riscv/stages.c | 16 ----------------
src/arch/x86/include/arch/stages.h | 11 -----------
8 files changed, 53 deletions(-)
diff --git a/src/arch/arm/include/arch/stages.h b/src/arch/arm/include/arch/stages.h
index ef4658e..2d20604 100644
--- a/src/arch/arm/include/arch/stages.h
+++ b/src/arch/arm/include/arch/stages.h
@@ -19,6 +19,5 @@
extern void main(void);
void stage_entry(void);
-void stage_exit(void *);
#endif
diff --git a/src/arch/arm/stages.c b/src/arch/arm/stages.c
index 6e5b8cd..2beaacd 100644
--- a/src/arch/arm/stages.c
+++ b/src/arch/arm/stages.c
@@ -34,19 +34,3 @@ __attribute__((weak)) void stage_entry(void)
{
main();
}
-
-/* we had marked 'doit' as 'noreturn'.
- * There is no apparent harm in leaving it as something we can return from, and in the one
- * case where we call a payload, the payload is allowed to return.
- * Hence, leave it as something we can return from.
- */
-void stage_exit(void *addr)
-{
- void (*doit)(void) = addr;
- /*
- * Most stages load code so we need to sync caches here. Should maybe
- * go into cbfs_load_stage() instead...
- */
- cache_sync_instructions();
- doit();
-}
diff --git a/src/arch/arm64/include/arch/stages.h b/src/arch/arm64/include/arch/stages.h
index 6dbf389..3a3f56e 100644
--- a/src/arch/arm64/include/arch/stages.h
+++ b/src/arch/arm64/include/arch/stages.h
@@ -21,7 +21,6 @@
extern void main(void);
void stage_entry(void);
-void stage_exit(void *);
void jmp_to_elf_entry(void *entry, unsigned long buffer, unsigned long size);
#endif
diff --git a/src/arch/mips/include/arch/stages.h b/src/arch/mips/include/arch/stages.h
index 71132e3..664c136 100644
--- a/src/arch/mips/include/arch/stages.h
+++ b/src/arch/mips/include/arch/stages.h
@@ -19,6 +19,5 @@
extern void main(void);
void stage_entry(void);
-void stage_exit(void *);
#endif /* __MIPS_ARCH_STAGES_H */
diff --git a/src/arch/mips/stages.c b/src/arch/mips/stages.c
index 54df792..e940faa 100644
--- a/src/arch/mips/stages.c
+++ b/src/arch/mips/stages.c
@@ -20,9 +20,3 @@ void stage_entry(void)
{
main();
}
-
-void stage_exit(void *addr)
-{
- void (*doit)(void) = addr;
- doit();
-}
diff --git a/src/arch/riscv/include/arch/stages.h b/src/arch/riscv/include/arch/stages.h
index d07983e..9e2a378 100644
--- a/src/arch/riscv/include/arch/stages.h
+++ b/src/arch/riscv/include/arch/stages.h
@@ -19,7 +19,6 @@
extern void main(void);
void stage_entry(void) __attribute__((section(".text.stage_entry")));
-void stage_exit(void *);
void jmp_to_elf_entry(void *entry, unsigned long buffer, unsigned long size);
#endif
diff --git a/src/arch/riscv/stages.c b/src/arch/riscv/stages.c
index a3a5e02..053fd76 100644
--- a/src/arch/riscv/stages.c
+++ b/src/arch/riscv/stages.c
@@ -30,19 +30,3 @@ void stage_entry(void)
{
main();
}
-
-/* we had marked 'doit' as 'noreturn'.
- * There is no apparent harm in leaving it as something we can return from, and in the one
- * case where we call a payload, the payload is allowed to return.
- * Hence, leave it as something we can return from.
- */
-void stage_exit(void *addr)
-{
- void (*doit)(void) = addr;
- /*
- * Most stages load code so we need to sync caches here. Should maybe
- * go into cbfs_load_stage() instead...
- */
- //cache_sync_instructions();
- doit();
-}
diff --git a/src/arch/x86/include/arch/stages.h b/src/arch/x86/include/arch/stages.h
index 6f68326..49921ae 100644
--- a/src/arch/x86/include/arch/stages.h
+++ b/src/arch/x86/include/arch/stages.h
@@ -20,15 +20,4 @@
void asmlinkage copy_and_run(void);
-static inline void stage_exit(void *entry)
-{
- __asm__ volatile (
-#ifdef __x86_64__
- "jmp *%%rdi\n"
-#else
- "jmp *%%edi\n"
-#endif
- :: "D"(entry)
- );
-}
#endif
More information about the coreboot-gerrit
mailing list