A context should be 'valid' when pulled from the thread interrupt context registers.
Signed-off-by: Cédric Le Goater <c...@kaod.org> --- hw/intc/xive.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/intc/xive.c b/hw/intc/xive.c index cdc4ea8b0e51..07b7c3586c12 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -362,6 +362,11 @@ static uint64_t xive_tm_pull_os_ctx(XivePresenter *xptr, XiveTCTX *tctx, xive_os_cam_decode(cam, &nvt_blk, &nvt_idx, &vo); + if (!vo) { + qemu_log_mask(LOG_GUEST_ERROR, "XIVE: pulling invalid NVT %x/%x !?\n", + nvt_blk, nvt_idx); + } + /* Invalidate CAM line */ qw1w2_new = xive_set_field32(TM_QW1W2_VO, qw1w2, 0); memcpy(&tctx->regs[TM_QW1_OS + TM_WORD2], &qw1w2_new, 4); -- 2.21.0