diff options
Diffstat (limited to 'hw')
-rw-r--r-- | hw/xive.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -2699,6 +2699,14 @@ void xive_cpu_callin(struct cpu_thread *cpu) /* Set CPPR to 0 */ out_8(xs->tm_ring1 + TM_QW3_HV_PHYS + TM_CPPR, 0); + /* Pull everything */ + in_be32(xs->tm_ring1 + TM_SPC_PULL_USR_CTX); + in_be32(xs->tm_ring1 + TM_SPC_PULL_OS_CTX); + in_be32(xs->tm_ring1 + TM_SPC_PULL_POOL_CTX); + + /* Clear VT and LSI bit */ + out_8(xs->tm_ring1 + TM_QW3_HV_PHYS + 8, 0); + /* Set VT to 1 */ out_8(xs->tm_ring1 + TM_QW3_HV_PHYS + TM_WORD2, 0x80); |