From b877a4e8b9eaafcacd2ed31ebcf47b769929e68d Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Fri, 26 Apr 2019 11:59:57 -0500 Subject: Write boot progress to LPC port 80h This is an adaptation of what we currently do for op_display() on FSP machines, inventing an encoding for what we can write into the single byte at LPC port 80h. Port 80h is often used on x86 systems to indicate boot progress/status and dates back a decent amount of time. Since a byte isn't exactly very expressive for everything that can go on (and wrong) during boot, it's all about compromise. Some systems (such as Zaius/Barreleye G2) have a physical dual 7 segment display that display these codes. So far, this has only been driven by hostboot (see hostboot commit 90ec2e65314c). Signed-off-by: Stewart Smith --- hw/fsp/fsp-op-panel.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'hw/fsp') diff --git a/hw/fsp/fsp-op-panel.c b/hw/fsp/fsp-op-panel.c index 7063cbb..6477e73 100644 --- a/hw/fsp/fsp-op-panel.c +++ b/hw/fsp/fsp-op-panel.c @@ -55,8 +55,10 @@ void op_display(enum op_severity sev, enum op_module mod, uint16_t code) uint32_t w0; uint32_t w1; - if (!fsp_present()) + if (!fsp_present()) { + op_display_lpc(sev, mod, code); return; + } w0 = sev << 16 | mod; -- cgit v1.1