[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH v2 2/5] ppc/pnv: Activate support for the Processor Attention
From: |
Leandro Lupori |
Subject: |
[RFC PATCH v2 2/5] ppc/pnv: Activate support for the Processor Attention instruction |
Date: |
Thu, 31 Mar 2022 11:58:10 -0300 |
From: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Leandro Lupori <leandro.lupori@eldorado.org.br>
---
hw/ppc/pnv_core.c | 6 ++++++
include/hw/ppc/pnv_core.h | 1 +
2 files changed, 7 insertions(+)
diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c
index 19e8eb885f..eb59b44a6c 100644
--- a/hw/ppc/pnv_core.c
+++ b/hw/ppc/pnv_core.c
@@ -46,6 +46,7 @@ static void pnv_core_cpu_reset(PnvCore *pc, PowerPCCPU *cpu)
CPUState *cs = CPU(cpu);
CPUPPCState *env = &cpu->env;
PnvChipClass *pcc = PNV_CHIP_GET_CLASS(pc->chip);
+ PnvCoreClass *pcorec = PNV_CORE_GET_CLASS(pc);
cpu_reset(cs);
@@ -57,6 +58,8 @@ static void pnv_core_cpu_reset(PnvCore *pc, PowerPCCPU *cpu)
env->nip = 0x10;
env->msr |= MSR_HVB; /* Hypervisor mode */
env->spr[SPR_HRMOR] = pc->hrmor;
+ env->spr[SPR_HID0] |= pcorec->attn;
+
hreg_compute_hflags(env);
pcc->intc_reset(pc->chip, cpu);
@@ -300,6 +303,7 @@ static void pnv_core_power8_class_init(ObjectClass *oc,
void *data)
PnvCoreClass *pcc = PNV_CORE_CLASS(oc);
pcc->xscom_ops = &pnv_core_power8_xscom_ops;
+ pcc->attn = HID0_ATTN;
}
static void pnv_core_power9_class_init(ObjectClass *oc, void *data)
@@ -307,6 +311,7 @@ static void pnv_core_power9_class_init(ObjectClass *oc,
void *data)
PnvCoreClass *pcc = PNV_CORE_CLASS(oc);
pcc->xscom_ops = &pnv_core_power9_xscom_ops;
+ pcc->attn = HID0_POWER9_ATTN;
}
static void pnv_core_power10_class_init(ObjectClass *oc, void *data)
@@ -315,6 +320,7 @@ static void pnv_core_power10_class_init(ObjectClass *oc,
void *data)
/* TODO: Use the P9 XSCOMs for now on P10 */
pcc->xscom_ops = &pnv_core_power9_xscom_ops;
+ pcc->attn = HID0_POWER9_ATTN;
}
static void pnv_core_class_init(ObjectClass *oc, void *data)
diff --git a/include/hw/ppc/pnv_core.h b/include/hw/ppc/pnv_core.h
index c22eab2e1f..04e1fec1f3 100644
--- a/include/hw/ppc/pnv_core.h
+++ b/include/hw/ppc/pnv_core.h
@@ -47,6 +47,7 @@ struct PnvCoreClass {
DeviceClass parent_class;
const MemoryRegionOps *xscom_ops;
+ uint64_t attn;
};
#define PNV_CORE_TYPE_SUFFIX "-" TYPE_PNV_CORE
--
2.25.1
- [RFC PATCH v2 0/5] Port PPC64/PowerNV MMU tests to QEMU, Leandro Lupori, 2022/03/31
- [RFC PATCH v2 3/5] tests/tcg/ppc64: add basic softmmu test support, Leandro Lupori, 2022/03/31
- [RFC PATCH v2 4/5] tests/tcg/ppc64: add MMU test sources, Leandro Lupori, 2022/03/31
- [RFC PATCH v2 5/5] tests/tcg/ppc64: build PowerNV and LE tests, Leandro Lupori, 2022/03/31
- [RFC PATCH v2 1/5] target/ppc: Add support for the Processor Attention instruction, Leandro Lupori, 2022/03/31
- [RFC PATCH v2 2/5] ppc/pnv: Activate support for the Processor Attention instruction,
Leandro Lupori <=
- Re: [RFC PATCH v2 0/5] Port PPC64/PowerNV MMU tests to QEMU, Cédric Le Goater, 2022/03/31