aboutsummaryrefslogtreecommitdiff
path: root/hw/fsp
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.ibm.com>2019-04-26 11:59:57 -0500
committerStewart Smith <stewart@linux.ibm.com>2019-05-02 09:57:15 +1000
commitb877a4e8b9eaafcacd2ed31ebcf47b769929e68d (patch)
tree3800af8139ceb1409d5453df331abf7722517a3c /hw/fsp
parentc51914b87b48a7b836b5048961e891e23cba457c (diff)
downloadskiboot-b877a4e8b9eaafcacd2ed31ebcf47b769929e68d.zip
skiboot-b877a4e8b9eaafcacd2ed31ebcf47b769929e68d.tar.gz
skiboot-b877a4e8b9eaafcacd2ed31ebcf47b769929e68d.tar.bz2
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 <stewart@linux.ibm.com>
Diffstat (limited to 'hw/fsp')
-rw-r--r--hw/fsp/fsp-op-panel.c4
1 files changed, 3 insertions, 1 deletions
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;