Le 21/02/2020 à 17:23, Philippe Mathieu-Daudé a écrit :
> Since commit d8ed887bdc, the puv3_intc_cpu_handler handler takes
> a pointer to UniCore32CPU in its opaque argument. Directly pass
> the cpu pointer.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> hw/unicore32/puv3.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/hw/unicore32/puv3.c b/hw/unicore32/puv3.c
> index 7e933de228..eec7f561eb 100644
> --- a/hw/unicore32/puv3.c
> +++ b/hw/unicore32/puv3.c
> @@ -48,7 +48,7 @@ static void puv3_intc_cpu_handler(void *opaque, int irq, int level)
> }
> }
>
> -static void puv3_soc_init(CPUUniCore32State *env)
> +static void puv3_soc_init(UniCore32CPU *cpu)
> {
> qemu_irq cpu_intc, irqs[PUV3_IRQS_NR];
> DeviceState *dev;
> @@ -56,8 +56,7 @@ static void puv3_soc_init(CPUUniCore32State *env)
> int i;
>
> /* Initialize interrupt controller */
> - cpu_intc = qemu_allocate_irq(puv3_intc_cpu_handler,
> - env_archcpu(env), 0);
> + cpu_intc = qemu_allocate_irq(puv3_intc_cpu_handler, cpu, 0);
> dev = sysbus_create_simple("puv3_intc", PUV3_INTC_BASE, cpu_intc);
> for (i = 0; i < PUV3_IRQS_NR; i++) {
> irqs[i] = qdev_get_gpio_in(dev, i);
> @@ -131,7 +130,7 @@ static void puv3_init(MachineState *machine)
> cpu = UNICORE32_CPU(cpu_create(machine->cpu_type));
> env = &cpu->env;
>
> - puv3_soc_init(env);
> + puv3_soc_init(cpu);
> puv3_board_init(env, ram_size);
> puv3_load_kernel(kernel_filename);
> }
>
I think you can remove totally env as puv3_board_init() doesn't use it.
Thanks,
Laurent