On 1/17/19 12:06 PM, Greg Kurz wrote:
> 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>



Tested-by: Cédric Le Goater <c...@kaod.org>
Reviewed-by: Cédric Le Goater <c...@kaod.org>

Thanks,

C.

> ---
> 
> 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;
> 


Reply via email to