From: Cédric Le Goater Date: Thu, 7 Mar 2019 22:35:47 +0000 (+0100) Subject: ppc/pnv: add a "ibm,opal/power-mgt" device tree node on POWER9 X-Git-Tag: qemu-xen-4.13.0-rc1~312^2~6 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=e5694793ee94d762749e8cbee75dbdbb8a84a24b;p=qemu-xen.git ppc/pnv: add a "ibm,opal/power-mgt" device tree node on POWER9 Activate only stop0 and stop1 levels. We should not need more levels when under QEMU. Signed-off-by: Cédric Le Goater Message-Id: <20190307223548.20516-15-clg@kaod.org> Signed-off-by: David Gibson --- diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index e68d419203..8be4d4cbf7 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -438,6 +438,16 @@ static void pnv_dt_isa(PnvMachineState *pnv, void *fdt) &args); } +static void pnv_dt_power_mgt(void *fdt) +{ + int off; + + off = fdt_add_subnode(fdt, 0, "ibm,opal"); + off = fdt_add_subnode(fdt, off, "power-mgt"); + + _FDT(fdt_setprop_cell(fdt, off, "ibm,enabled-stop-levels", 0xc0000000)); +} + static void *pnv_dt_create(MachineState *machine) { const char plat_compat[] = "qemu,powernv\0ibm,powernv"; @@ -493,6 +503,11 @@ static void *pnv_dt_create(MachineState *machine) pnv_dt_bmc_sensors(pnv->bmc, fdt); } + /* Create an extra node for power management on Power9 */ + if (pnv_is_power9(pnv)) { + pnv_dt_power_mgt(fdt); + } + return fdt; }