ppc: Remove deprecated ppcemb target
There is no known available OS for ppc around anymore that uses page sizes below 4k, so it does not make much sense that we keep wasting our time on building and testing the ppcemb-softmmu target. It has been deprecated since two releases, and nobody complained, so let's remove this now. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
19b599f766
commit
a69dc537cc
13
configure
vendored
13
configure
vendored
@ -195,8 +195,7 @@ supported_kvm_target() {
|
|||||||
i386:i386 | i386:x86_64 | i386:x32 | \
|
i386:i386 | i386:x86_64 | i386:x32 | \
|
||||||
x86_64:i386 | x86_64:x86_64 | x86_64:x32 | \
|
x86_64:i386 | x86_64:x86_64 | x86_64:x32 | \
|
||||||
mips:mips | mipsel:mips | \
|
mips:mips | mipsel:mips | \
|
||||||
ppc:ppc | ppcemb:ppc | ppc64:ppc | \
|
ppc:ppc | ppc64:ppc | ppc:ppc64 | ppc64:ppc64 | \
|
||||||
ppc:ppc64 | ppcemb:ppc64 | ppc64:ppc64 | \
|
|
||||||
s390x:s390x)
|
s390x:s390x)
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
@ -6951,7 +6950,7 @@ if test "$linux" = "yes" ; then
|
|||||||
i386|x86_64|x32)
|
i386|x86_64|x32)
|
||||||
linux_arch=x86
|
linux_arch=x86
|
||||||
;;
|
;;
|
||||||
ppcemb|ppc|ppc64)
|
ppc|ppc64)
|
||||||
linux_arch=powerpc
|
linux_arch=powerpc
|
||||||
;;
|
;;
|
||||||
s390x)
|
s390x)
|
||||||
@ -6981,7 +6980,7 @@ target_name=$(echo $target | cut -d '-' -f 1)
|
|||||||
target_bigendian="no"
|
target_bigendian="no"
|
||||||
|
|
||||||
case "$target_name" in
|
case "$target_name" in
|
||||||
armeb|aarch64_be|hppa|lm32|m68k|microblaze|mips|mipsn32|mips64|moxie|or1k|ppc|ppcemb|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus|xtensaeb)
|
armeb|aarch64_be|hppa|lm32|m68k|microblaze|mips|mipsn32|mips64|moxie|or1k|ppc|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus|xtensaeb)
|
||||||
target_bigendian=yes
|
target_bigendian=yes
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -7109,12 +7108,6 @@ case "$target_name" in
|
|||||||
gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
|
gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
|
||||||
target_compiler=$cross_cc_powerpc
|
target_compiler=$cross_cc_powerpc
|
||||||
;;
|
;;
|
||||||
ppcemb)
|
|
||||||
TARGET_BASE_ARCH=ppc
|
|
||||||
TARGET_ABI_DIR=ppc
|
|
||||||
gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
|
|
||||||
target_compiler=$cross_cc_ppcemb
|
|
||||||
;;
|
|
||||||
ppc64)
|
ppc64)
|
||||||
TARGET_BASE_ARCH=ppc
|
TARGET_BASE_ARCH=ppc
|
||||||
TARGET_ABI_DIR=ppc
|
TARGET_ABI_DIR=ppc
|
||||||
|
1
cpus.c
1
cpus.c
@ -2251,7 +2251,6 @@ static CpuInfoArch sysemu_target_to_cpuinfo_arch(SysEmuTarget target)
|
|||||||
return CPU_INFO_ARCH_X86;
|
return CPU_INFO_ARCH_X86;
|
||||||
|
|
||||||
case SYS_EMU_TARGET_PPC:
|
case SYS_EMU_TARGET_PPC:
|
||||||
case SYS_EMU_TARGET_PPCEMB:
|
|
||||||
case SYS_EMU_TARGET_PPC64:
|
case SYS_EMU_TARGET_PPC64:
|
||||||
return CPU_INFO_ARCH_PPC;
|
return CPU_INFO_ARCH_PPC;
|
||||||
|
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
# Default configuration for ppcemb-softmmu
|
|
||||||
|
|
||||||
include pci.mak
|
|
||||||
include sound.mak
|
|
||||||
include usb.mak
|
|
||||||
CONFIG_PPC4XX=y
|
|
||||||
CONFIG_M48T59=y
|
|
||||||
CONFIG_SERIAL=y
|
|
||||||
CONFIG_SERIAL_ISA=y
|
|
||||||
CONFIG_I8257=y
|
|
||||||
CONFIG_OPENPIC=y
|
|
||||||
CONFIG_PFLASH_CFI01=y
|
|
||||||
CONFIG_PFLASH_CFI02=y
|
|
||||||
CONFIG_PTIMER=y
|
|
||||||
CONFIG_I8259=y
|
|
||||||
CONFIG_XILINX=y
|
|
||||||
CONFIG_XILINX_ETHLITE=y
|
|
||||||
CONFIG_USB_EHCI_SYSBUS=y
|
|
||||||
CONFIG_SM501=y
|
|
||||||
CONFIG_DDC=y
|
|
||||||
CONFIG_IDE_SII3112=y
|
|
||||||
CONFIG_I2C=y
|
|
||||||
CONFIG_BITBANG_I2C=y
|
|
@ -162,13 +162,6 @@ static void ref405ep_init(MachineState *machine)
|
|||||||
DriveInfo *dinfo;
|
DriveInfo *dinfo;
|
||||||
MemoryRegion *sysmem = get_system_memory();
|
MemoryRegion *sysmem = get_system_memory();
|
||||||
|
|
||||||
#ifdef TARGET_PPCEMB
|
|
||||||
if (!qtest_enabled()) {
|
|
||||||
warn_report("qemu-system-ppcemb is deprecated, "
|
|
||||||
"please use qemu-system-ppc instead.");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* XXX: fix this */
|
/* XXX: fix this */
|
||||||
memory_region_allocate_system_memory(&ram_memories[0], NULL, "ef405ep.ram",
|
memory_region_allocate_system_memory(&ram_memories[0], NULL, "ef405ep.ram",
|
||||||
0x08000000);
|
0x08000000);
|
||||||
@ -463,13 +456,6 @@ static void taihu_405ep_init(MachineState *machine)
|
|||||||
int fl_idx, fl_sectors;
|
int fl_idx, fl_sectors;
|
||||||
DriveInfo *dinfo;
|
DriveInfo *dinfo;
|
||||||
|
|
||||||
#ifdef TARGET_PPCEMB
|
|
||||||
if (!qtest_enabled()) {
|
|
||||||
warn_report("qemu-system-ppcemb is deprecated, "
|
|
||||||
"please use qemu-system-ppc instead.");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* RAM is soldered to the board so the size cannot be changed */
|
/* RAM is soldered to the board so the size cannot be changed */
|
||||||
ram_size = 0x08000000;
|
ram_size = 0x08000000;
|
||||||
memory_region_allocate_system_memory(ram, NULL, "taihu_405ep.ram",
|
memory_region_allocate_system_memory(ram, NULL, "taihu_405ep.ram",
|
||||||
|
@ -195,13 +195,6 @@ static void bamboo_init(MachineState *machine)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TARGET_PPCEMB
|
|
||||||
if (!qtest_enabled()) {
|
|
||||||
warn_report("qemu-system-ppcemb is deprecated, "
|
|
||||||
"please use qemu-system-ppc instead.");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
qemu_register_reset(main_cpu_reset, cpu);
|
qemu_register_reset(main_cpu_reset, cpu);
|
||||||
ppc_booke_timers_init(cpu, 400000000, 0);
|
ppc_booke_timers_init(cpu, 400000000, 0);
|
||||||
ppc_dcr_init(env, NULL, NULL);
|
ppc_dcr_init(env, NULL, NULL);
|
||||||
|
@ -419,13 +419,6 @@ static void sam460ex_init(MachineState *machine)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TARGET_PPCEMB
|
|
||||||
if (!qtest_enabled()) {
|
|
||||||
warn_report("qemu-system-ppcemb is deprecated, "
|
|
||||||
"please use qemu-system-ppc instead.");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
qemu_register_reset(main_cpu_reset, cpu);
|
qemu_register_reset(main_cpu_reset, cpu);
|
||||||
boot_info = g_malloc0(sizeof(*boot_info));
|
boot_info = g_malloc0(sizeof(*boot_info));
|
||||||
env->load_info = boot_info;
|
env->load_info = boot_info;
|
||||||
|
@ -211,13 +211,6 @@ static void virtex_init(MachineState *machine)
|
|||||||
int kernel_size;
|
int kernel_size;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
#ifdef TARGET_PPCEMB
|
|
||||||
if (!qtest_enabled()) {
|
|
||||||
warn_report("qemu-system-ppcemb is deprecated, "
|
|
||||||
"please use qemu-system-ppc instead.");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* init CPUs */
|
/* init CPUs */
|
||||||
cpu = ppc440_init_xilinx(&ram_size, 1, machine->cpu_type, 400000000);
|
cpu = ppc440_init_xilinx(&ram_size, 1, machine->cpu_type, 400000000);
|
||||||
env = &cpu->env;
|
env = &cpu->env;
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#pragma GCC poison TARGET_NIOS2
|
#pragma GCC poison TARGET_NIOS2
|
||||||
#pragma GCC poison TARGET_OPENRISC
|
#pragma GCC poison TARGET_OPENRISC
|
||||||
#pragma GCC poison TARGET_PPC
|
#pragma GCC poison TARGET_PPC
|
||||||
#pragma GCC poison TARGET_PPCEMB
|
|
||||||
#pragma GCC poison TARGET_PPC64
|
#pragma GCC poison TARGET_PPC64
|
||||||
#pragma GCC poison TARGET_ABI32
|
#pragma GCC poison TARGET_ABI32
|
||||||
#pragma GCC poison TARGET_S390X
|
#pragma GCC poison TARGET_S390X
|
||||||
|
@ -146,6 +146,6 @@
|
|||||||
'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32',
|
'data' : [ 'aarch64', 'alpha', 'arm', 'cris', 'hppa', 'i386', 'lm32',
|
||||||
'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
|
'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
|
||||||
'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc',
|
'mips64el', 'mipsel', 'moxie', 'nios2', 'or1k', 'ppc',
|
||||||
'ppc64', 'ppcemb', 'riscv32', 'riscv64', 's390x', 'sh4',
|
'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
|
||||||
'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
|
'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
|
||||||
'x86_64', 'xtensa', 'xtensaeb' ] }
|
'x86_64', 'xtensa', 'xtensaeb' ] }
|
||||||
|
@ -162,12 +162,6 @@ replaced by the ``target'' output member.
|
|||||||
The ``ivshmem'' device type is replaced by either the ``ivshmem-plain''
|
The ``ivshmem'' device type is replaced by either the ``ivshmem-plain''
|
||||||
or ``ivshmem-doorbell`` device types.
|
or ``ivshmem-doorbell`` device types.
|
||||||
|
|
||||||
@subsection Page size support < 4k for embedded PowerPC CPUs (since 2.12.0)
|
|
||||||
|
|
||||||
qemu-system-ppcemb will be removed. qemu-system-ppc (or qemu-system-ppc64)
|
|
||||||
should be used instead. That means that embedded 4xx PowerPC CPUs will not
|
|
||||||
support page sizes < 4096 any longer.
|
|
||||||
|
|
||||||
@section System emulator machines
|
@section System emulator machines
|
||||||
|
|
||||||
@subsection pc-0.10 and pc-0.11 (since 3.0)
|
@subsection pc-0.10 and pc-0.11 (since 3.0)
|
||||||
|
@ -24,8 +24,6 @@
|
|||||||
|
|
||||||
#ifdef TARGET_PPC64
|
#ifdef TARGET_PPC64
|
||||||
#define TYPE_POWERPC_CPU "powerpc64-cpu"
|
#define TYPE_POWERPC_CPU "powerpc64-cpu"
|
||||||
#elif defined(TARGET_PPCEMB)
|
|
||||||
#define TYPE_POWERPC_CPU "embedded-powerpc-cpu"
|
|
||||||
#else
|
#else
|
||||||
#define TYPE_POWERPC_CPU "powerpc-cpu"
|
#define TYPE_POWERPC_CPU "powerpc-cpu"
|
||||||
#endif
|
#endif
|
||||||
|
@ -52,23 +52,7 @@
|
|||||||
#else /* defined (TARGET_PPC64) */
|
#else /* defined (TARGET_PPC64) */
|
||||||
/* PowerPC 32 definitions */
|
/* PowerPC 32 definitions */
|
||||||
#define TARGET_LONG_BITS 32
|
#define TARGET_LONG_BITS 32
|
||||||
|
|
||||||
#if defined(TARGET_PPCEMB)
|
|
||||||
/* Specific definitions for PowerPC embedded */
|
|
||||||
/* BookE have 36 bits physical address space */
|
|
||||||
#if defined(CONFIG_USER_ONLY)
|
|
||||||
/* It looks like a lot of Linux programs assume page size
|
|
||||||
* is 4kB long. This is evil, but we have to deal with it...
|
|
||||||
*/
|
|
||||||
#define TARGET_PAGE_BITS 12
|
#define TARGET_PAGE_BITS 12
|
||||||
#else /* defined(CONFIG_USER_ONLY) */
|
|
||||||
/* Pages can be 1 kB small */
|
|
||||||
#define TARGET_PAGE_BITS 10
|
|
||||||
#endif /* defined(CONFIG_USER_ONLY) */
|
|
||||||
#else /* defined(TARGET_PPCEMB) */
|
|
||||||
/* "standard" PowerPC 32 definitions */
|
|
||||||
#define TARGET_PAGE_BITS 12
|
|
||||||
#endif /* defined(TARGET_PPCEMB) */
|
|
||||||
|
|
||||||
#define TARGET_PHYS_ADDR_SPACE_BITS 36
|
#define TARGET_PHYS_ADDR_SPACE_BITS 36
|
||||||
#define TARGET_VIRT_ADDR_SPACE_BITS 32
|
#define TARGET_VIRT_ADDR_SPACE_BITS 32
|
||||||
|
@ -1315,9 +1315,7 @@ int kvmppc_set_interrupt(PowerPCCPU *cpu, int irq, int level)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(TARGET_PPCEMB)
|
#if defined(TARGET_PPC64)
|
||||||
#define PPC_INPUT_INT PPC40x_INPUT_INT
|
|
||||||
#elif defined(TARGET_PPC64)
|
|
||||||
#define PPC_INPUT_INT PPC970_INPUT_INT
|
#define PPC_INPUT_INT PPC970_INPUT_INT
|
||||||
#else
|
#else
|
||||||
#define PPC_INPUT_INT PPC6xx_INPUT_INT
|
#define PPC_INPUT_INT PPC6xx_INPUT_INT
|
||||||
|
@ -2363,12 +2363,12 @@ void helper_4xx_tlbwe_hi(CPUPPCState *env, target_ulong entry,
|
|||||||
tlb->size = booke_tlb_to_page_size((val >> PPC4XX_TLBHI_SIZE_SHIFT)
|
tlb->size = booke_tlb_to_page_size((val >> PPC4XX_TLBHI_SIZE_SHIFT)
|
||||||
& PPC4XX_TLBHI_SIZE_MASK);
|
& PPC4XX_TLBHI_SIZE_MASK);
|
||||||
/* We cannot handle TLB size < TARGET_PAGE_SIZE.
|
/* We cannot handle TLB size < TARGET_PAGE_SIZE.
|
||||||
* If this ever occurs, one should use the ppcemb target instead
|
* If this ever occurs, we should implement TARGET_PAGE_BITS_VARY
|
||||||
* of the ppc or ppc64 one
|
|
||||||
*/
|
*/
|
||||||
if ((val & PPC4XX_TLBHI_V) && tlb->size < TARGET_PAGE_SIZE) {
|
if ((val & PPC4XX_TLBHI_V) && tlb->size < TARGET_PAGE_SIZE) {
|
||||||
cpu_abort(cs, "TLB size " TARGET_FMT_lu " < %u "
|
cpu_abort(cs, "TLB size " TARGET_FMT_lu " < %u "
|
||||||
"are not supported (%d)\n",
|
"are not supported (%d)\n"
|
||||||
|
"Please implement TARGET_PAGE_BITS_VARY\n",
|
||||||
tlb->size, TARGET_PAGE_SIZE, (int)((val >> 7) & 0x7));
|
tlb->size, TARGET_PAGE_SIZE, (int)((val >> 7) & 0x7));
|
||||||
}
|
}
|
||||||
tlb->EPN = val & ~(tlb->size - 1);
|
tlb->EPN = val & ~(tlb->size - 1);
|
||||||
|
@ -9647,17 +9647,6 @@ static int ppc_fixup_cpu(PowerPCCPU *cpu)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool ppc_cpu_is_valid(PowerPCCPUClass *pcc)
|
|
||||||
{
|
|
||||||
#ifdef TARGET_PPCEMB
|
|
||||||
return pcc->mmu_model == POWERPC_MMU_BOOKE ||
|
|
||||||
pcc->mmu_model == POWERPC_MMU_SOFT_4xx ||
|
|
||||||
pcc->mmu_model == POWERPC_MMU_SOFT_4xx_Z;
|
|
||||||
#else
|
|
||||||
return true;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ppc_cpu_realize(DeviceState *dev, Error **errp)
|
static void ppc_cpu_realize(DeviceState *dev, Error **errp)
|
||||||
{
|
{
|
||||||
CPUState *cs = CPU(dev);
|
CPUState *cs = CPU(dev);
|
||||||
@ -9681,8 +9670,6 @@ static void ppc_cpu_realize(DeviceState *dev, Error **errp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(ppc_cpu_is_valid(pcc));
|
|
||||||
|
|
||||||
create_ppc_opcodes(cpu, &local_err);
|
create_ppc_opcodes(cpu, &local_err);
|
||||||
if (local_err != NULL) {
|
if (local_err != NULL) {
|
||||||
error_propagate(errp, local_err);
|
error_propagate(errp, local_err);
|
||||||
@ -9933,10 +9920,6 @@ static gint ppc_cpu_compare_class_pvr(gconstpointer a, gconstpointer b)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ppc_cpu_is_valid(pcc)) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return pcc->pvr == pvr ? 0 : -1;
|
return pcc->pvr == pvr ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9967,10 +9950,6 @@ static gint ppc_cpu_compare_class_pvr_mask(gconstpointer a, gconstpointer b)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ppc_cpu_is_valid(pcc)) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pcc->pvr_match(pcc, pvr)) {
|
if (pcc->pvr_match(pcc, pvr)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -10036,13 +10015,9 @@ static ObjectClass *ppc_cpu_class_by_name(const char *name)
|
|||||||
g_free(typename);
|
g_free(typename);
|
||||||
g_free(cpu_model);
|
g_free(cpu_model);
|
||||||
|
|
||||||
if (oc && ppc_cpu_is_valid(POWERPC_CPU_CLASS(oc))) {
|
|
||||||
return oc;
|
return oc;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ppc_cpu_parse_featurestr(const char *type, char *features,
|
static void ppc_cpu_parse_featurestr(const char *type, char *features,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
@ -10146,9 +10121,6 @@ static void ppc_cpu_list_entry(gpointer data, gpointer user_data)
|
|||||||
char *name;
|
char *name;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!ppc_cpu_is_valid(pcc)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (unlikely(strcmp(typename, TYPE_HOST_POWERPC_CPU) == 0)) {
|
if (unlikely(strcmp(typename, TYPE_HOST_POWERPC_CPU) == 0)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -10206,11 +10178,6 @@ static void ppc_cpu_defs_entry(gpointer data, gpointer user_data)
|
|||||||
const char *typename;
|
const char *typename;
|
||||||
CpuDefinitionInfoList *entry;
|
CpuDefinitionInfoList *entry;
|
||||||
CpuDefinitionInfo *info;
|
CpuDefinitionInfo *info;
|
||||||
PowerPCCPUClass *pcc = POWERPC_CPU_CLASS(oc);
|
|
||||||
|
|
||||||
if (!ppc_cpu_is_valid(pcc)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
typename = object_class_get_name(oc);
|
typename = object_class_get_name(oc);
|
||||||
info = g_malloc0(sizeof(*info));
|
info = g_malloc0(sizeof(*info));
|
||||||
|
@ -44,7 +44,6 @@ static struct arch2cpu cpus_map[] = {
|
|||||||
{ "or1k", "or1200" },
|
{ "or1k", "or1200" },
|
||||||
{ "ppc", "604" },
|
{ "ppc", "604" },
|
||||||
{ "ppc64", "power8e_v2.1" },
|
{ "ppc64", "power8e_v2.1" },
|
||||||
{ "ppcemb", "440epb" },
|
|
||||||
{ "s390x", "qemu" },
|
{ "s390x", "qemu" },
|
||||||
{ "sh4", "sh7750r" },
|
{ "sh4", "sh7750r" },
|
||||||
{ "sh4eb", "sh7751r" },
|
{ "sh4eb", "sh7751r" },
|
||||||
|
Loading…
Reference in New Issue
Block a user