diff options
author | Greg Kurz <groug@kaod.org> | 2019-01-17 12:06:38 +0100 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2019-02-04 18:44:18 +1100 |
commit | 21df5e4ffafd067090882c312c5978ee7bb2f46f (patch) | |
tree | 475ff2878107453aa84994c87748f57960984d2f | |
parent | 1ac24c91bbfada5303a3d7ac1d50a05c489053a1 (diff) |
spapr: Forbid setting ic-mode for old machine types
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 <groug@kaod.org>
Tested-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r-- | hw/ppc/spapr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 71fe552c83..a217c7f7a6 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3127,6 +3127,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; |