diff options
author | Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com> | 2017-12-07 10:52:28 +0530 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-12-14 23:58:26 -0600 |
commit | 49999302251b3e3e2fdca2cbcdeb6aab9add7412 (patch) | |
tree | 741a3a2a01880bf2ab8925b15f863d1d8d46f56d /include | |
parent | 5d847a1b9d495a4b09f675677ffc75a02a8f210a (diff) | |
download | skiboot-49999302251b3e3e2fdca2cbcdeb6aab9add7412.zip skiboot-49999302251b3e3e2fdca2cbcdeb6aab9add7412.tar.gz skiboot-49999302251b3e3e2fdca2cbcdeb6aab9add7412.tar.bz2 |
opal-prd: Add support for runtime OCC reset in ZZ
This patch handles OCC_RESET runtime events in host opal-prd and also
provides support for calling 'hostinterface->wakeup()' which is
required for doing the reset operation.
Signed-off-by: Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>
Acked-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/hostservices.h | 2 | ||||
-rw-r--r-- | include/opal-api.h | 11 | ||||
-rw-r--r-- | include/skiboot.h | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/include/hostservices.h b/include/hostservices.h index 62ef04b..2e6cd1c 100644 --- a/include/hostservices.h +++ b/include/hostservices.h @@ -39,5 +39,7 @@ void host_services_occ_base_setup(void); int find_master_and_slave_occ(uint64_t **master, uint64_t **slave, int *nr_masters, int *nr_slaves); int hservice_send_error_log(uint32_t plid, uint32_t dsize, void *data); +int hservice_wakeup(uint32_t i_core, uint32_t i_mode); +int fsp_occ_reset_status(u64 chipid, s64 status); #endif /* __HOSTSERVICES_H */ diff --git a/include/opal-api.h b/include/opal-api.h index 1c1b9cc..ef32f65 100644 --- a/include/opal-api.h +++ b/include/opal-api.h @@ -1061,6 +1061,9 @@ enum opal_prd_msg_type { OPAL_PRD_MSG_TYPE_FIRMWARE_RESPONSE, /* HBRT <-- OPAL */ OPAL_PRD_MSG_TYPE_FIRMWARE_NOTIFY, /* HBRT <-- OPAL */ OPAL_PRD_MSG_TYPE_SBE_PASSTHROUGH, /* HBRT <-- OPAL */ + OPAL_PRD_MSG_TYPE_FSP_OCC_RESET, /* HBRT <-- OPAL */ + OPAL_PRD_MSG_TYPE_FSP_OCC_RESET_STATUS, /* HBRT --> OPAL */ + OPAL_PRD_MSG_TYPE_CORE_SPECIAL_WAKEUP, /* HBRT --> OPAL */ }; struct opal_prd_msg_header { @@ -1108,6 +1111,14 @@ struct opal_prd_msg { struct { __be64 chip; } sbe_passthrough; + struct { + __be64 chip; + __be64 status; /* 0 SUCCESS */ + } fsp_occ_reset_status; + struct { + __be32 core; + __be32 mode; + } spl_wakeup; }; }; diff --git a/include/skiboot.h b/include/skiboot.h index db91325..795ee4f 100644 --- a/include/skiboot.h +++ b/include/skiboot.h @@ -293,6 +293,7 @@ extern void prd_occ_reset(uint32_t proc); extern void prd_sbe_passthrough(uint32_t proc); extern void prd_init(void); extern void prd_register_reserved_memory(void); +extern void prd_fsp_occ_reset(uint32_t proc); /* Flatten device-tree */ extern void *create_dtb(const struct dt_node *root, bool exclusive); |