Hi, Philippe, On Sun, Oct 11, 2020 at 4:43 AM Philippe Mathieu-Daudé <f4...@amsat.org> wrote: > > Since its introduction in commit 6af0bf9c7c3, > the 'r4k' machine runs at 200 MHz. > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > hw/mips/r4k.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/hw/mips/r4k.c b/hw/mips/r4k.c > index 3487013a4a1..e64687b505a 100644 > --- a/hw/mips/r4k.c > +++ b/hw/mips/r4k.c > @@ -37,6 +37,7 @@ > #include "sysemu/reset.h" > #include "sysemu/runstate.h" > #include "qemu/error-report.h" > +#include "hw/qdev-clock.h" > > #define MAX_IDE_BUS 2 > > @@ -184,6 +185,7 @@ void mips_r4k_init(MachineState *machine) > int bios_size; > MIPSCPU *cpu; > CPUMIPSState *env; > + Clock *cpuclk; > ResetData *reset_info; > int i; > qemu_irq *i8259; > @@ -193,7 +195,11 @@ void mips_r4k_init(MachineState *machine) > int be; > > /* init CPUs */ > - cpu = MIPS_CPU(cpu_create(machine->cpu_type)); > + cpu = MIPS_CPU(object_new(machine->cpu_type)); > + cpuclk = clock_new(OBJECT(machine), "cpu-refclk"); > + clock_set_hz(cpuclk, 200000000); /* 200 MHz */ > + qdev_connect_clock_in(DEVICE(cpu), "clk-in", cpuclk); > + qdev_realize(DEVICE(cpu), NULL, &error_abort); Can we add a new parameter to cpu_create() and set the freq in the core code?
Huacai > env = &cpu->env; > > reset_info = g_malloc0(sizeof(ResetData)); > -- > 2.26.2 > -- Huacai Chen