aboutsummaryrefslogtreecommitdiff
path: root/include/chip.h
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2015-02-20 11:37:59 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-02-23 13:35:49 +1100
commit952377e097ea328e224a38953ce8ddd2cdda5fa9 (patch)
tree7c5e76a04a7eeb916102ffff0df70cffc926e92b /include/chip.h
parent55f7e794b60fb8c86d447abd543b4d39f52be82a (diff)
downloadskiboot-952377e097ea328e224a38953ce8ddd2cdda5fa9.zip
skiboot-952377e097ea328e224a38953ce8ddd2cdda5fa9.tar.gz
skiboot-952377e097ea328e224a38953ce8ddd2cdda5fa9.tar.bz2
capi: Rework microcode flash download and CAPP upload
This reworks the CAPP microcode flash download and CAPP upload. We now use load_resource() to download microcode from flash rather than assuming we are on an FSP. This means we can download the microcode on PNOR based systems. Also, currently the code associates the microcode upload with the PHB. This means we store one copy of the microcode for every PHB in the system. This patch changes this so that we only save one copy of the microcode for the whole system. We mark if the microcode as been uploaded in the CAPP unit based on the chip, rather than the PHB. We add a check in case the system has two different chip ECs in the one system but such a Frankenmachine should never be built! We keep the microcode around in case we need it for a recovery event. It also harmonises the CAPP printks to look the same. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include/chip.h')
-rw-r--r--include/chip.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/chip.h b/include/chip.h
index ae0902f..34bd6d9 100644
--- a/include/chip.h
+++ b/include/chip.h
@@ -147,6 +147,10 @@ struct proc_chip {
uint64_t occ_common_base;
uint64_t occ_common_size;
+ /* Must hold capi_lock to change */
+ u8 capp_phb3_attached_mask;
+ bool capp_ucode_loaded;
+
/* Used by hw/centaur.c */
struct centaur_chip *centaurs;