diff mbox

[v1,6/8] ml605_mmu: Move the hardcoded values to the init function

Message ID 6914a01f86671039bf35be203411d00786b8cb28.1433314301.git.alistair.francis@xilinx.com
State New
Headers show

Commit Message

Alistair Francis June 3, 2015, 7 a.m. UTC
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(-)

Comments

Edgar E. Iglesias June 5, 2015, 12:47 a.m. UTC | #1
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
>
Alistair Francis June 5, 2015, 4:54 a.m. UTC | #2
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 mbox

Patch

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);
 
 }