From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36801) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0lMC-0005sL-NB for qemu-devel@nongnu.org; Fri, 05 Jun 2015 02:43:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z0lM9-0006mz-G6 for qemu-devel@nongnu.org; Fri, 05 Jun 2015 02:43:56 -0400 Received: from mail-oi0-x235.google.com ([2607:f8b0:4003:c06::235]:35189) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0lM9-0006mp-Bh for qemu-devel@nongnu.org; Fri, 05 Jun 2015 02:43:53 -0400 Received: by oihd6 with SMTP id d6so47488047oih.2 for ; Thu, 04 Jun 2015 23:43:53 -0700 (PDT) Sender: Alistair Francis From: Alistair Francis Date: Fri, 5 Jun 2015 16:43:18 +1000 Message-Id: In-Reply-To: References: Subject: [Qemu-devel] [PATCH v2 7/9] ml605_mmu: Move the hardcoded values to the init function List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, edgar.iglesias@xilinx.com Cc: peter.crosthwaite@xilinx.com, alistair.francis@xilinx.com 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 --- 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