mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
ppc/xive2: Support "Pull Thread Context to Odd Thread Reporting Line"
Adds support for single byte writes to offset 0xC38 of the TIMA address space. When this offset is written to, the hardware disables the thread context and copies the current state information to the odd cache line of the pair specified by the NVT structure indexed by the THREAD CAM entry. Note that this operation is almost identical to what we are already doing for the "Pull OS Context to Odd Thread Reporting Line" operation except that it also invalidates the Pool and Thread Contexts. Signed-off-by: Glenn Miles <milesg@linux.vnet.ibm.com> Signed-off-by: Michael Kowal <kowal@linux.ibm.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
This commit is contained in:
parent
00a7a7a548
commit
81939a9211
5 changed files with 71 additions and 34 deletions
|
@ -117,10 +117,9 @@ static void xive_tctx_notify(XiveTCTX *tctx, uint8_t ring)
|
|||
void xive_tctx_reset_signal(XiveTCTX *tctx, uint8_t ring)
|
||||
{
|
||||
/*
|
||||
* Lower the External interrupt. Used when pulling an OS
|
||||
* context. It is necessary to avoid catching it in the hypervisor
|
||||
* context. It should be raised again when re-pushing the OS
|
||||
* context.
|
||||
* Lower the External interrupt. Used when pulling a context. It is
|
||||
* necessary to avoid catching it in the higher privilege context. It
|
||||
* should be raised again when re-pushing the lower privilege context.
|
||||
*/
|
||||
qemu_irq_lower(xive_tctx_output(tctx, ring));
|
||||
}
|
||||
|
@ -581,6 +580,8 @@ static const XiveTmOp xive2_tm_operations[] = {
|
|||
NULL },
|
||||
{ XIVE_TM_HV_PAGE, TM_SPC_PULL_PHYS_CTX, 1, NULL,
|
||||
xive_tm_pull_phys_ctx },
|
||||
{ XIVE_TM_HV_PAGE, TM_SPC_PULL_PHYS_CTX_OL, 1, xive2_tm_pull_phys_ctx_ol,
|
||||
NULL },
|
||||
};
|
||||
|
||||
static const XiveTmOp *xive_tm_find_op(XivePresenter *xptr, hwaddr offset,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue