@@ -1549,6 +1549,21 @@ static target_ulong h_copy_tofrom_guest(PowerPCCPU *cpu,
return H_FUNCTION;
}
+static target_ulong h_get_em_parms(PowerPCCPU *cpu,
+ SpaprMachineState *spapr,
+ target_ulong opcode,
+ target_ulong *args)
+{
+ /*
+ * This HCALL returns energy management parameters as part of
+ * the PEM (Partition Energy Management) option. We do not
+ * support it.
+ */
+ qemu_log_mask(LOG_UNSUPP, "Unsupported SPAPR hcall 0x"TARGET_FMT_lx"%s\n",
+ opcode, " (H_GET_EM_PARMS)");
+ return H_FUNCTION;
+}
+
/*
* When this handler returns, the environment is switched to the L2 guest
* and TCG begins running that. spapr_exit_nested() performs the switch from
@@ -1887,6 +1902,8 @@ static void hypercall_register_types(void)
spapr_register_hypercall(KVMPPC_H_ENTER_NESTED, h_enter_nested);
spapr_register_hypercall(KVMPPC_H_TLB_INVALIDATE, h_tlb_invalidate);
spapr_register_hypercall(KVMPPC_H_COPY_TOFROM_GUEST, h_copy_tofrom_guest);
+
+ spapr_register_hypercall(H_GET_EM_PARMS, h_get_em_parms);
}
type_init(hypercall_register_types)
This hcall is part of the Partition Energy Management (PEM) option, described in PAPR+ V2.89 section 14.14.2. We do not support any form of energy management in QEMU, so instead of logging this hcall as unimplemented let's log it as unsupported. This hcall is popular with AIX 7.2. The terminal gets quite busy with these debug messages using -d unsupp: Unsupported SPAPR hcall 0x00000000000002b8 (H_GET_EM_PARMS) Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/spapr_hcall.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)