diff options
author | Michael Neuling <mikey@neuling.org> | 2015-02-20 11:37:59 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-02-23 13:35:49 +1100 |
commit | 952377e097ea328e224a38953ce8ddd2cdda5fa9 (patch) | |
tree | 7c5e76a04a7eeb916102ffff0df70cffc926e92b /include/chip.h | |
parent | 55f7e794b60fb8c86d447abd543b4d39f52be82a (diff) | |
download | skiboot-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.h | 4 |
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; |