OSDN Git Service

ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls
authorAravinda Prasad <arawinda.p@gmail.com>
Thu, 30 Jan 2020 18:44:21 +0000 (00:14 +0530)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 3 Feb 2020 00:33:11 +0000 (11:33 +1100)
commitf03496bc123df4d5a595fd4aa2113786c313e41e
tree4c5a6d361c7e874995109f0a669899785df209e3
parent81fe70e443ef7e3b5e8f2e30336029ed5b968741
ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls

This patch adds support in QEMU to handle "ibm,nmi-register"
and "ibm,nmi-interlock" RTAS calls.

The machine check notification address is saved when the
OS issues "ibm,nmi-register" RTAS call.

This patch also handles the case when multiple processors
experience machine check at or about the same time by
handling "ibm,nmi-interlock" call. In such cases, as per
PAPR, subsequent processors serialize waiting for the first
processor to issue the "ibm,nmi-interlock" call. The second
processor that also received a machine check error waits
till the first processor is done reading the error log.
The first processor issues "ibm,nmi-interlock" call
when the error log is consumed.

Signed-off-by: Aravinda Prasad <arawinda.p@gmail.com>
[Register fwnmi RTAS calls in core_rtas_register_types()
 where other RTAS calls are registered]
Signed-off-by: Ganesh Goudar <ganeshgr@linux.ibm.com>
Message-Id: <20200130184423.20519-6-ganeshgr@linux.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr_caps.c
hw/ppc/spapr_rtas.c
include/hw/ppc/spapr.h