Hi,

On 7/2/20 5:01 AM, Jingyi Wang wrote:
> The following patches will use that.
> 
> Signed-off-by: Jingyi Wang <[email protected]>
> ---
>  arm/micro-bench.c | 39 ++++++++++++++++++++++-----------------
>  1 file changed, 22 insertions(+), 17 deletions(-)
> 
With commit message suggested by Drew,

Reviewed-by: Eric Auger <[email protected]>

Eric
> diff --git a/arm/micro-bench.c b/arm/micro-bench.c
> index 794dfac..fc4d356 100644
> --- a/arm/micro-bench.c
> +++ b/arm/micro-bench.c
> @@ -25,24 +25,24 @@
>  
>  static u32 cntfrq;
>  
> -static volatile bool ipi_ready, ipi_received;
> +static volatile bool irq_ready, irq_received;
>  static void *vgic_dist_base;
>  static void (*write_eoir)(u32 irqstat);
>  
> -static void ipi_irq_handler(struct pt_regs *regs)
> +static void gic_irq_handler(struct pt_regs *regs)
>  {
> -     ipi_ready = false;
> -     ipi_received = true;
> +     irq_ready = false;
> +     irq_received = true;
>       gic_write_eoir(gic_read_iar());
> -     ipi_ready = true;
> +     irq_ready = true;
>  }
>  
> -static void ipi_secondary_entry(void *data)
> +static void gic_secondary_entry(void *data)
>  {
> -     install_irq_handler(EL1H_IRQ, ipi_irq_handler);
> +     install_irq_handler(EL1H_IRQ, gic_irq_handler);
>       gic_enable_defaults();
>       local_irq_enable();
> -     ipi_ready = true;
> +     irq_ready = true;
>       while (true)
>               cpu_relax();
>  }
> @@ -72,9 +72,9 @@ static bool test_init(void)
>               break;
>       }
>  
> -     ipi_ready = false;
> +     irq_ready = false;
>       gic_enable_defaults();
> -     on_cpu_async(1, ipi_secondary_entry, NULL);
> +     on_cpu_async(1, gic_secondary_entry, NULL);
>  
>       cntfrq = get_cntfrq();
>       printf("Timer Frequency %d Hz (Output in microseconds)\n", cntfrq);
> @@ -82,13 +82,18 @@ static bool test_init(void)
>       return true;
>  }
>  
> -static void ipi_prep(void)
> +static void gic_prep_common(void)
>  {
>       unsigned tries = 1 << 28;
>  
> -     while (!ipi_ready && tries--)
> +     while (!irq_ready && tries--)
>               cpu_relax();
> -     assert(ipi_ready);
> +     assert(irq_ready);
> +}
> +
> +static void ipi_prep(void)
> +{
> +     gic_prep_common();
>  }
>  
>  static void ipi_exec(void)
> @@ -96,17 +101,17 @@ static void ipi_exec(void)
>       unsigned tries = 1 << 28;
>       static int received = 0;
>  
> -     ipi_received = false;
> +     irq_received = false;
>  
>       gic_ipi_send_single(1, 1);
>  
> -     while (!ipi_received && tries--)
> +     while (!irq_received && tries--)
>               cpu_relax();
>  
> -     if (ipi_received)
> +     if (irq_received)
>               ++received;
>  
> -     assert_msg(ipi_received, "failed to receive IPI in time, but received 
> %d successfully\n", received);
> +     assert_msg(irq_received, "failed to receive IPI in time, but received 
> %d successfully\n", received);
>  }
>  
>  static void hvc_exec(void)
> 

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to