Message ID | 6914a01f86671039bf35be203411d00786b8cb28.1433314301.git.alistair.francis@xilinx.com |
---|---|
State | New |
Headers | show |
On Thu, Jun 04, 2015 at 11:24:34AM +1000, Alistair Francis 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. This looks OK but I assume that the remaining pvr settings will gradually move towards props? > > Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> > --- > hw/microblaze/petalogix_ml605_mmu.c | 19 +++++++------------ > 1 files changed, 7 insertions(+), 12 deletions(-) > > diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c > index f52654c..140a9d9 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) > { > @@ -206,10 +195,16 @@ petalogix_ml605_init(MachineState *machine) > } > } > > + /* setup PVR to match kernel settings */ > + cpu->env.pvr.regs[0] |= (0x14 << 8); > + 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 >
On Fri, Jun 5, 2015 at 10:47 AM, Edgar E. Iglesias <edgar.iglesias@xilinx.com> wrote: > On Thu, Jun 04, 2015 at 11:24:34AM +1000, Alistair Francis 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. > > This looks OK but I assume that the remaining pvr settings will > gradually move towards props? That's the plan. I removed one more in version 2 Thanks, Alistair > > > > >> >> Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> >> --- >> hw/microblaze/petalogix_ml605_mmu.c | 19 +++++++------------ >> 1 files changed, 7 insertions(+), 12 deletions(-) >> >> diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c >> index f52654c..140a9d9 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) >> { >> @@ -206,10 +195,16 @@ petalogix_ml605_init(MachineState *machine) >> } >> } >> >> + /* setup PVR to match kernel settings */ >> + cpu->env.pvr.regs[0] |= (0x14 << 8); >> + 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 >> >
diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index f52654c..140a9d9 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) { @@ -206,10 +195,16 @@ petalogix_ml605_init(MachineState *machine) } } + /* setup PVR to match kernel settings */ + cpu->env.pvr.regs[0] |= (0x14 << 8); + 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); }
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. Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> --- hw/microblaze/petalogix_ml605_mmu.c | 19 +++++++------------ 1 files changed, 7 insertions(+), 12 deletions(-)