diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/init.c | 5 | ||||
-rw-r--r-- | core/ipmi.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/core/init.c b/core/init.c index a4a64d3..0b29e2b 100644 --- a/core/init.c +++ b/core/init.c @@ -45,6 +45,8 @@ #include <hostservices.h> #include <timer.h> +#include <ipmi.h> + /* * Boot semaphore, incremented by each CPU calling in * @@ -388,7 +390,7 @@ void __noreturn load_and_boot_kernel(bool is_reboot) } fsp_console_select_stdout(); - /* + /* * OCC takes few secs to boot. Call this as late as * as possible to avoid delay. */ @@ -728,4 +730,3 @@ void __noreturn secondary_cpu_entry(void) __secondary_cpu_entry(); } - diff --git a/core/ipmi.c b/core/ipmi.c index e4dfefd..39997f6 100644 --- a/core/ipmi.c +++ b/core/ipmi.c @@ -156,6 +156,12 @@ static void ipmi_get_message_flags_complete(struct ipmi_msg *msg) prlog(PR_DEBUG, "IPMI Get Message Flags: %02x\n", flags); + /* Once we see an interrupt we assume the payload has + * booted. We disable the wdt and let the OS setup its own + * wdt. */ + if (flags & IPMI_MESSAGE_FLAGS_WATCHDOG_PRE_TIMEOUT) + ipmi_wdt_stop(); + /* Message available in the event buffer? Queue a Read Event command * to retrieve it. The flag is cleared by performing a read */ if (flags & IPMI_MESSAGE_FLAGS_EVENT_BUFFER) { |