aboutsummaryrefslogtreecommitdiff
path: root/include/chip.h
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2015-09-03 13:37:29 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-11-09 13:12:05 +1100
commit4744766798df8a295e2b85138ed585a8edfdca7c (patch)
treefe5d28ff1c93d18a83e7b3fcd2cbbd6c11e95b92 /include/chip.h
parent1205ead9074777c839e6926433dfcf2e20efeac1 (diff)
downloadskiboot-4744766798df8a295e2b85138ed585a8edfdca7c.zip
skiboot-4744766798df8a295e2b85138ed585a8edfdca7c.tar.gz
skiboot-4744766798df8a295e2b85138ed585a8edfdca7c.tar.bz2
Skip OCCs for chip that has occ_functional set to false
In some simulation environments, we simulate a system close to an ibm-fsp system but with a crucial difference: we don't simulate OCCs. This means that for a P8 (well, a simulated one) that looks like it's part of a ibm-fsp system, we'd wait around for about a minute to be asked to start OCCs and for the OCCs to start. Obviously, this would never happen and we'd hit the OCC initialization timeout (correctly) logging an error. However, in this simulation environment, it isn't an error as the required information to work out it isn't an error is (at least now) provided in hdat under 'OCC Functional State'. Previously, the ibm,occ-functional-state property was just passed through the device tree to the host through the XSCOM node and skiboot ignored it. This patch takes note of occ-functional-state and skips waiting for OCCs on any chips that have been marked as having non functional OCC. In such simulation environments this means we: a) don't log an error that isn't really an error b) boot 1 minute quicker as we don't hit the timeout. Tested-by: Gajendra B Bandhu1 <gbandhu1@in.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include/chip.h')
-rw-r--r--include/chip.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/chip.h b/include/chip.h
index 5951ef0..5109e25 100644
--- a/include/chip.h
+++ b/include/chip.h
@@ -129,6 +129,12 @@ struct proc_chip {
uint32_t dbob_id;
uint32_t pcid;
+ /* If we expect to have an OCC (i.e. P8) and it is functional,
+ * set TRUE. If something has told us it is not, set FALSE and
+ * we can not wait for OCCs to init. This is only going to be
+ * FALSE in a simulator that doesn't simulate OCCs. */
+ bool occ_functional;
+
/* Used by hw/xscom.c */
uint64_t xscom_base;