qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [Qemu-devel] [PATCH] ppc/xics/spapr: Fix H_IPOLL implemen


From: Greg Kurz
Subject: Re: [Qemu-ppc] [Qemu-devel] [PATCH] ppc/xics/spapr: Fix H_IPOLL implementation
Date: Thu, 14 Mar 2019 07:53:15 +0100

On Thu, 14 Mar 2019 07:38:55 +0100
Cédric Le Goater <address@hidden> wrote:

> From: Benjamin Herrenschmidt <address@hidden>
> 
> H_IPOLL takes the CPU# of the processor to poll as an argument,
> it doesn't operate on self.
> 

True.

> Signed-off-by: Benjamin Herrenschmidt <address@hidden>
> Signed-off-by: Cédric Le Goater <address@hidden>
> ---

Reviewed-by: Greg Kurz <address@hidden>

>  hw/intc/xics_spapr.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/intc/xics_spapr.c b/hw/intc/xics_spapr.c
> index 607e1c167ba2..9d2b8adef7c5 100644
> --- a/hw/intc/xics_spapr.c
> +++ b/hw/intc/xics_spapr.c
> @@ -95,8 +95,15 @@ static target_ulong h_eoi(PowerPCCPU *cpu, 
> SpaprMachineState *spapr,
>  static target_ulong h_ipoll(PowerPCCPU *cpu, SpaprMachineState *spapr,
>                              target_ulong opcode, target_ulong *args)
>  {
> +    ICPState *icp = xics_icp_get(XICS_FABRIC(spapr), args[0]);
>      uint32_t mfrr;
> -    uint32_t xirr = icp_ipoll(spapr_cpu_state(cpu)->icp, &mfrr);
> +    uint32_t xirr;
> +
> +    if (!icp) {
> +        return H_PARAMETER;
> +    }
> +
> +    xirr = icp_ipoll(icp, &mfrr);
>  
>      args[0] = xirr;
>      args[1] = mfrr;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]