mirror of https://github.com/xemu-project/xemu.git
hw/sparc64/cpu: Initialize GPIO before realizing CPU devices
Inline cpu_create() in order to call qdev_init_gpio_in_named_with_opaque() before the CPU is realized. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Damien Hedde <dhedde@kalrayinc.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20240213130341.1793-13-philmd@linaro.org>
This commit is contained in:
parent
73a143b340
commit
0177d61bb5
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
|
#include "qapi/error.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "hw/sparc/sparc64.h"
|
#include "hw/sparc/sparc64.h"
|
||||||
|
@ -271,9 +272,10 @@ SPARCCPU *sparc64_cpu_devinit(const char *cpu_type, uint64_t prom_addr)
|
||||||
uint32_t stick_frequency = 100 * 1000000;
|
uint32_t stick_frequency = 100 * 1000000;
|
||||||
uint32_t hstick_frequency = 100 * 1000000;
|
uint32_t hstick_frequency = 100 * 1000000;
|
||||||
|
|
||||||
cpu = SPARC_CPU(cpu_create(cpu_type));
|
cpu = SPARC_CPU(object_new(cpu_type));
|
||||||
qdev_init_gpio_in_named(DEVICE(cpu), sparc64_cpu_set_ivec_irq,
|
qdev_init_gpio_in_named(DEVICE(cpu), sparc64_cpu_set_ivec_irq,
|
||||||
"ivec-irq", IVEC_MAX);
|
"ivec-irq", IVEC_MAX);
|
||||||
|
qdev_realize(DEVICE(cpu), NULL, &error_fatal);
|
||||||
env = &cpu->env;
|
env = &cpu->env;
|
||||||
|
|
||||||
env->tick = cpu_timer_create("tick", cpu, tick_irq,
|
env->tick = cpu_timer_create("tick", cpu, tick_irq,
|
||||||
|
|
Loading…
Reference in New Issue