On Mon, May 27, 2019 at 09:17:22AM +0200, Cédric Le Goater wrote:
> PRD (Processor recovery diagnostics) is a service available on
> OpenPower systems. The opal-prd daemon initializes the PowerPC
> Processor through the XSCOM bus and then waits for hardware diagnostic
> events.
>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Applied, thanks.
> ---
> hw/ppc/pnv_xscom.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/hw/ppc/pnv_xscom.c b/hw/ppc/pnv_xscom.c
> index c285ef514e88..f53a6d7a9457 100644
> --- a/hw/ppc/pnv_xscom.c
> +++ b/hw/ppc/pnv_xscom.c
> @@ -29,6 +29,12 @@
>
> #include <libfdt.h>
>
> +/* PRD registers */
> +#define PRD_P8_IPOLL_REG_MASK 0x01020013
> +#define PRD_P8_IPOLL_REG_STATUS 0x01020014
> +#define PRD_P9_IPOLL_REG_MASK 0x000F0033
> +#define PRD_P9_IPOLL_REG_STATUS 0x000F0034
> +
> static void xscom_complete(CPUState *cs, uint64_t hmer_bits)
> {
> /*
> @@ -70,6 +76,12 @@ static uint64_t xscom_read_default(PnvChip *chip, uint32_t pcba)
> case 0x1010c00: /* PIBAM FIR */
> case 0x1010c03: /* PIBAM FIR MASK */
>
> + /* PRD registers */
> + case PRD_P8_IPOLL_REG_MASK:
> + case PRD_P8_IPOLL_REG_STATUS:
> + case PRD_P9_IPOLL_REG_MASK:
> + case PRD_P9_IPOLL_REG_STATUS:
> +
> /* P9 xscom reset */
> case 0x0090018: /* Receive status reg */
> case 0x0090012: /* log register */
> @@ -124,6 +136,12 @@ static bool xscom_write_default(PnvChip *chip, uint32_t pcba, uint64_t val)
> case 0x201302a: /* CAPP stuff */
> case 0x2013801: /* CAPP stuff */
> case 0x2013802: /* CAPP stuff */
> +
> + /* P8 PRD registers */
> + case PRD_P8_IPOLL_REG_MASK:
> + case PRD_P8_IPOLL_REG_STATUS:
> + case PRD_P9_IPOLL_REG_MASK:
> + case PRD_P9_IPOLL_REG_STATUS:
> return true;
> default:
> return false;
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson