On Thu, Jun 4, 2015 at 11:43 PM, Alistair Francis <alistair.fran...@xilinx.com> wrote: > Move the hard coded register values to the init function. > This also allows the entire reset function to be deleted, as > PVR registers are now preserved on reset. > > The hardcoded PVR0 values can be removed as they are setting > the endianness and stack protection, which is already done > or invalid. > > Signed-off-by: Alistair Francis <alistair.fran...@xilinx.com>
Reviewed-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> > --- > V2: > - Don't set PVR0 > > hw/microblaze/petalogix_ml605_mmu.c | 18 ++++++------------ > 1 files changed, 6 insertions(+), 12 deletions(-) > > diff --git a/hw/microblaze/petalogix_ml605_mmu.c > b/hw/microblaze/petalogix_ml605_mmu.c > index 609c90b..ed84a37 100644 > --- a/hw/microblaze/petalogix_ml605_mmu.c > +++ b/hw/microblaze/petalogix_ml605_mmu.c > @@ -64,17 +64,6 @@ > #define SPI_IRQ 4 > #define UART16550_IRQ 5 > > -static void machine_cpu_reset(MicroBlazeCPU *cpu) > -{ > - CPUMBState *env = &cpu->env; > - > - env->pvr.regs[10] = 0x0e000000; /* virtex 6 */ > - /* setup pvr to match kernel setting */ > - env->pvr.regs[0] |= (0x14 << 8); > - env->pvr.regs[4] = 0xc56b8000; > - env->pvr.regs[5] = 0xc56be000; > -} > - > static void > petalogix_ml605_init(MachineState *machine) > { > @@ -205,10 +194,15 @@ petalogix_ml605_init(MachineState *machine) > } > } > > + /* setup PVR to match kernel settings */ > + cpu->env.pvr.regs[4] = 0xc56b8000; > + cpu->env.pvr.regs[5] = 0xc56be000; > + cpu->env.pvr.regs[10] = 0x0e000000; /* virtex 6 */ > + > microblaze_load_kernel(cpu, MEMORY_BASEADDR, ram_size, > machine->initrd_filename, > BINARY_DEVICE_TREE_FILE, > - machine_cpu_reset); > + NULL); > > } > > -- > 1.7.1 > >