aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2020-04-27 21:08:02 +1000
committerOliver O'Halloran <oohall@gmail.com>2020-06-11 12:52:55 +1000
commit449e1052cbe1cd718b57d5f1e07fc6efa8c1f21d (patch)
treed0a0f278fe9c495777493aebc75a487e31e3fb0d /core
parent17adaebf855e5934ac882c309932c7d0fc41e704 (diff)
downloadskiboot-449e1052cbe1cd718b57d5f1e07fc6efa8c1f21d.zip
skiboot-449e1052cbe1cd718b57d5f1e07fc6efa8c1f21d.tar.gz
skiboot-449e1052cbe1cd718b57d5f1e07fc6efa8c1f21d.tar.bz2
fast-reboot: don't back up old vectors upon fast reboot
Initial boot already saved original exception vectors to old_vectors, copying again upon fast reboot will overwrite old_vectors with some arbitrary vectors set up by the current OS. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Diffstat (limited to 'core')
-rw-r--r--core/init.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/core/init.c b/core/init.c
index 9f3b8c6..07e3092 100644
--- a/core/init.c
+++ b/core/init.c
@@ -859,11 +859,6 @@ void copy_sreset_vector_fast_reboot(void)
void copy_exception_vectors(void)
{
- /* Backup previous vectors as this could contain a kernel
- * image.
- */
- memcpy_null(old_vectors, NULL, EXCEPTION_VECTORS_END);
-
/* Copy from 0x100 to EXCEPTION_VECTORS_END, avoid below 0x100 as
* this is the boot flag used by CPUs still potentially entering
* skiboot.
@@ -1021,6 +1016,11 @@ void __noreturn __nomcount main_cpu_entry(const void *fdt)
*/
clear_console();
+ /* Backup previous vectors as this could contain a kernel
+ * image.
+ */
+ memcpy_null(old_vectors, NULL, EXCEPTION_VECTORS_END);
+
/*
* Some boot firmwares enter OPAL with MSR[ME]=1, as they presumably
* handle machine checks until we take over. As we overwrite the