Machine types 3.0 and older only know about the legacy XICS backend. Make it clear by erroring out if the user tries to set ic-mode on such machines.
Signed-off-by: Greg Kurz <gr...@kaod.org> --- Motivation for this comes from a failing backward migration test, caused by ic-mode=xics I forgot to drop from the command line :) --- hw/ppc/spapr.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 0942f35bf87e..6b8dbf5c5a3c 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3126,6 +3126,11 @@ static void spapr_set_ic_mode(Object *obj, const char *value, Error **errp) { sPAPRMachineState *spapr = SPAPR_MACHINE(obj); + if (SPAPR_MACHINE_GET_CLASS(spapr)->legacy_irq_allocation) { + error_setg(errp, "This machine only uses the legacy XICS backend, don't pass ic-mode"); + return; + } + /* The legacy IRQ backend can not be set */ if (strcmp(value, "xics") == 0) { spapr->irq = &spapr_irq_xics;