From b0fb84236da4a36a852010b6b5d5d3ca497a2b68 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Thu, 2 Jun 2011 13:53:40 +0200 Subject: [PATCH 1/9] PPC: E500: Implement reboot controller MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When Linux reboots an e500 VM, it writes to a magic register in the "global-utilities" device indicated by the device tree. We were not emulating that device so far, rendering the VM reboot-less. This patch implements that device with only the reboot functionality implemented and adds it to the device tree. With this patch applied, I can successfully reboot a -M mpc8544ds VM. Signed-off-by: Alexander Graf Reviewed-by: Andreas Färber --- Makefile.target | 2 +- hw/mpc8544_guts.c | 135 +++++++++++++++++++++++++++++++++++++++++ hw/ppce500_mpc8544ds.c | 4 ++ pc-bios/mpc8544ds.dtb | Bin 12288 -> 2257 bytes pc-bios/mpc8544ds.dts | 6 ++ 5 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 hw/mpc8544_guts.c diff --git a/Makefile.target b/Makefile.target index b1a0f6d28b..d3ebe579eb 100644 --- a/Makefile.target +++ b/Makefile.target @@ -256,7 +256,7 @@ endif obj-ppc-y += ppc4xx_devs.o ppc4xx_pci.o ppc405_uc.o ppc405_boards.o obj-ppc-y += ppc440.o ppc440_bamboo.o # PowerPC E500 boards -obj-ppc-y += ppce500_mpc8544ds.o +obj-ppc-y += ppce500_mpc8544ds.o mpc8544_guts.o # PowerPC 440 Xilinx ML507 reference board. obj-ppc-y += virtex_ml507.o obj-ppc-$(CONFIG_KVM) += kvm_ppc.o diff --git a/hw/mpc8544_guts.c b/hw/mpc8544_guts.c new file mode 100644 index 0000000000..c685f3e08c --- /dev/null +++ b/hw/mpc8544_guts.c @@ -0,0 +1,135 @@ +/* + * QEMU PowerPC MPC8544 global util pseudo-device + * + * Copyright (C) 2011 Freescale Semiconductor, Inc. All rights reserved. + * + * Author: Alexander Graf, + * + * This is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * ***************************************************************** + * + * The documentation for this device is noted in the MPC8544 documentation, + * file name "MPC8544ERM.pdf". You can easily find it on the web. + * + */ + +#include "hw.h" +#include "sysemu.h" +#include "sysbus.h" + +#define MPC8544_GUTS_MMIO_SIZE 0x1000 +#define MPC8544_GUTS_RSTCR_RESET 0x02 + +#define MPC8544_GUTS_ADDR_PORPLLSR 0x00 +#define MPC8544_GUTS_ADDR_PORBMSR 0x04 +#define MPC8544_GUTS_ADDR_PORIMPSCR 0x08 +#define MPC8544_GUTS_ADDR_PORDEVSR 0x0C +#define MPC8544_GUTS_ADDR_PORDBGMSR 0x10 +#define MPC8544_GUTS_ADDR_PORDEVSR2 0x14 +#define MPC8544_GUTS_ADDR_GPPORCR 0x20 +#define MPC8544_GUTS_ADDR_GPIOCR 0x30 +#define MPC8544_GUTS_ADDR_GPOUTDR 0x40 +#define MPC8544_GUTS_ADDR_GPINDR 0x50 +#define MPC8544_GUTS_ADDR_PMUXCR 0x60 +#define MPC8544_GUTS_ADDR_DEVDISR 0x70 +#define MPC8544_GUTS_ADDR_POWMGTCSR 0x80 +#define MPC8544_GUTS_ADDR_MCPSUMR 0x90 +#define MPC8544_GUTS_ADDR_RSTRSCR 0x94 +#define MPC8544_GUTS_ADDR_PVR 0xA0 +#define MPC8544_GUTS_ADDR_SVR 0xA4 +#define MPC8544_GUTS_ADDR_RSTCR 0xB0 +#define MPC8544_GUTS_ADDR_IOVSELSR 0xC0 +#define MPC8544_GUTS_ADDR_DDRCSR 0xB20 +#define MPC8544_GUTS_ADDR_DDRCDR 0xB24 +#define MPC8544_GUTS_ADDR_DDRCLKDR 0xB28 +#define MPC8544_GUTS_ADDR_CLKOCR 0xE00 +#define MPC8544_GUTS_ADDR_SRDS1CR1 0xF04 +#define MPC8544_GUTS_ADDR_SRDS2CR1 0xF10 +#define MPC8544_GUTS_ADDR_SRDS2CR3 0xF18 + +struct GutsState { + SysBusDevice busdev; +}; + +typedef struct GutsState GutsState; + +static uint32_t mpc8544_guts_read32(void *opaque, target_phys_addr_t addr) +{ + uint32_t value = 0; + CPUState *env = cpu_single_env; + + addr &= MPC8544_GUTS_MMIO_SIZE - 1; + switch (addr) { + case MPC8544_GUTS_ADDR_PVR: + value = env->spr[SPR_PVR]; + break; + case MPC8544_GUTS_ADDR_SVR: + value = env->spr[SPR_E500_SVR]; + break; + default: + fprintf(stderr, "guts: Unknown register read: %x\n", (int)addr); + break; + } + + return value; +} + +static CPUReadMemoryFunc * const mpc8544_guts_read[] = { + NULL, + NULL, + &mpc8544_guts_read32, +}; + +static void mpc8544_guts_write32(void *opaque, target_phys_addr_t addr, + uint32_t value) +{ + addr &= MPC8544_GUTS_MMIO_SIZE - 1; + + switch (addr) { + case MPC8544_GUTS_ADDR_RSTCR: + if (value & MPC8544_GUTS_RSTCR_RESET) { + qemu_system_reset_request(); + } + break; + default: + fprintf(stderr, "guts: Unknown register write: %x = %x\n", + (int)addr, value); + break; + } +} + +static CPUWriteMemoryFunc * const mpc8544_guts_write[] = { + NULL, + NULL, + &mpc8544_guts_write32, +}; + +static int mpc8544_guts_initfn(SysBusDevice *dev) +{ + GutsState *s; + int iomem; + + s = FROM_SYSBUS(GutsState, sysbus_from_qdev(dev)); + + iomem = cpu_register_io_memory(mpc8544_guts_read, mpc8544_guts_write, s, + DEVICE_BIG_ENDIAN); + sysbus_init_mmio(dev, MPC8544_GUTS_MMIO_SIZE, iomem); + + return 0; +} + +static SysBusDeviceInfo mpc8544_guts_info = { + .init = mpc8544_guts_initfn, + .qdev.name = "mpc8544-guts", + .qdev.size = sizeof(GutsState), +}; + +static void mpc8544_guts_register(void) +{ + sysbus_register_withprop(&mpc8544_guts_info); +} +device_init(mpc8544_guts_register); diff --git a/hw/ppce500_mpc8544ds.c b/hw/ppce500_mpc8544ds.c index 6b57fbf597..3ba8e75e2b 100644 --- a/hw/ppce500_mpc8544ds.c +++ b/hw/ppce500_mpc8544ds.c @@ -50,6 +50,7 @@ #define MPC8544_PCI_REGS_SIZE 0x1000 #define MPC8544_PCI_IO 0xE1000000 #define MPC8544_PCI_IOLEN 0x10000 +#define MPC8544_UTIL_BASE (MPC8544_CCSRBAR_BASE + 0xe0000) struct boot_info { @@ -270,6 +271,9 @@ static void mpc8544ds_init(ram_addr_t ram_size, serial_hds[0], 1, 1); } + /* General Utility device */ + sysbus_create_simple("mpc8544-guts", MPC8544_UTIL_BASE, NULL); + /* PCI */ dev = sysbus_create_varargs("e500-pcihost", MPC8544_PCI_REGS_BASE, mpic[pci_irq_nrs[0]], mpic[pci_irq_nrs[1]], diff --git a/pc-bios/mpc8544ds.dtb b/pc-bios/mpc8544ds.dtb index 3299546696bf21f53f8ce2c9eba7fcb740c547da..189224e5875e9dd0d9195c22624b85bfb29dd820 100644 GIT binary patch delta 254 zcmZojxG1P`f%o5A1_q9c3=9kw3=HfkKw1Nc1%X%qh=G7H7bvbX(NK8fZXcFgBs)q$VJkovDTp5sUCx{MlzVY^28Sx5qJ!T+ zNtKd0PEYG{D@_IA$pB`MM&G$W079^cH)ez$l2eEs)#rP_+*gHo3YTJMqG zBwZpUakiCed@SvM>esQ;EYNxd_U6{cdbiVg__RzQev7m*jT>t`E)mFIB*j_Li~Xkc z9WM;LT<7GP+#On5D|zB$lb&vuvXbj8@WNiF+cqptv7NKAYqQuJ)c3(k>IbIhI<>`) zN?jmz{B&dnAe-kqZC>D=t>lHywl-R3zOo6|^r;Up>~F#$VgCu)%^BaX`BZ#Jp$h-1 z=D$Ibg!{cK-O4|*KF(y$73nC+4onm^mq`1y*ky|GoB*1-I{iqH@V=*UGy81&RL}UU zWHj<1N<;1LSeDV}8tE~qn&4*%Kc>H#XJT9vUI1>d1eH(GU zy4LNQhsH5F`y)!3YtFrxN5*_1zpNKajOD$+n+q*5c!wJPFiTrWs$-XSFey{NNM?UNT=m8G z0X(3$;p^mU$XGS|9G3{+*v-RMl;U&HcBzg+6}CU)6V|z_)KBDDz&Xw|pZPvoXU;JqM=H)9PC?E8)1UpUd%nwtg?SFOXZglP8AL7SI9mACdrzzN&0PY5^G&jOf8cTV zkb|1LHc^LUE|D6X;}4Tu$8ZgX{ui9hv%mG#{{r@aE=I{fhssZ))GLCWP^)EcFvxVC zyS@&?TrKCpOKt7)ThUhKx~k}2wbejB4}85{9Hd%hdQS~p-}8ss4TD&_C|1FV2xI2b z#wmhG@6aEeyPN4}BOUt(iav)ko*yRu{*0e_@gDsxVpunb2YRf6xX@WPN{f7Ix~Z4x zxR?p}NnB(}80t(dR~7c0H2P@VN{3!NAVQ|u$V=VG%lGF)W; + fsl,has-rstcr; + }; }; pci0: pci@e0008000 { From 826e7b827c5f83e88d5aa84c0bf0b3459f28ec35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Tue, 14 Jun 2011 23:27:56 +0200 Subject: [PATCH 2/9] target-ppc: Handle memory-forced I/O controller access MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On at least the PowerPC 601, a direct-store (T=1) with bus unit ID 0x07F is special-cased as memory-forced I/O controller access. It is supposed to be checked immediately if T=1, bypassing all protection mechanisms and acting cache-inhibited and global. Signed-off-by: Hervé Poussineau Simplified by avoiding reindentation. Added explanatory comments. Cc: Alexander Graf Signed-off-by: Andreas Färber Signed-off-by: Alexander Graf --- target-ppc/helper.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/target-ppc/helper.c b/target-ppc/helper.c index cf2a368b57..2944b062a5 100644 --- a/target-ppc/helper.c +++ b/target-ppc/helper.c @@ -949,8 +949,24 @@ static inline int get_segment(CPUState *env, mmu_ctx_t *ctx, ret = -3; } } else { + target_ulong sr; LOG_MMU("direct store...\n"); /* Direct-store segment : absolutely *BUGGY* for now */ + + /* Direct-store implies a 32-bit MMU. + * Check the Segment Register's bus unit ID (BUID). + */ + sr = env->sr[eaddr >> 28]; + if ((sr & 0x1FF00000) >> 20 == 0x07f) { + /* Memory-forced I/O controller interface access */ + /* If T=1 and BUID=x'07F', the 601 performs a memory access + * to SR[28-31] LA[4-31], bypassing all protection mechanisms. + */ + ctx->raddr = ((sr & 0xF) << 28) | (eaddr & 0x0FFFFFFF); + ctx->prot = PAGE_READ | PAGE_WRITE | PAGE_EXEC; + return 0; + } + switch (type) { case ACCESS_INT: /* Integer load/store : only access allowed */ From b9e17a345382ebb91446fd6cf0bb8f0eb5ba5706 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Wed, 15 Jun 2011 23:27:19 +0200 Subject: [PATCH 3/9] PPC: calculate kernel,initrd,cmdline locations dynamically During testing, I was generating a vmlinux binary that easily occupied more than 20MB of RAM. Since the current -kernel code loads the initrd at a fixed address behind the kernel, we were overwriting kernel data when the kernel got too big. To finally get rid of the issue, let's calculate the initrd and cmdline addresses relative to the kernel size, so we can have kernels and initrds that are as big as they want to - as long as they fit in RAM. Signed-off-by: Alexander Graf --- hw/ppc_mac.h | 3 +-- hw/ppc_newworld.c | 15 +++++++++++---- hw/ppc_oldworld.c | 15 +++++++++++---- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/hw/ppc_mac.h b/hw/ppc_mac.h index ea8759324c..68dade7e40 100644 --- a/hw/ppc_mac.h +++ b/hw/ppc_mac.h @@ -35,8 +35,7 @@ #define PROM_ADDR 0xfff00000 #define KERNEL_LOAD_ADDR 0x01000000 -#define CMDLINE_ADDR 0x027ff000 -#define INITRD_LOAD_ADDR 0x02800000 +#define KERNEL_GAP 0x00100000 #define ESCC_CLOCK 3686400 diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c index 86f1cfbee9..5bce709bab 100644 --- a/hw/ppc_newworld.c +++ b/hw/ppc_newworld.c @@ -120,6 +120,11 @@ static uint64_t translate_kernel_address(void *opaque, uint64_t addr) return (addr & 0x0fffffff) + KERNEL_LOAD_ADDR; } +static target_phys_addr_t round_page(target_phys_addr_t addr) +{ + return (addr + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK; +} + /* PowerPC Mac99 hardware initialisation */ static void ppc_core99_init (ram_addr_t ram_size, const char *boot_device, @@ -134,7 +139,7 @@ static void ppc_core99_init (ram_addr_t ram_size, int unin_memory; int linux_boot, i; ram_addr_t ram_offset, bios_offset; - uint32_t kernel_base, initrd_base; + target_phys_addr_t kernel_base, initrd_base, cmdline_base = 0; long kernel_size, initrd_size; PCIBus *pci_bus; MacIONVRAMState *nvr; @@ -220,7 +225,7 @@ static void ppc_core99_init (ram_addr_t ram_size, } /* load initrd */ if (initrd_filename) { - initrd_base = INITRD_LOAD_ADDR; + initrd_base = round_page(kernel_base + kernel_size + KERNEL_GAP); initrd_size = load_image_targphys(initrd_filename, initrd_base, ram_size - initrd_base); if (initrd_size < 0) { @@ -228,9 +233,11 @@ static void ppc_core99_init (ram_addr_t ram_size, initrd_filename); exit(1); } + cmdline_base = round_page(initrd_base + initrd_size); } else { initrd_base = 0; initrd_size = 0; + cmdline_base = round_page(kernel_base + kernel_size + KERNEL_GAP); } ppc_boot_device = 'm'; } else { @@ -373,8 +380,8 @@ static void ppc_core99_init (ram_addr_t ram_size, fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base); fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); if (kernel_cmdline) { - fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR); - pstrcpy_targphys("cmdline", CMDLINE_ADDR, TARGET_PAGE_SIZE, kernel_cmdline); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, cmdline_base); + pstrcpy_targphys("cmdline", cmdline_base, TARGET_PAGE_SIZE, kernel_cmdline); } else { fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); } diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c index 75a312742e..20cd8e1a8d 100644 --- a/hw/ppc_oldworld.c +++ b/hw/ppc_oldworld.c @@ -59,6 +59,11 @@ static uint64_t translate_kernel_address(void *opaque, uint64_t addr) return (addr & 0x0fffffff) + KERNEL_LOAD_ADDR; } +static target_phys_addr_t round_page(target_phys_addr_t addr) +{ + return (addr + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK; +} + static void ppc_heathrow_init (ram_addr_t ram_size, const char *boot_device, const char *kernel_filename, @@ -71,7 +76,7 @@ static void ppc_heathrow_init (ram_addr_t ram_size, qemu_irq *pic, **heathrow_irqs; int linux_boot, i; ram_addr_t ram_offset, bios_offset; - uint32_t kernel_base, initrd_base; + uint32_t kernel_base, initrd_base, cmdline_base = 0; int32_t kernel_size, initrd_size; PCIBus *pci_bus; MacIONVRAMState *nvr; @@ -157,7 +162,7 @@ static void ppc_heathrow_init (ram_addr_t ram_size, } /* load initrd */ if (initrd_filename) { - initrd_base = INITRD_LOAD_ADDR; + initrd_base = round_page(kernel_base + kernel_size + KERNEL_GAP); initrd_size = load_image_targphys(initrd_filename, initrd_base, ram_size - initrd_base); if (initrd_size < 0) { @@ -165,9 +170,11 @@ static void ppc_heathrow_init (ram_addr_t ram_size, initrd_filename); exit(1); } + cmdline_base = round_page(initrd_base + initrd_size); } else { initrd_base = 0; initrd_size = 0; + cmdline_base = round_page(kernel_base + kernel_size + KERNEL_GAP); } ppc_boot_device = 'm'; } else { @@ -278,8 +285,8 @@ static void ppc_heathrow_init (ram_addr_t ram_size, fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base); fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size); if (kernel_cmdline) { - fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR); - pstrcpy_targphys("cmdline", CMDLINE_ADDR, TARGET_PAGE_SIZE, kernel_cmdline); + fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, cmdline_base); + pstrcpy_targphys("cmdline", cmdline_base, TARGET_PAGE_SIZE, kernel_cmdline); } else { fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0); } From 5de6b46db51cb34857c8bfaef355e048fbc6e020 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Wed, 15 Jun 2011 23:34:04 +0200 Subject: [PATCH 4/9] PPC: mpc8544ds: Add hypervisor node When running a PPC guest with KVM that can do PV operations, we need to indicate the guest which instructions to use for a hypercall and that it is running as KVM guest. This logic was available on openbios based machines already. This patch also adds said functionality to the mpc8544ds machine. Signed-off-by: Alexander Graf Acked-by: Scott Wood --- hw/ppce500_mpc8544ds.c | 21 +++++++++++++++------ pc-bios/mpc8544ds.dtb | Bin 2257 -> 2277 bytes pc-bios/mpc8544ds.dts | 3 +++ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/hw/ppce500_mpc8544ds.c b/hw/ppce500_mpc8544ds.c index 3ba8e75e2b..073de3c052 100644 --- a/hw/ppce500_mpc8544ds.c +++ b/hw/ppce500_mpc8544ds.c @@ -82,11 +82,12 @@ out: } #endif -static int mpc8544_load_device_tree(target_phys_addr_t addr, - uint32_t ramsize, - target_phys_addr_t initrd_base, - target_phys_addr_t initrd_size, - const char *kernel_cmdline) +static int mpc8544_load_device_tree(CPUState *env, + target_phys_addr_t addr, + uint32_t ramsize, + target_phys_addr_t initrd_base, + target_phys_addr_t initrd_size, + const char *kernel_cmdline) { int ret = -1; #ifdef CONFIG_FDT @@ -94,6 +95,7 @@ static int mpc8544_load_device_tree(target_phys_addr_t addr, char *filename; int fdt_size; void *fdt; + uint8_t hypercall[16]; filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, BINARY_DEVICE_TREE_FILE); if (!filename) { @@ -157,6 +159,13 @@ static int mpc8544_load_device_tree(target_phys_addr_t addr, mpc8544_copy_soc_cell(fdt, buf, "clock-frequency"); mpc8544_copy_soc_cell(fdt, buf, "timebase-frequency"); + + /* indicate KVM hypercall interface */ + qemu_devtree_setprop_string(fdt, "/hypervisor", "compatible", + "linux,kvm"); + kvmppc_get_hypercall(env, hypercall, sizeof(hypercall)); + qemu_devtree_setprop(fdt, "/hypervisor", "hcall-instructions", + hypercall, sizeof(hypercall)); } else { const uint32_t freq = 400000000; @@ -330,7 +339,7 @@ static void mpc8544ds_init(ram_addr_t ram_size, cpu_abort(env, "Compiled without FDT support - can't load kernel\n"); #endif dt_base = (kernel_size + DTC_LOAD_PAD) & ~DTC_PAD_MASK; - if (mpc8544_load_device_tree(dt_base, ram_size, + if (mpc8544_load_device_tree(env, dt_base, ram_size, initrd_base, initrd_size, kernel_cmdline) < 0) { fprintf(stderr, "couldn't load device tree\n"); exit(1); diff --git a/pc-bios/mpc8544ds.dtb b/pc-bios/mpc8544ds.dtb index 189224e5875e9dd0d9195c22624b85bfb29dd820..ae318b1fe83846cc2e133951a3666fcfcdf87f79 100644 GIT binary patch delta 47 zcmca8_*78f0`I@K3=AAk85kHW7#P?qCJKl%I&9Q1XXj?js4Pe=D$6X+FWMZ&Ud;#q DUc3%i delta 35 rcmaDVcu`Q`0`I@K3=A9>85kHW7#P@7CJKl%>TJ|7XWv}RUc?9h$W95# diff --git a/pc-bios/mpc8544ds.dts b/pc-bios/mpc8544ds.dts index fd792d5f88..a88b47c11b 100644 --- a/pc-bios/mpc8544ds.dts +++ b/pc-bios/mpc8544ds.dts @@ -125,4 +125,7 @@ chosen { linux,stdout-path = "/soc8544@e0000000/serial@4500"; }; + + hypervisor { + }; }; From a59106cbbb53917352b3e76c5551b65432878e19 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Fri, 17 Jun 2011 02:56:56 +0200 Subject: [PATCH 5/9] PPC: update openbios firmware There were some changes upstream to account for broken usage of mtmsr, so before applying the mtmsr patch we need to update OpenBIOS, otherwise the PPC target would break. Signed-off-by: Alexander Graf --- pc-bios/README | 6 ++++-- pc-bios/openbios-ppc | Bin 729876 -> 750392 bytes 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pc-bios/README b/pc-bios/README index fe221a940f..40568f82aa 100644 --- a/pc-bios/README +++ b/pc-bios/README @@ -10,8 +10,10 @@ - OpenBIOS (http://www.openbios.org/) is a free (GPL v2) portable firmware implementation. The goal is to implement a 100% IEEE 1275-1994 (referred to as Open Firmware) compliant firmware. - The included image for PowerPC (for 32 and 64 bit PPC CPUs), Sparc32 - and Sparc64 are built from OpenBIOS SVN revision 1018. + The included image for PowerPC (for 32 and 64 bit PPC CPUs), + + PowerPC is built from OpenBIOS SVN revision 1044 + Sparc32 and Sparc64 are built from OpenBIOS SVN revision 1018. - SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware implementation for certain IBM POWER hardware. The sources are at diff --git a/pc-bios/openbios-ppc b/pc-bios/openbios-ppc index ee6f5ae3b93a0570ff1eea5998716c361b15e989..6525a9199a312613f376fe9dbc492a186bebcf7b 100644 GIT binary patch literal 750392 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𝔱X{!d>vwZ)RrA6G**o#l8CGq$F`tnRHMEz?fq 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

kQ+u610yQq%)U%bAW3Csa?1?zs?-Zzh#i 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�s=1M(HCd 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 J{O_3F{{k(@i$nkb literal 729876 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 EzXA+_y#N3J From 8018dc63aab936f1a5cff6e707289116ea97c423 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Thu, 16 Jun 2011 10:44:23 +0200 Subject: [PATCH 6/9] PPC: Only set lower 32bits with mtmsr As Nathan pointed out correctly, the mtmsr instruction does not modify the high 32 bits of MSR. It also doesn't matter if SF is set or not, the instruction always behaves the same. This patch moves it a bit closer to the spec. Reported-by: Nathan Whitehorn Signed-off-by: Alexander Graf --- target-ppc/translate.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/target-ppc/translate.c b/target-ppc/translate.c index 59aef855d4..7e318e397a 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -3878,24 +3878,19 @@ static void gen_mtmsr(DisasContext *ctx) tcg_gen_or_tl(cpu_msr, cpu_msr, t0); tcg_temp_free(t0); } else { + TCGv msr = tcg_temp_new(); + /* XXX: we need to update nip before the store * if we enter power saving mode, we will exit the loop * directly from ppc_store_msr */ gen_update_nip(ctx, ctx->nip); #if defined(TARGET_PPC64) - if (!ctx->sf_mode) { - TCGv t0 = tcg_temp_new(); - TCGv t1 = tcg_temp_new(); - tcg_gen_andi_tl(t0, cpu_msr, 0xFFFFFFFF00000000ULL); - tcg_gen_ext32u_tl(t1, cpu_gpr[rS(ctx->opcode)]); - tcg_gen_or_tl(t0, t0, t1); - tcg_temp_free(t1); - gen_helper_store_msr(t0); - tcg_temp_free(t0); - } else + tcg_gen_deposit_tl(msr, cpu_msr, cpu_gpr[rS(ctx->opcode)], 0, 32); +#else + tcg_gen_mov_tl(msr, cpu_gpr[rS(ctx->opcode)]); #endif - gen_helper_store_msr(cpu_gpr[rS(ctx->opcode)]); + gen_helper_store_msr(msr); /* Must stop the translation as machine state (may have) changed */ /* Note that mtmsr is not always defined as context-synchronizing */ gen_stop_exception(ctx); From d1e256fe47be3dd43f38a8ec50f860506f975baf Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Thu, 16 Jun 2011 18:45:43 +0200 Subject: [PATCH 7/9] PPC: E500: Use MAS registers instead of internal TLB representation The natural format for e500 cores to do TLB manipulation with are the MAS registers. Instead of converting them into some internal representation and back again when the guest reads them, we can just keep the data identical to the way the guest passed it to us. The main advantage of this approach is that we're getting closer to being able to share MMU data with KVM using shared memory, so that we don't need to copy lots of MMU data back and forth all the time. For this to work however, another patch is required that gets rid of the TLB union, as that destroys our memory layout that needs to be identical with the kernel one. Signed-off-by: Alexander Graf --- hw/ppce500_mpc8544ds.c | 19 +++-- target-ppc/cpu.h | 32 ++++++--- target-ppc/helper.c | 157 ++++++++++++++++++++++++++++++++++++++--- target-ppc/op_helper.c | 148 +++++++++----------------------------- 4 files changed, 213 insertions(+), 143 deletions(-) diff --git a/hw/ppce500_mpc8544ds.c b/hw/ppce500_mpc8544ds.c index 073de3c052..b739ce27ed 100644 --- a/hw/ppce500_mpc8544ds.c +++ b/hw/ppce500_mpc8544ds.c @@ -185,18 +185,23 @@ out: } /* Create -kernel TLB entries for BookE, linearly spanning 256MB. */ +static inline target_phys_addr_t booke206_page_size_to_tlb(uint64_t size) +{ + return (ffs(size >> 10) - 1) >> 1; +} + static void mmubooke_create_initial_mapping(CPUState *env, target_ulong va, target_phys_addr_t pa) { - ppcemb_tlb_t *tlb = booke206_get_tlbe(env, 1, 0, 0); + ppcmas_tlb_t *tlb = booke206_get_tlbm(env, 1, 0, 0); + target_phys_addr_t size; - tlb->attr = 0; - tlb->prot = PAGE_VALID | ((PAGE_READ | PAGE_WRITE | PAGE_EXEC) << 4); - tlb->size = 256 * 1024 * 1024; - tlb->EPN = va & TARGET_PAGE_MASK; - tlb->RPN = pa & TARGET_PAGE_MASK; - tlb->PID = 0; + size = (booke206_page_size_to_tlb(256 * 1024 * 1024) << MAS1_TSIZE_SHIFT); + tlb->mas1 = MAS1_VALID | size; + tlb->mas2 = va & TARGET_PAGE_MASK; + tlb->mas7_3 = pa & TARGET_PAGE_MASK; + tlb->mas7_3 |= MAS3_UR | MAS3_UW | MAS3_UX | MAS3_SR | MAS3_SW | MAS3_SX; } static void mpc8544ds_cpu_reset(void *opaque) diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h index 8e4582f6ab..758c5549af 100644 --- a/target-ppc/cpu.h +++ b/target-ppc/cpu.h @@ -360,9 +360,17 @@ struct ppcemb_tlb_t { uint32_t attr; /* Storage attributes */ }; +typedef struct ppcmas_tlb_t { + uint32_t mas8; + uint32_t mas1; + uint64_t mas2; + uint64_t mas7_3; +} ppcmas_tlb_t; + union ppc_tlb_t { ppc6xx_tlb_t tlb6; ppcemb_tlb_t tlbe; + ppcmas_tlb_t tlbm; }; #endif @@ -1075,9 +1083,13 @@ void store_40x_sler (CPUPPCState *env, uint32_t val); void store_booke_tcr (CPUPPCState *env, target_ulong val); void store_booke_tsr (CPUPPCState *env, target_ulong val); void booke206_flush_tlb(CPUState *env, int flags, const int check_iprot); +target_phys_addr_t booke206_tlb_to_page_size(CPUState *env, ppcmas_tlb_t *tlb); int ppcemb_tlb_check(CPUState *env, ppcemb_tlb_t *tlb, target_phys_addr_t *raddrp, target_ulong address, uint32_t pid, int ext, int i); +int ppcmas_tlb_check(CPUState *env, ppcmas_tlb_t *tlb, + target_phys_addr_t *raddrp, target_ulong address, + uint32_t pid); void ppc_tlb_invalidate_all (CPUPPCState *env); void ppc_tlb_invalidate_one (CPUPPCState *env, target_ulong addr); #if defined(TARGET_PPC64) @@ -1927,12 +1939,12 @@ static inline void cpu_set_tls(CPUState *env, target_ulong newtls) } #if !defined(CONFIG_USER_ONLY) -static inline int booke206_tlbe_id(CPUState *env, ppcemb_tlb_t *tlbe) +static inline int booke206_tlbm_id(CPUState *env, ppcmas_tlb_t *tlbm) { - uintptr_t tlbel = (uintptr_t)tlbe; + uintptr_t tlbml = (uintptr_t)tlbm; uintptr_t tlbl = (uintptr_t)env->tlb; - return (tlbel - tlbl) / sizeof(env->tlb[0]); + return (tlbml - tlbl) / sizeof(env->tlb[0]); } static inline int booke206_tlb_size(CPUState *env, int tlbn) @@ -1949,9 +1961,9 @@ static inline int booke206_tlb_ways(CPUState *env, int tlbn) return r; } -static inline int booke206_tlbe_to_tlbn(CPUState *env, ppcemb_tlb_t *tlbe) +static inline int booke206_tlbm_to_tlbn(CPUState *env, ppcmas_tlb_t *tlbm) { - int id = booke206_tlbe_id(env, tlbe); + int id = booke206_tlbm_id(env, tlbm); int end = 0; int i; @@ -1966,14 +1978,14 @@ static inline int booke206_tlbe_to_tlbn(CPUState *env, ppcemb_tlb_t *tlbe) return 0; } -static inline int booke206_tlbe_to_way(CPUState *env, ppcemb_tlb_t *tlb) +static inline int booke206_tlbm_to_way(CPUState *env, ppcmas_tlb_t *tlb) { - int tlbn = booke206_tlbe_to_tlbn(env, tlb); - int tlbid = booke206_tlbe_id(env, tlb); + int tlbn = booke206_tlbm_to_tlbn(env, tlb); + int tlbid = booke206_tlbm_id(env, tlb); return tlbid & (booke206_tlb_ways(env, tlbn) - 1); } -static inline ppcemb_tlb_t *booke206_get_tlbe(CPUState *env, const int tlbn, +static inline ppcmas_tlb_t *booke206_get_tlbm(CPUState *env, const int tlbn, target_ulong ea, int way) { int r; @@ -1992,7 +2004,7 @@ static inline ppcemb_tlb_t *booke206_get_tlbe(CPUState *env, const int tlbn, r += booke206_tlb_size(env, i); } - return &env->tlb[r].tlbe; + return &env->tlb[r].tlbm; } #endif diff --git a/target-ppc/helper.c b/target-ppc/helper.c index 2944b062a5..8cf9ee1182 100644 --- a/target-ppc/helper.c +++ b/target-ppc/helper.c @@ -1279,8 +1279,8 @@ void booke206_flush_tlb(CPUState *env, int flags, const int check_iprot) if (flags & (1 << i)) { tlb_size = booke206_tlb_size(env, i); for (j = 0; j < tlb_size; j++) { - if (!check_iprot || !(tlb[j].tlbe.attr & MAS1_IPROT)) { - tlb[j].tlbe.prot = 0; + if (!check_iprot || !(tlb[j].tlbm.mas1 & MAS1_IPROT)) { + tlb[j].tlbm.mas1 &= ~MAS1_VALID; } } } @@ -1290,11 +1290,148 @@ void booke206_flush_tlb(CPUState *env, int flags, const int check_iprot) tlb_flush(env, 1); } -static int mmubooke206_get_physical_address(CPUState *env, mmu_ctx_t *ctx, - target_ulong address, int rw, - int access_type) +target_phys_addr_t booke206_tlb_to_page_size(CPUState *env, ppcmas_tlb_t *tlb) { - ppcemb_tlb_t *tlb; + uint32_t tlbncfg; + int tlbn = booke206_tlbm_to_tlbn(env, tlb); + target_phys_addr_t tlbm_size; + + tlbncfg = env->spr[SPR_BOOKE_TLB0CFG + tlbn]; + + if (tlbncfg & TLBnCFG_AVAIL) { + tlbm_size = (tlb->mas1 & MAS1_TSIZE_MASK) >> MAS1_TSIZE_SHIFT; + } else { + tlbm_size = (tlbncfg & TLBnCFG_MINSIZE) >> TLBnCFG_MINSIZE_SHIFT; + } + + return (1 << (tlbm_size << 1)) << 10; +} + +/* TLB check function for MAS based SoftTLBs */ +int ppcmas_tlb_check(CPUState *env, ppcmas_tlb_t *tlb, + target_phys_addr_t *raddrp, + target_ulong address, uint32_t pid) +{ + target_ulong mask; + uint32_t tlb_pid; + + /* Check valid flag */ + if (!(tlb->mas1 & MAS1_VALID)) { + return -1; + } + + mask = ~(booke206_tlb_to_page_size(env, tlb) - 1); + LOG_SWTLB("%s: TLB ADDR=0x" TARGET_FMT_lx " PID=0x%x MAS1=0x%x MAS2=0x%" + PRIx64 " mask=0x" TARGET_FMT_lx " MAS7_3=0x%" PRIx64 " MAS8=%x\n", + __func__, address, pid, tlb->mas1, tlb->mas2, mask, tlb->mas7_3, + tlb->mas8); + + /* Check PID */ + tlb_pid = (tlb->mas1 & MAS1_TID_MASK) >> MAS1_TID_SHIFT; + if (tlb_pid != 0 && tlb_pid != pid) { + return -1; + } + + /* Check effective address */ + if ((address & mask) != (tlb->mas2 & MAS2_EPN_MASK)) { + return -1; + } + *raddrp = (tlb->mas7_3 & mask) | (address & ~mask); + + return 0; +} + +static int mmubooke206_check_tlb(CPUState *env, ppcmas_tlb_t *tlb, + target_phys_addr_t *raddr, int *prot, + target_ulong address, int rw, + int access_type) +{ + int ret; + int _prot = 0; + + if (ppcmas_tlb_check(env, tlb, raddr, address, + env->spr[SPR_BOOKE_PID]) >= 0) { + goto found_tlb; + } + + if (env->spr[SPR_BOOKE_PID1] && + ppcmas_tlb_check(env, tlb, raddr, address, + env->spr[SPR_BOOKE_PID1]) >= 0) { + goto found_tlb; + } + + if (env->spr[SPR_BOOKE_PID2] && + ppcmas_tlb_check(env, tlb, raddr, address, + env->spr[SPR_BOOKE_PID2]) >= 0) { + goto found_tlb; + } + + LOG_SWTLB("%s: TLB entry not found\n", __func__); + return -1; + +found_tlb: + + if (msr_pr != 0) { + if (tlb->mas7_3 & MAS3_UR) { + _prot |= PAGE_READ; + } + if (tlb->mas7_3 & MAS3_UW) { + _prot |= PAGE_WRITE; + } + if (tlb->mas7_3 & MAS3_UX) { + _prot |= PAGE_EXEC; + } + } else { + if (tlb->mas7_3 & MAS3_SR) { + _prot |= PAGE_READ; + } + if (tlb->mas7_3 & MAS3_SW) { + _prot |= PAGE_WRITE; + } + if (tlb->mas7_3 & MAS3_SX) { + _prot |= PAGE_EXEC; + } + } + + /* Check the address space and permissions */ + if (access_type == ACCESS_CODE) { + if (msr_ir != ((tlb->mas1 & MAS1_TS) >> MAS1_TS_SHIFT)) { + LOG_SWTLB("%s: AS doesn't match\n", __func__); + return -1; + } + + *prot = _prot; + if (_prot & PAGE_EXEC) { + LOG_SWTLB("%s: good TLB!\n", __func__); + return 0; + } + + LOG_SWTLB("%s: no PAGE_EXEC: %x\n", __func__, _prot); + ret = -3; + } else { + if (msr_dr != ((tlb->mas1 & MAS1_TS) >> MAS1_TS_SHIFT)) { + LOG_SWTLB("%s: AS doesn't match\n", __func__); + return -1; + } + + *prot = _prot; + if ((!rw && _prot & PAGE_READ) || (rw && (_prot & PAGE_WRITE))) { + LOG_SWTLB("%s: found TLB!\n", __func__); + return 0; + } + + LOG_SWTLB("%s: PAGE_READ/WRITE doesn't match: %x\n", __func__, _prot); + ret = -2; + } + + return ret; +} + +static int mmubooke206_get_physical_address(CPUState *env, mmu_ctx_t *ctx, + target_ulong address, int rw, + int access_type) +{ + ppcmas_tlb_t *tlb; target_phys_addr_t raddr; int i, j, ret; @@ -1305,9 +1442,9 @@ static int mmubooke206_get_physical_address(CPUState *env, mmu_ctx_t *ctx, int ways = booke206_tlb_ways(env, i); for (j = 0; j < ways; j++) { - tlb = booke206_get_tlbe(env, i, address, j); - ret = mmubooke_check_tlb(env, tlb, &raddr, &ctx->prot, address, rw, - access_type, j); + tlb = booke206_get_tlbm(env, i, address, j); + ret = mmubooke206_check_tlb(env, tlb, &raddr, &ctx->prot, address, + rw, access_type); if (ret != -1) { goto found_tlb; } @@ -1412,7 +1549,7 @@ int get_physical_address (CPUState *env, mmu_ctx_t *ctx, target_ulong eaddr, rw, access_type); } else if (env->mmu_model == POWERPC_MMU_BOOKE206) { ret = mmubooke206_get_physical_address(env, ctx, eaddr, rw, - access_type); + access_type); } else { /* No address translation. */ ret = check_physical(env, ctx, eaddr, rw); diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c index 15d9222c72..135211dee6 100644 --- a/target-ppc/op_helper.c +++ b/target-ppc/op_helper.c @@ -4196,7 +4196,7 @@ target_ulong helper_440_tlbsx (target_ulong address) /* PowerPC BookE 2.06 TLB management */ -static ppcemb_tlb_t *booke206_cur_tlb(CPUState *env) +static ppcmas_tlb_t *booke206_cur_tlb(CPUState *env) { uint32_t tlbncfg = 0; int esel = (env->spr[SPR_BOOKE_MAS0] & MAS0_ESEL_MASK) >> MAS0_ESEL_SHIFT; @@ -4210,17 +4210,7 @@ static ppcemb_tlb_t *booke206_cur_tlb(CPUState *env) cpu_abort(env, "we don't support HES yet\n"); } - return booke206_get_tlbe(env, tlb, ea, esel); -} - -static inline target_phys_addr_t booke206_tlb_to_page_size(int size) -{ - return (1 << (size << 1)) << 10; -} - -static inline target_phys_addr_t booke206_page_size_to_tlb(uint64_t size) -{ - return (ffs(size >> 10) - 1) >> 1; + return booke206_get_tlbm(env, tlb, ea, esel); } void helper_booke_setpid(uint32_t pidn, target_ulong pid) @@ -4233,9 +4223,7 @@ void helper_booke_setpid(uint32_t pidn, target_ulong pid) void helper_booke206_tlbwe(void) { uint32_t tlbncfg, tlbn; - ppcemb_tlb_t *tlb; - target_phys_addr_t rpn; - int tlbe_size; + ppcmas_tlb_t *tlb; switch (env->spr[SPR_BOOKE_MAS0] & MAS0_WQ_MASK) { case MAS0_WQ_ALWAYS: @@ -4269,116 +4257,43 @@ void helper_booke206_tlbwe(void) if (msr_gs) { cpu_abort(env, "missing HV implementation\n"); - } else { - rpn = ((uint64_t)env->spr[SPR_BOOKE_MAS7] << 32) | - (env->spr[SPR_BOOKE_MAS3] & 0xfffff000); } - tlb->RPN = rpn; + tlb->mas7_3 = ((uint64_t)env->spr[SPR_BOOKE_MAS7] << 32) | + env->spr[SPR_BOOKE_MAS3]; + tlb->mas1 = env->spr[SPR_BOOKE_MAS1]; + /* XXX needs to change when supporting 64-bit e500 */ + tlb->mas2 = env->spr[SPR_BOOKE_MAS2] & 0xffffffff; - tlb->PID = (env->spr[SPR_BOOKE_MAS1] & MAS1_TID_MASK) >> MAS1_TID_SHIFT; - if (tlbncfg & TLBnCFG_AVAIL) { - tlbe_size = (env->spr[SPR_BOOKE_MAS1] & MAS1_TSIZE_MASK) - >> MAS1_TSIZE_SHIFT; - } else { - tlbe_size = (tlbncfg & TLBnCFG_MINSIZE) >> TLBnCFG_MINSIZE_SHIFT; + if (!(tlbncfg & TLBnCFG_IPROT)) { + /* no IPROT supported by TLB */ + tlb->mas1 &= ~MAS1_IPROT; } - tlb->size = booke206_tlb_to_page_size(tlbe_size); - tlb->EPN = (uint32_t)(env->spr[SPR_BOOKE_MAS2] & MAS2_EPN_MASK); - tlb->attr = env->spr[SPR_BOOKE_MAS2] & (MAS2_ACM | MAS2_VLE | MAS2_W | - MAS2_I | MAS2_M | MAS2_G | MAS2_E) - << 1; - - if (tlbncfg & TLBnCFG_IPROT) { - tlb->attr |= env->spr[SPR_BOOKE_MAS1] & MAS1_IPROT; - } - tlb->attr |= (env->spr[SPR_BOOKE_MAS3] & - ((MAS3_U0 | MAS3_U1 | MAS3_U2 | MAS3_U3)) << 8); - if (env->spr[SPR_BOOKE_MAS1] & MAS1_TS) { - tlb->attr |= 1; - } - - tlb->prot = 0; - - if (env->spr[SPR_BOOKE_MAS1] & MAS1_VALID) { - tlb->prot |= PAGE_VALID; - } - if (env->spr[SPR_BOOKE_MAS3] & MAS3_UX) { - tlb->prot |= PAGE_EXEC; - } - if (env->spr[SPR_BOOKE_MAS3] & MAS3_SX) { - tlb->prot |= PAGE_EXEC << 4; - } - if (env->spr[SPR_BOOKE_MAS3] & MAS3_UW) { - tlb->prot |= PAGE_WRITE; - } - if (env->spr[SPR_BOOKE_MAS3] & MAS3_SW) { - tlb->prot |= PAGE_WRITE << 4; - } - if (env->spr[SPR_BOOKE_MAS3] & MAS3_UR) { - tlb->prot |= PAGE_READ; - } - if (env->spr[SPR_BOOKE_MAS3] & MAS3_SR) { - tlb->prot |= PAGE_READ << 4; - } - - if (tlb->size == TARGET_PAGE_SIZE) { - tlb_flush_page(env, tlb->EPN); + if (booke206_tlb_to_page_size(env, tlb) == TARGET_PAGE_SIZE) { + tlb_flush_page(env, tlb->mas2 & MAS2_EPN_MASK); } else { tlb_flush(env, 1); } } -static inline void booke206_tlb_to_mas(CPUState *env, ppcemb_tlb_t *tlb) +static inline void booke206_tlb_to_mas(CPUState *env, ppcmas_tlb_t *tlb) { - int tlbn = booke206_tlbe_to_tlbn(env, tlb); - int way = booke206_tlbe_to_way(env, tlb); + int tlbn = booke206_tlbm_to_tlbn(env, tlb); + int way = booke206_tlbm_to_way(env, tlb); env->spr[SPR_BOOKE_MAS0] = tlbn << MAS0_TLBSEL_SHIFT; env->spr[SPR_BOOKE_MAS0] |= way << MAS0_ESEL_SHIFT; - - env->spr[SPR_BOOKE_MAS1] = MAS1_VALID; - env->spr[SPR_BOOKE_MAS2] = 0; - - env->spr[SPR_BOOKE_MAS7] = (uint64_t)tlb->RPN >> 32; - env->spr[SPR_BOOKE_MAS3] = tlb->RPN; - env->spr[SPR_BOOKE_MAS1] |= tlb->PID << MAS1_TID_SHIFT; - env->spr[SPR_BOOKE_MAS1] |= booke206_page_size_to_tlb(tlb->size) - << MAS1_TSIZE_SHIFT; - env->spr[SPR_BOOKE_MAS1] |= tlb->attr & MAS1_IPROT; - if (tlb->attr & 1) { - env->spr[SPR_BOOKE_MAS1] |= MAS1_TS; - } - - env->spr[SPR_BOOKE_MAS2] = tlb->EPN; - env->spr[SPR_BOOKE_MAS2] |= (tlb->attr >> 1) & - (MAS2_ACM | MAS2_VLE | MAS2_W | MAS2_I | MAS2_M | MAS2_G | MAS2_E); - - if (tlb->prot & PAGE_EXEC) { - env->spr[SPR_BOOKE_MAS3] |= MAS3_UX; - } - if (tlb->prot & (PAGE_EXEC << 4)) { - env->spr[SPR_BOOKE_MAS3] |= MAS3_SX; - } - if (tlb->prot & PAGE_WRITE) { - env->spr[SPR_BOOKE_MAS3] |= MAS3_UW; - } - if (tlb->prot & (PAGE_WRITE << 4)) { - env->spr[SPR_BOOKE_MAS3] |= MAS3_SW; - } - if (tlb->prot & PAGE_READ) { - env->spr[SPR_BOOKE_MAS3] |= MAS3_UR; - } - if (tlb->prot & (PAGE_READ << 4)) { - env->spr[SPR_BOOKE_MAS3] |= MAS3_SR; - } - env->spr[SPR_BOOKE_MAS0] |= env->last_way << MAS0_NV_SHIFT; + + env->spr[SPR_BOOKE_MAS1] = tlb->mas1; + env->spr[SPR_BOOKE_MAS2] = tlb->mas2; + env->spr[SPR_BOOKE_MAS3] = tlb->mas7_3; + env->spr[SPR_BOOKE_MAS7] = tlb->mas7_3 >> 32; } void helper_booke206_tlbre(void) { - ppcemb_tlb_t *tlb = NULL; + ppcmas_tlb_t *tlb = NULL; tlb = booke206_cur_tlb(env); booke206_tlb_to_mas(env, tlb); @@ -4386,7 +4301,7 @@ void helper_booke206_tlbre(void) void helper_booke206_tlbsx(target_ulong address) { - ppcemb_tlb_t *tlb = NULL; + ppcmas_tlb_t *tlb = NULL; int i, j; target_phys_addr_t raddr; uint32_t spid, sas; @@ -4398,13 +4313,13 @@ void helper_booke206_tlbsx(target_ulong address) int ways = booke206_tlb_ways(env, i); for (j = 0; j < ways; j++) { - tlb = booke206_get_tlbe(env, i, address, j); + tlb = booke206_get_tlbm(env, i, address, j); - if (ppcemb_tlb_check(env, tlb, &raddr, address, spid, 0, j)) { + if (ppcmas_tlb_check(env, tlb, &raddr, address, spid)) { continue; } - if (sas != (tlb->attr & MAS6_SAS)) { + if (sas != ((tlb->mas1 & MAS1_TS) >> MAS1_TS_SHIFT)) { continue; } @@ -4439,13 +4354,14 @@ static inline void booke206_invalidate_ea_tlb(CPUState *env, int tlbn, { int i; int ways = booke206_tlb_ways(env, tlbn); + target_ulong mask; for (i = 0; i < ways; i++) { - ppcemb_tlb_t *tlb = booke206_get_tlbe(env, tlbn, ea, i); - target_phys_addr_t masked_ea = ea & ~(tlb->size - 1); - if ((tlb->EPN == (masked_ea >> MAS2_EPN_SHIFT)) && - !(tlb->attr & MAS1_IPROT)) { - tlb->prot = 0; + ppcmas_tlb_t *tlb = booke206_get_tlbm(env, tlbn, ea, i); + mask = ~(booke206_tlb_to_page_size(env, tlb) - 1); + if (((tlb->mas2 & MAS2_EPN_MASK) == (ea & mask)) && + !(tlb->mas1 & MAS1_IPROT)) { + tlb->mas1 &= ~MAS1_VALID; } } } From 0dd4bc7dd45de7afa88662d24bd50a3aafdbab64 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Thu, 16 Jun 2011 18:49:22 +0200 Subject: [PATCH 8/9] PPC: 440: Use 440 style MMU as default, so Qemu knows the MMU type We have some KVM interaction code in Qemu that tries to be clever and ignore some capabilities when running on BookE style MMUs. Unfortunately, the default CPU bamboo was defaulting to was not a BookE-style MMU, resulting in the check to fail. With this patch, guests can run again on 440 with -enable-kvm. Signed-off-by: Alexander Graf --- hw/ppc440.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/ppc440.c b/hw/ppc440.c index 1ed001a031..90abc91929 100644 --- a/hw/ppc440.c +++ b/hw/ppc440.c @@ -45,8 +45,9 @@ CPUState *ppc440ep_init(ram_addr_t *ram_size, PCIBus **pcip, qemu_irq *irqs; qemu_irq *pci_irqs; - if (cpu_model == NULL) - cpu_model = "405"; // XXX: should be 440EP + if (cpu_model == NULL) { + cpu_model = "440-Xilinx"; // XXX: should be 440EP + } env = cpu_init(cpu_model); if (!env) { fprintf(stderr, "Unable to initialize CPU!\n"); From 1c53accceeb01246aea0ec361e1efd15cac6db0f Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Fri, 17 Jun 2011 01:00:28 +0200 Subject: [PATCH 9/9] PPC: move TLBs to their own arrays Until now, we've created a union over multiple different TLB types and allocated that union. While it's a waste of memory (and cache) to allocate TLB information for a TLB type with much information when you only need little, it also inflicts another issue. With the new KVM API, we can now share the TLB between KVM and qemu, but for that to work we need to have both be in the same layout. We can't just stretch it over to fit some internal different TLB representation. Hence this patch moves all TLB types to their own array, allowing us to only address and allocate exactly the boundaries required for the specific TLB type at hand. Signed-off-by: Alexander Graf --- hw/virtex_ml507.c | 4 ++-- target-ppc/cpu.h | 21 ++++++++++++++------- target-ppc/helper.c | 26 +++++++++++++------------- target-ppc/machine.c | 16 ++++++++-------- target-ppc/op_helper.c | 12 ++++++------ target-ppc/translate_init.c | 27 ++++++++++++++++++++++++++- 6 files changed, 69 insertions(+), 37 deletions(-) diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c index fa605158e7..7bde8c79de 100644 --- a/hw/virtex_ml507.c +++ b/hw/virtex_ml507.c @@ -60,7 +60,7 @@ static void mmubooke_create_initial_mapping(CPUState *env, target_ulong va, target_phys_addr_t pa) { - ppcemb_tlb_t *tlb = &env->tlb[0].tlbe; + ppcemb_tlb_t *tlb = &env->tlb.tlbe[0]; tlb->attr = 0; tlb->prot = PAGE_VALID | ((PAGE_READ | PAGE_WRITE | PAGE_EXEC) << 4); @@ -69,7 +69,7 @@ static void mmubooke_create_initial_mapping(CPUState *env, tlb->RPN = pa & TARGET_PAGE_MASK; tlb->PID = 0; - tlb = &env->tlb[1].tlbe; + tlb = &env->tlb.tlbe[1]; tlb->attr = 0; tlb->prot = PAGE_VALID | ((PAGE_READ | PAGE_WRITE | PAGE_EXEC) << 4); tlb->size = 1 << 31; /* up to 0xffffffff */ diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h index 758c5549af..46d86be4d7 100644 --- a/target-ppc/cpu.h +++ b/target-ppc/cpu.h @@ -368,10 +368,16 @@ typedef struct ppcmas_tlb_t { } ppcmas_tlb_t; union ppc_tlb_t { - ppc6xx_tlb_t tlb6; - ppcemb_tlb_t tlbe; - ppcmas_tlb_t tlbm; + ppc6xx_tlb_t *tlb6; + ppcemb_tlb_t *tlbe; + ppcmas_tlb_t *tlbm; }; + +/* possible TLB variants */ +#define TLB_NONE 0 +#define TLB_6XX 1 +#define TLB_EMB 2 +#define TLB_MAS 3 #endif #define SDR_32_HTABORG 0xFFFF0000UL @@ -911,7 +917,8 @@ struct CPUPPCState { int last_way; /* Last used way used to allocate TLB in a LRU way */ int id_tlbs; /* If 1, MMU has separated TLBs for instructions & data */ int nb_pids; /* Number of available PID registers */ - ppc_tlb_t *tlb; /* TLB is optional. Allocate them only if needed */ + int tlb_type; /* Type of TLB we're dealing with */ + ppc_tlb_t tlb; /* TLB is optional. Allocate them only if needed */ /* 403 dedicated access protection registers */ target_ulong pb[4]; #endif @@ -1942,9 +1949,9 @@ static inline void cpu_set_tls(CPUState *env, target_ulong newtls) static inline int booke206_tlbm_id(CPUState *env, ppcmas_tlb_t *tlbm) { uintptr_t tlbml = (uintptr_t)tlbm; - uintptr_t tlbl = (uintptr_t)env->tlb; + uintptr_t tlbl = (uintptr_t)env->tlb.tlbm; - return (tlbml - tlbl) / sizeof(env->tlb[0]); + return (tlbml - tlbl) / sizeof(env->tlb.tlbm[0]); } static inline int booke206_tlb_size(CPUState *env, int tlbn) @@ -2004,7 +2011,7 @@ static inline ppcmas_tlb_t *booke206_get_tlbm(CPUState *env, const int tlbn, r += booke206_tlb_size(env, i); } - return &env->tlb[r].tlbm; + return &env->tlb.tlbm[r]; } #endif diff --git a/target-ppc/helper.c b/target-ppc/helper.c index 8cf9ee1182..38849768c5 100644 --- a/target-ppc/helper.c +++ b/target-ppc/helper.c @@ -323,7 +323,7 @@ static inline void ppc6xx_tlb_invalidate_all(CPUState *env) if (env->id_tlbs == 1) max *= 2; for (nr = 0; nr < max; nr++) { - tlb = &env->tlb[nr].tlb6; + tlb = &env->tlb.tlb6[nr]; pte_invalidate(&tlb->pte0); } tlb_flush(env, 1); @@ -340,7 +340,7 @@ static inline void __ppc6xx_tlb_invalidate_virt(CPUState *env, /* Invalidate ITLB + DTLB, all ways */ for (way = 0; way < env->nb_ways; way++) { nr = ppc6xx_tlb_getnum(env, eaddr, way, is_code); - tlb = &env->tlb[nr].tlb6; + tlb = &env->tlb.tlb6[nr]; if (pte_is_valid(tlb->pte0) && (match_epn == 0 || eaddr == tlb->EPN)) { LOG_SWTLB("TLB invalidate %d/%d " TARGET_FMT_lx "\n", nr, env->nb_tlb, eaddr); @@ -367,7 +367,7 @@ void ppc6xx_tlb_store (CPUState *env, target_ulong EPN, int way, int is_code, int nr; nr = ppc6xx_tlb_getnum(env, EPN, way, is_code); - tlb = &env->tlb[nr].tlb6; + tlb = &env->tlb.tlb6[nr]; LOG_SWTLB("Set TLB %d/%d EPN " TARGET_FMT_lx " PTE0 " TARGET_FMT_lx " PTE1 " TARGET_FMT_lx "\n", nr, env->nb_tlb, EPN, pte0, pte1); /* Invalidate any pending reference in Qemu for this virtual address */ @@ -391,7 +391,7 @@ static inline int ppc6xx_tlb_check(CPUState *env, mmu_ctx_t *ctx, for (way = 0; way < env->nb_ways; way++) { nr = ppc6xx_tlb_getnum(env, eaddr, way, access_type == ACCESS_CODE ? 1 : 0); - tlb = &env->tlb[nr].tlb6; + tlb = &env->tlb.tlb6[nr]; /* This test "emulates" the PTE index match for hardware TLBs */ if ((eaddr & TARGET_PAGE_MASK) != tlb->EPN) { LOG_SWTLB("TLB %d/%d %s [" TARGET_FMT_lx " " TARGET_FMT_lx @@ -434,7 +434,7 @@ static inline int ppc6xx_tlb_check(CPUState *env, mmu_ctx_t *ctx, LOG_SWTLB("found TLB at addr " TARGET_FMT_plx " prot=%01x ret=%d\n", ctx->raddr & TARGET_PAGE_MASK, ctx->prot, ret); /* Update page flags */ - pte_update_flags(ctx, &env->tlb[best].tlb6.pte1, ret, rw); + pte_update_flags(ctx, &env->tlb.tlb6[best].pte1, ret, rw); } return ret; @@ -1049,7 +1049,7 @@ int ppcemb_tlb_search (CPUPPCState *env, target_ulong address, uint32_t pid) /* Default return value is no match */ ret = -1; for (i = 0; i < env->nb_tlb; i++) { - tlb = &env->tlb[i].tlbe; + tlb = &env->tlb.tlbe[i]; if (ppcemb_tlb_check(env, tlb, &raddr, address, pid, 0, i) == 0) { ret = i; break; @@ -1066,7 +1066,7 @@ static inline void ppc4xx_tlb_invalidate_all(CPUState *env) int i; for (i = 0; i < env->nb_tlb; i++) { - tlb = &env->tlb[i].tlbe; + tlb = &env->tlb.tlbe[i]; tlb->prot &= ~PAGE_VALID; } tlb_flush(env, 1); @@ -1082,7 +1082,7 @@ static inline void ppc4xx_tlb_invalidate_virt(CPUState *env, int i; for (i = 0; i < env->nb_tlb; i++) { - tlb = &env->tlb[i].tlbe; + tlb = &env->tlb.tlbe[i]; if (ppcemb_tlb_check(env, tlb, &raddr, eaddr, pid, 0, i) == 0) { end = tlb->EPN + tlb->size; for (page = tlb->EPN; page < end; page += TARGET_PAGE_SIZE) @@ -1107,7 +1107,7 @@ static int mmu40x_get_physical_address (CPUState *env, mmu_ctx_t *ctx, raddr = (target_phys_addr_t)-1ULL; pr = msr_pr; for (i = 0; i < env->nb_tlb; i++) { - tlb = &env->tlb[i].tlbe; + tlb = &env->tlb.tlbe[i]; if (ppcemb_tlb_check(env, tlb, &raddr, address, env->spr[SPR_40x_PID], 0, i) < 0) continue; @@ -1248,7 +1248,7 @@ static int mmubooke_get_physical_address (CPUState *env, mmu_ctx_t *ctx, ret = -1; raddr = (target_phys_addr_t)-1ULL; for (i = 0; i < env->nb_tlb; i++) { - tlb = &env->tlb[i].tlbe; + tlb = &env->tlb.tlbe[i]; ret = mmubooke_check_tlb(env, tlb, &raddr, &ctx->prot, address, rw, access_type, i); if (!ret) { @@ -1273,14 +1273,14 @@ void booke206_flush_tlb(CPUState *env, int flags, const int check_iprot) { int tlb_size; int i, j; - ppc_tlb_t *tlb = env->tlb; + ppcmas_tlb_t *tlb = env->tlb.tlbm; for (i = 0; i < BOOKE206_MAX_TLBN; i++) { if (flags & (1 << i)) { tlb_size = booke206_tlb_size(env, i); for (j = 0; j < tlb_size; j++) { - if (!check_iprot || !(tlb[j].tlbm.mas1 & MAS1_IPROT)) { - tlb[j].tlbm.mas1 &= ~MAS1_VALID; + if (!check_iprot || !(tlb[j].mas1 & MAS1_IPROT)) { + tlb[j].mas1 &= ~MAS1_VALID; } } } diff --git a/target-ppc/machine.c b/target-ppc/machine.c index 0c1986e528..1c40d4358a 100644 --- a/target-ppc/machine.c +++ b/target-ppc/machine.c @@ -52,12 +52,12 @@ void cpu_save(QEMUFile *f, void *opaque) qemu_put_sbe32s(f, &env->last_way); qemu_put_sbe32s(f, &env->id_tlbs); qemu_put_sbe32s(f, &env->nb_pids); - if (env->tlb) { + if (env->tlb.tlb6) { // XXX assumes 6xx for (i = 0; i < env->nb_tlb; i++) { - qemu_put_betls(f, &env->tlb[i].tlb6.pte0); - qemu_put_betls(f, &env->tlb[i].tlb6.pte1); - qemu_put_betls(f, &env->tlb[i].tlb6.EPN); + qemu_put_betls(f, &env->tlb.tlb6[i].pte0); + qemu_put_betls(f, &env->tlb.tlb6[i].pte1); + qemu_put_betls(f, &env->tlb.tlb6[i].EPN); } } for (i = 0; i < 4; i++) @@ -140,12 +140,12 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) qemu_get_sbe32s(f, &env->last_way); qemu_get_sbe32s(f, &env->id_tlbs); qemu_get_sbe32s(f, &env->nb_pids); - if (env->tlb) { + if (env->tlb.tlb6) { // XXX assumes 6xx for (i = 0; i < env->nb_tlb; i++) { - qemu_get_betls(f, &env->tlb[i].tlb6.pte0); - qemu_get_betls(f, &env->tlb[i].tlb6.pte1); - qemu_get_betls(f, &env->tlb[i].tlb6.EPN); + qemu_get_betls(f, &env->tlb.tlb6[i].pte0); + qemu_get_betls(f, &env->tlb.tlb6[i].pte1); + qemu_get_betls(f, &env->tlb.tlb6[i].EPN); } } for (i = 0; i < 4; i++) diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c index 135211dee6..82b6651925 100644 --- a/target-ppc/op_helper.c +++ b/target-ppc/op_helper.c @@ -3959,7 +3959,7 @@ target_ulong helper_4xx_tlbre_hi (target_ulong entry) int size; entry &= PPC4XX_TLB_ENTRY_MASK; - tlb = &env->tlb[entry].tlbe; + tlb = &env->tlb.tlbe[entry]; ret = tlb->EPN; if (tlb->prot & PAGE_VALID) { ret |= PPC4XX_TLBHI_V; @@ -3979,7 +3979,7 @@ target_ulong helper_4xx_tlbre_lo (target_ulong entry) target_ulong ret; entry &= PPC4XX_TLB_ENTRY_MASK; - tlb = &env->tlb[entry].tlbe; + tlb = &env->tlb.tlbe[entry]; ret = tlb->RPN; if (tlb->prot & PAGE_EXEC) { ret |= PPC4XX_TLBLO_EX; @@ -3998,7 +3998,7 @@ void helper_4xx_tlbwe_hi (target_ulong entry, target_ulong val) LOG_SWTLB("%s entry %d val " TARGET_FMT_lx "\n", __func__, (int)entry, val); entry &= PPC4XX_TLB_ENTRY_MASK; - tlb = &env->tlb[entry].tlbe; + tlb = &env->tlb.tlbe[entry]; /* Invalidate previous TLB (if it's valid) */ if (tlb->prot & PAGE_VALID) { end = tlb->EPN + tlb->size; @@ -4056,7 +4056,7 @@ void helper_4xx_tlbwe_lo (target_ulong entry, target_ulong val) LOG_SWTLB("%s entry %i val " TARGET_FMT_lx "\n", __func__, (int)entry, val); entry &= PPC4XX_TLB_ENTRY_MASK; - tlb = &env->tlb[entry].tlbe; + tlb = &env->tlb.tlbe[entry]; tlb->attr = val & PPC4XX_TLBLO_ATTR_MASK; tlb->RPN = val & PPC4XX_TLBLO_RPN_MASK; tlb->prot = PAGE_READ; @@ -4091,7 +4091,7 @@ void helper_440_tlbwe (uint32_t word, target_ulong entry, target_ulong value) __func__, word, (int)entry, value); do_flush_tlbs = 0; entry &= 0x3F; - tlb = &env->tlb[entry].tlbe; + tlb = &env->tlb.tlbe[entry]; switch (word) { default: /* Just here to please gcc */ @@ -4150,7 +4150,7 @@ target_ulong helper_440_tlbre (uint32_t word, target_ulong entry) int size; entry &= 0x3F; - tlb = &env->tlb[entry].tlbe; + tlb = &env->tlb.tlbe[entry]; switch (word) { default: /* Just here to please gcc */ diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index fc50ae3cd2..f542b8e4f3 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -844,6 +844,7 @@ static void gen_6xx_7xx_soft_tlb (CPUPPCState *env, int nb_tlbs, int nb_ways) env->nb_tlb = nb_tlbs; env->nb_ways = nb_ways; env->id_tlbs = 1; + env->tlb_type = TLB_6XX; spr_register(env, SPR_DMISS, "DMISS", SPR_NOACCESS, SPR_NOACCESS, &spr_read_generic, SPR_NOACCESS, @@ -1337,6 +1338,7 @@ static void gen_74xx_soft_tlb (CPUPPCState *env, int nb_tlbs, int nb_ways) env->nb_tlb = nb_tlbs; env->nb_ways = nb_ways; env->id_tlbs = 1; + env->tlb_type = TLB_6XX; /* XXX : not implemented */ spr_register(env, SPR_PTEHI, "PTEHI", SPR_NOACCESS, SPR_NOACCESS, @@ -3282,6 +3284,7 @@ static void init_proc_401x2 (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_4xx_softmmu(env); env->dcache_line_size = 32; @@ -3352,6 +3355,7 @@ static void init_proc_IOP480 (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_4xx_softmmu(env); env->dcache_line_size = 32; @@ -3431,6 +3435,7 @@ static void init_proc_403GCX (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_4xx_softmmu(env); env->dcache_line_size = 32; @@ -3479,6 +3484,7 @@ static void init_proc_405 (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_4xx_softmmu(env); env->dcache_line_size = 32; @@ -3561,6 +3567,7 @@ static void init_proc_440EP (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_BookE(env); env->dcache_line_size = 32; @@ -3624,6 +3631,7 @@ static void init_proc_440GP (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_BookE(env); env->dcache_line_size = 32; @@ -3687,6 +3695,7 @@ static void init_proc_440x4 (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_BookE(env); env->dcache_line_size = 32; @@ -3767,6 +3776,7 @@ static void init_proc_440x5 (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_BookE(env); env->dcache_line_size = 32; @@ -3854,6 +3864,7 @@ static void init_proc_460 (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_BookE(env); env->dcache_line_size = 32; @@ -3944,6 +3955,7 @@ static void init_proc_460F (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_BookE(env); env->dcache_line_size = 32; @@ -4251,6 +4263,7 @@ static void init_proc_e200 (CPUPPCState *env) env->nb_tlb = 64; env->nb_ways = 1; env->id_tlbs = 0; + env->tlb_type = TLB_EMB; #endif init_excp_e200(env); env->dcache_line_size = 32; @@ -4464,6 +4477,7 @@ static void init_proc_e500 (CPUPPCState *env, int version) #if !defined(CONFIG_USER_ONLY) env->nb_tlb = 0; + env->tlb_type = TLB_MAS; for (i = 0; i < BOOKE206_MAX_TLBN; i++) { env->nb_tlb += booke206_tlb_size(env, i); } @@ -9186,6 +9200,7 @@ static void init_ppc_proc (CPUPPCState *env, const ppc_def_t *def) env->nb_BATs = 0; env->nb_tlb = 0; env->nb_ways = 0; + env->tlb_type = TLB_NONE; #endif /* Register SPR common to all PowerPC implementations */ gen_spr_generic(env); @@ -9310,7 +9325,17 @@ static void init_ppc_proc (CPUPPCState *env, const ppc_def_t *def) int nb_tlb = env->nb_tlb; if (env->id_tlbs != 0) nb_tlb *= 2; - env->tlb = qemu_mallocz(nb_tlb * sizeof(ppc_tlb_t)); + switch (env->tlb_type) { + case TLB_6XX: + env->tlb.tlb6 = qemu_mallocz(nb_tlb * sizeof(ppc6xx_tlb_t)); + break; + case TLB_EMB: + env->tlb.tlbe = qemu_mallocz(nb_tlb * sizeof(ppcemb_tlb_t)); + break; + case TLB_MAS: + env->tlb.tlbm = qemu_mallocz(nb_tlb * sizeof(ppcmas_tlb_t)); + break; + } /* Pre-compute some useful values */ env->tlb_per_way = env->nb_tlb / env->nb_ways; }