diff options
Diffstat (limited to 'src/usr')
| -rw-r--r-- | src/usr/initservice/baseinitsvc/initservice.C | 15 | ||||
| -rw-r--r-- | src/usr/initservice/baseinitsvc/makefile | 6 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/usr/initservice/baseinitsvc/initservice.C b/src/usr/initservice/baseinitsvc/initservice.C index 2f88aa723..f62e49264 100644 --- a/src/usr/initservice/baseinitsvc/initservice.C +++ b/src/usr/initservice/baseinitsvc/initservice.C @@ -33,6 +33,9 @@ #define __HIDDEN_SYSCALL_SHUTDOWN #include <kernel/console.H> // printk status +#include <kernel/terminate.H> // termWriteSRC +#include <kernel/hbterminatetypes.H> // TI_SHUTDOWN +#include <builtins.h> // linkRegister #include <sys/vfs.h> #include <vfs/vfs.H> @@ -667,6 +670,11 @@ void doShutdown(uint64_t i_status, uint64_t i_masterHBInstance, uint32_t i_error_info) { + termWriteSRC(TI_SHUTDOWN, + i_status, + reinterpret_cast<uint64_t>(linkRegister()), + i_error_info); + class ShutdownExecute { public: @@ -886,6 +894,13 @@ void InitService::doShutdown(uint64_t i_status, TRACFCOMP(g_trac_initsvc, "doShutdown> Final status=%.16X",worst_status); MAGIC_INST_PRINT_ISTEP(21,4); + // Update the HB TI area with the worst status. + termWriteSRC(TI_SHUTDOWN, + worst_status, + reinterpret_cast<uint64_t>(linkRegister()), + i_error_info, + true); // Force write + shutdown(worst_status, i_payload_base, i_payload_entry, diff --git a/src/usr/initservice/baseinitsvc/makefile b/src/usr/initservice/baseinitsvc/makefile index a7c608747..3b05ca4c0 100644 --- a/src/usr/initservice/baseinitsvc/makefile +++ b/src/usr/initservice/baseinitsvc/makefile @@ -5,7 +5,9 @@ # # OpenPOWER HostBoot Project # -# COPYRIGHT International Business Machines Corp. 2011,2014 +# Contributors Listed Below - COPYRIGHT 2011,2018 +# [+] International Business Machines Corp. +# # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -25,4 +27,6 @@ MODULE = initservice OBJS += initservice.o +EXTRAINCDIR += ${ROOTPATH}/src/include + include ${ROOTPATH}/config.mk |

