From 583b28d45bf978832be024276fda8fdfe571c447 Mon Sep 17 00:00:00 2001 From: Alexey Kardashevskiy Date: Mon, 14 Jan 2019 18:03:16 +1100 Subject: [PATCH 01/37] pseries: Update SLOF firmware image This includes spapr-vio and usb-storage fixes, phandles fix for NVLink2 pass through support and other compile improvements. The full list of changes is: * vio-vscsi: Support multiple channels / buses * board-qemu/slof/vio-vscsi: Scan up to 64 SCSI IDs * usb/storage: Implement block write support * usb/storage: Invert the logic of the IF-statements * fdt: Fix phandles for NVLink/NVLink2 * fdt: Factor out code to replace a phandle in place * pci: use appropriate base class ids * Makefile: Set a proper DRIVER_NAME when building from a git tree * romfs/tools: Silence more compiler warnings with GCC 8.1 * romfs/tools: Silence GCC 8.1 compiler warning with FLASHFS_MAGIC * romfs/tools: Remove superfluous union around the rom header struct * make.rules: Compile SLOF with -fno-asynchronous-unwind-tables Signed-off-by: Alexey Kardashevskiy Signed-off-by: David Gibson --- pc-bios/README | 2 +- pc-bios/slof.bin | Bin 974544 -> 926392 bytes roms/SLOF | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pc-bios/README b/pc-bios/README index 20f7c33c24..d421cb3f1f 100644 --- a/pc-bios/README +++ b/pc-bios/README @@ -17,7 +17,7 @@ - SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware implementation for certain IBM POWER hardware. The sources are at https://github.com/aik/SLOF, and the image currently in qemu is - built from git tag qemu-slof-20180702. + built from git tag qemu-slof-20190114. - sgabios (the Serial Graphics Adapter option ROM) provides a means for legacy x86 software to communicate with an attached serial console as diff --git a/pc-bios/slof.bin b/pc-bios/slof.bin index 6274a6739187a9cd12a50b1bda2313c9f0d481a5..65db1a6e579839cfd05da7f71c246fa0251c2fc0 100644 GIT binary patch literal 926392 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%0Aim&>i7>ocajs(Vmg_3t8XA+Pe# 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≦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 z%0D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

|aNy?FTNX?jE(xU(-KHh_om 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 literal 974544 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 z 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�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 Date: Thu, 3 Jan 2019 17:27:24 +0100 Subject: [PATCH 02/37] smbus: Add a helper to generate SPD EEPROM data There are several boards with SPD EEPROMs that are now using duplicated or slightly different hard coded data. Add a helper to generate SPD data for a memory module of given type and size that could be used by these boards (either as is or with further changes if needed) which should help cleaning this up and avoid further duplication. Signed-off-by: BALATON Zoltan Signed-off-by: David Gibson --- hw/i2c/smbus_eeprom.c | 129 +++++++++++++++++++++++++++++++++++++++++ include/hw/i2c/smbus.h | 3 + 2 files changed, 132 insertions(+) diff --git a/hw/i2c/smbus_eeprom.c b/hw/i2c/smbus_eeprom.c index f18aa3de35..01b9439014 100644 --- a/hw/i2c/smbus_eeprom.c +++ b/hw/i2c/smbus_eeprom.c @@ -23,6 +23,8 @@ */ #include "qemu/osdep.h" +#include "qemu/units.h" +#include "qapi/error.h" #include "hw/hw.h" #include "hw/i2c/i2c.h" #include "hw/i2c/smbus.h" @@ -162,3 +164,130 @@ void smbus_eeprom_init(I2CBus *smbus, int nb_eeprom, smbus_eeprom_init_one(smbus, 0x50 + i, eeprom_buf + (i * 256)); } } + +/* Generate SDRAM SPD EEPROM data describing a module of type and size */ +uint8_t *spd_data_generate(enum sdram_type type, ram_addr_t ram_size, + Error **errp) +{ + uint8_t *spd; + uint8_t nbanks; + uint16_t density; + uint32_t size; + int min_log2, max_log2, sz_log2; + int i; + + switch (type) { + case SDR: + min_log2 = 2; + max_log2 = 9; + break; + case DDR: + min_log2 = 5; + max_log2 = 12; + break; + case DDR2: + min_log2 = 7; + max_log2 = 14; + break; + default: + g_assert_not_reached(); + } + size = ram_size >> 20; /* work in terms of megabytes */ + if (size < 4) { + error_setg(errp, "SDRAM size is too small"); + return NULL; + } + sz_log2 = 31 - clz32(size); + size = 1U << sz_log2; + if (ram_size > size * MiB) { + error_setg(errp, "SDRAM size 0x"RAM_ADDR_FMT" is not a power of 2, " + "truncating to %u MB", ram_size, size); + } + if (sz_log2 < min_log2) { + error_setg(errp, + "Memory size is too small for SDRAM type, adjusting type"); + if (size >= 32) { + type = DDR; + min_log2 = 5; + max_log2 = 12; + } else { + type = SDR; + min_log2 = 2; + max_log2 = 9; + } + } + + nbanks = 1; + while (sz_log2 > max_log2 && nbanks < 8) { + sz_log2--; + nbanks++; + } + + if (size > (1ULL << sz_log2) * nbanks) { + error_setg(errp, "Memory size is too big for SDRAM, truncating"); + } + + /* split to 2 banks if possible to avoid a bug in MIPS Malta firmware */ + if (nbanks == 1 && sz_log2 > min_log2) { + sz_log2--; + nbanks++; + } + + density = 1ULL << (sz_log2 - 2); + switch (type) { + case DDR2: + density = (density & 0xe0) | (density >> 8 & 0x1f); + break; + case DDR: + density = (density & 0xf8) | (density >> 8 & 0x07); + break; + case SDR: + default: + density &= 0xff; + break; + } + + spd = g_malloc0(256); + spd[0] = 128; /* data bytes in EEPROM */ + spd[1] = 8; /* log2 size of EEPROM */ + spd[2] = type; + spd[3] = 13; /* row address bits */ + spd[4] = 10; /* column address bits */ + spd[5] = (type == DDR2 ? nbanks - 1 : nbanks); + spd[6] = 64; /* module data width */ + /* reserved / data width high */ + spd[8] = 4; /* interface voltage level */ + spd[9] = 0x25; /* highest CAS latency */ + spd[10] = 1; /* access time */ + /* DIMM configuration 0 = non-ECC */ + spd[12] = 0x82; /* refresh requirements */ + spd[13] = 8; /* primary SDRAM width */ + /* ECC SDRAM width */ + spd[15] = (type == DDR2 ? 0 : 1); /* reserved / delay for random col rd */ + spd[16] = 12; /* burst lengths supported */ + spd[17] = 4; /* banks per SDRAM device */ + spd[18] = 12; /* ~CAS latencies supported */ + spd[19] = (type == DDR2 ? 0 : 1); /* reserved / ~CS latencies supported */ + spd[20] = 2; /* DIMM type / ~WE latencies */ + /* module features */ + /* memory chip features */ + spd[23] = 0x12; /* clock cycle time @ medium CAS latency */ + /* data access time */ + /* clock cycle time @ short CAS latency */ + /* data access time */ + spd[27] = 20; /* min. row precharge time */ + spd[28] = 15; /* min. row active row delay */ + spd[29] = 20; /* min. ~RAS to ~CAS delay */ + spd[30] = 45; /* min. active to precharge time */ + spd[31] = density; + spd[32] = 20; /* addr/cmd setup time */ + spd[33] = 8; /* addr/cmd hold time */ + spd[34] = 20; /* data input setup time */ + spd[35] = 8; /* data input hold time */ + + /* checksum */ + for (i = 0; i < 63; i++) { + spd[63] += spd[i]; + } + return spd; +} diff --git a/include/hw/i2c/smbus.h b/include/hw/i2c/smbus.h index 5c61c05999..89dfea1a08 100644 --- a/include/hw/i2c/smbus.h +++ b/include/hw/i2c/smbus.h @@ -95,4 +95,7 @@ void smbus_eeprom_init_one(I2CBus *smbus, uint8_t address, uint8_t *eeprom_buf); void smbus_eeprom_init(I2CBus *smbus, int nb_eeprom, const uint8_t *eeprom_spd, int size); +enum sdram_type { SDR = 0x4, DDR = 0x7, DDR2 = 0x8 }; +uint8_t *spd_data_generate(enum sdram_type type, ram_addr_t size, Error **errp); + #endif From 08fd99179a8c5d34c7065e2ad76c7f8b6afe239e Mon Sep 17 00:00:00 2001 From: BALATON Zoltan Date: Thu, 3 Jan 2019 17:27:24 +0100 Subject: [PATCH 03/37] sam460ex: Clean up SPD EEPROM creation Get rid of code from MIPS Malta board used to create SPD EEPROM data (parts of which was not even needed for sam460ex) and use the generic spd_data_generate() function to simplify this. Signed-off-by: BALATON Zoltan Signed-off-by: David Gibson --- hw/ppc/sam460ex.c | 173 ++++++---------------------------------------- 1 file changed, 20 insertions(+), 153 deletions(-) diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index 84ea592749..03d70ec1e8 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -2,7 +2,7 @@ * QEMU aCube Sam460ex board emulation * * Copyright (c) 2012 François Revol - * Copyright (c) 2016-2018 BALATON Zoltan + * Copyright (c) 2016-2019 BALATON Zoltan * * This file is derived from hw/ppc440_bamboo.c, * the copyright for that material belongs to the original owners. @@ -87,135 +87,6 @@ struct boot_info { uint32_t entry; }; -/*****************************************************************************/ -/* SPD eeprom content from mips_malta.c */ - -struct _eeprom24c0x_t { - uint8_t tick; - uint8_t address; - uint8_t command; - uint8_t ack; - uint8_t scl; - uint8_t sda; - uint8_t data; - uint8_t contents[256]; -}; - -typedef struct _eeprom24c0x_t eeprom24c0x_t; - -static eeprom24c0x_t spd_eeprom = { - .contents = { - /* 00000000: */ 0x80, 0x08, 0xFF, 0x0D, 0x0A, 0xFF, 0x40, 0x00, - /* 00000008: */ 0x04, 0x75, 0x54, 0x00, 0x82, 0x08, 0x00, 0x01, - /* 00000010: */ 0x8F, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, - /* 00000018: */ 0x00, 0x00, 0x00, 0x14, 0x0F, 0x14, 0x2D, 0xFF, - /* 00000020: */ 0x15, 0x08, 0x15, 0x08, 0x00, 0x00, 0x00, 0x00, - /* 00000028: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* 00000030: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* 00000038: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xD0, - /* 00000040: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* 00000048: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* 00000050: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* 00000058: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* 00000060: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* 00000068: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* 00000070: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /* 00000078: */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0xF4, - }, -}; - -static void generate_eeprom_spd(uint8_t *eeprom, ram_addr_t ram_size) -{ - enum { SDR = 0x4, DDR1 = 0x7, DDR2 = 0x8 } type; - uint8_t *spd = spd_eeprom.contents; - uint8_t nbanks = 0; - uint16_t density = 0; - int i; - - /* work in terms of MB */ - ram_size /= MiB; - - while ((ram_size >= 4) && (nbanks <= 2)) { - int sz_log2 = MIN(31 - clz32(ram_size), 14); - nbanks++; - density |= 1 << (sz_log2 - 2); - ram_size -= 1 << sz_log2; - } - - /* split to 2 banks if possible */ - if ((nbanks == 1) && (density > 1)) { - nbanks++; - density >>= 1; - } - - if (density & 0xff00) { - density = (density & 0xe0) | ((density >> 8) & 0x1f); - type = DDR2; - } else if (!(density & 0x1f)) { - type = DDR2; - } else { - type = SDR; - } - - if (ram_size) { - warn_report("SPD cannot represent final " RAM_ADDR_FMT "MB" - " of SDRAM", ram_size); - } - - /* fill in SPD memory information */ - spd[2] = type; - spd[5] = nbanks; - spd[31] = density; - - /* XXX: this is totally random */ - spd[9] = 0x10; /* CAS tcyc */ - spd[18] = 0x20; /* CAS bit */ - spd[23] = 0x10; /* CAS tcyc */ - spd[25] = 0x10; /* CAS tcyc */ - - /* checksum */ - spd[63] = 0; - for (i = 0; i < 63; i++) { - spd[63] += spd[i]; - } - - /* copy for SMBUS */ - memcpy(eeprom, spd, sizeof(spd_eeprom.contents)); -} - -static void generate_eeprom_serial(uint8_t *eeprom) -{ - int i, pos = 0; - uint8_t mac[6] = { 0x00 }; - uint8_t sn[5] = { 0x01, 0x23, 0x45, 0x67, 0x89 }; - - /* version */ - eeprom[pos++] = 0x01; - - /* count */ - eeprom[pos++] = 0x02; - - /* MAC address */ - eeprom[pos++] = 0x01; /* MAC */ - eeprom[pos++] = 0x06; /* length */ - memcpy(&eeprom[pos], mac, sizeof(mac)); - pos += sizeof(mac); - - /* serial number */ - eeprom[pos++] = 0x02; /* serial */ - eeprom[pos++] = 0x05; /* length */ - memcpy(&eeprom[pos], sn, sizeof(sn)); - pos += sizeof(sn); - - /* checksum */ - eeprom[pos] = 0; - for (i = 0; i < pos; i++) { - eeprom[pos] += eeprom[i]; - } -} - -/*****************************************************************************/ - static int sam460ex_load_uboot(void) { DriveInfo *dinfo; @@ -393,24 +264,23 @@ static void sam460ex_init(MachineState *machine) MemoryRegion *address_space_mem = get_system_memory(); MemoryRegion *isa = g_new(MemoryRegion, 1); MemoryRegion *ram_memories = g_new(MemoryRegion, SDRAM_NR_BANKS); - hwaddr ram_bases[SDRAM_NR_BANKS]; - hwaddr ram_sizes[SDRAM_NR_BANKS]; + hwaddr ram_bases[SDRAM_NR_BANKS] = {0}; + hwaddr ram_sizes[SDRAM_NR_BANKS] = {0}; MemoryRegion *l2cache_ram = g_new(MemoryRegion, 1); qemu_irq *irqs, *uic[4]; PCIBus *pci_bus; PowerPCCPU *cpu; CPUPPCState *env; - PPC4xxI2CState *i2c[2]; + I2CBus *i2c; hwaddr entry = UBOOT_ENTRY; hwaddr loadaddr = LOAD_UIMAGE_LOADADDR_INVALID; target_long initrd_size = 0; DeviceState *dev; SysBusDevice *sbdev; - int success; - int i; struct boot_info *boot_info; - const size_t smbus_eeprom_size = 8 * 256; - uint8_t *smbus_eeprom_buf = g_malloc0(smbus_eeprom_size); + uint8_t *spd_data; + Error *err = NULL; + int success; cpu = POWERPC_CPU(cpu_create(machine->cpu_type)); env = &cpu->env; @@ -439,8 +309,6 @@ static void sam460ex_init(MachineState *machine) uic[3] = ppcuic_init(env, &uic[0][16], 0xf0, 0, 1); /* SDRAM controller */ - memset(ram_bases, 0, sizeof(ram_bases)); - memset(ram_sizes, 0, sizeof(ram_sizes)); /* put all RAM on first bank because board has one slot * and firmware only checks that */ machine->ram_size = ppc4xx_sdram_adjust(machine->ram_size, 1, @@ -451,23 +319,22 @@ static void sam460ex_init(MachineState *machine) ppc440_sdram_init(env, SDRAM_NR_BANKS, ram_memories, ram_bases, ram_sizes, 1); - /* generate SPD EEPROM data */ - for (i = 0; i < SDRAM_NR_BANKS; i++) { - generate_eeprom_spd(&smbus_eeprom_buf[i * 256], ram_sizes[i]); - } - generate_eeprom_serial(&smbus_eeprom_buf[4 * 256]); - generate_eeprom_serial(&smbus_eeprom_buf[6 * 256]); - - /* IIC controllers */ + /* IIC controllers and devices */ dev = sysbus_create_simple(TYPE_PPC4xx_I2C, 0x4ef600700, uic[0][2]); - i2c[0] = PPC4xx_I2C(dev); - object_property_set_bool(OBJECT(dev), true, "realized", NULL); - smbus_eeprom_init(i2c[0]->bus, 8, smbus_eeprom_buf, smbus_eeprom_size); - g_free(smbus_eeprom_buf); - i2c_create_slave(i2c[0]->bus, "m41t80", 0x68); + i2c = PPC4xx_I2C(dev)->bus; + /* SPD EEPROM on RAM module */ + spd_data = spd_data_generate(DDR2, ram_sizes[0], &err); + if (err) { + warn_report_err(err); + } + if (spd_data) { + spd_data[20] = 4; /* SO-DIMM module */ + smbus_eeprom_init_one(i2c, 0x50, spd_data); + } + /* RTC */ + i2c_create_slave(i2c, "m41t80", 0x68); dev = sysbus_create_simple(TYPE_PPC4xx_I2C, 0x4ef600800, uic[0][3]); - i2c[1] = PPC4xx_I2C(dev); /* External bus controller */ ppc405_ebc_init(env); From 7d8ccf58d5ee83b140220e34b58ac7d4b5dc6a21 Mon Sep 17 00:00:00 2001 From: BALATON Zoltan Date: Thu, 3 Jan 2019 17:27:24 +0100 Subject: [PATCH 04/37] ppc4xx: Use ram_addr_t in ppc4xx_sdram_adjust() To avoid overflow if larger values are added later use ram_addr_t for the sdram_bank_sizes parameter to match ram_size to which it is compared. Signed-off-by: BALATON Zoltan Signed-off-by: David Gibson --- hw/ppc/ppc440_bamboo.c | 2 +- hw/ppc/ppc4xx_devs.c | 4 ++-- hw/ppc/sam460ex.c | 2 +- include/hw/ppc/ppc4xx.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index fc06191588..4b547eaf77 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -49,7 +49,7 @@ #define PPC440EP_SDRAM_NR_BANKS 4 -static const unsigned int ppc440ep_sdram_bank_sizes[] = { +static const ram_addr_t ppc440ep_sdram_bank_sizes[] = { 256 * MiB, 128 * MiB, 64 * MiB, 32 * MiB, 16 * MiB, 8 * MiB, 0 }; diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index 9b6e4c60fa..9418478575 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -679,12 +679,12 @@ ram_addr_t ppc4xx_sdram_adjust(ram_addr_t ram_size, int nr_banks, MemoryRegion ram_memories[], hwaddr ram_bases[], hwaddr ram_sizes[], - const unsigned int sdram_bank_sizes[]) + const ram_addr_t sdram_bank_sizes[]) { MemoryRegion *ram = g_malloc0(sizeof(*ram)); ram_addr_t size_left = ram_size; ram_addr_t base = 0; - unsigned int bank_size; + ram_addr_t bank_size; int i; int j; diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index 03d70ec1e8..7a8c745021 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -77,7 +77,7 @@ #define SDRAM_NR_BANKS 4 /* FIXME: See u-boot.git 8ac41e, also fix in ppc440_uc.c */ -static const unsigned int ppc460ex_sdram_bank_sizes[] = { +static const ram_addr_t ppc460ex_sdram_bank_sizes[] = { 1 * GiB, 512 * MiB, 256 * MiB, 128 * MiB, 64 * MiB, 32 * MiB, 0 }; diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h index 3a2a04c8ce..39a7ba1ce6 100644 --- a/include/hw/ppc/ppc4xx.h +++ b/include/hw/ppc/ppc4xx.h @@ -43,7 +43,7 @@ ram_addr_t ppc4xx_sdram_adjust(ram_addr_t ram_size, int nr_banks, MemoryRegion ram_memories[], hwaddr ram_bases[], hwaddr ram_sizes[], - const unsigned int sdram_bank_sizes[]); + const ram_addr_t sdram_bank_sizes[]); void ppc4xx_sdram_init (CPUPPCState *env, qemu_irq irq, int nbanks, MemoryRegion ram_memories[], From 0a57fbee209f9d799f53dbcd77f3062649b61b08 Mon Sep 17 00:00:00 2001 From: BALATON Zoltan Date: Thu, 3 Jan 2019 17:27:24 +0100 Subject: [PATCH 05/37] ppc4xx: Rename ppc4xx_sdram_t in ppc440_uc.c to ppc440_sdram_t There's already a struct with the same name in ppc4xx_devs.c. They are not used outside their files so don't clash but they are also not identical so rename the ppc440 specific one to distinguish them. Signed-off-by: BALATON Zoltan Reviewed-by: David Gibson Signed-off-by: David Gibson --- hw/ppc/ppc440_uc.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c index 9360f781ce..e46f59fba8 100644 --- a/hw/ppc/ppc440_uc.c +++ b/hw/ppc/ppc440_uc.c @@ -481,7 +481,7 @@ void ppc4xx_sdr_init(CPUPPCState *env) /*****************************************************************************/ /* SDRAM controller */ -typedef struct ppc4xx_sdram_t { +typedef struct ppc440_sdram_t { uint32_t addr; int nbanks; MemoryRegion containers[4]; /* used for clipping */ @@ -489,7 +489,7 @@ typedef struct ppc4xx_sdram_t { hwaddr ram_bases[4]; hwaddr ram_sizes[4]; uint32_t bcr[4]; -} ppc4xx_sdram_t; +} ppc440_sdram_t; enum { SDRAM0_CFGADDR = 0x10, @@ -564,7 +564,7 @@ static target_ulong sdram_size(uint32_t bcr) return size; } -static void sdram_set_bcr(ppc4xx_sdram_t *sdram, +static void sdram_set_bcr(ppc440_sdram_t *sdram, uint32_t *bcrp, uint32_t bcr, int enabled) { unsigned n = bcrp - sdram->bcr; @@ -589,7 +589,7 @@ static void sdram_set_bcr(ppc4xx_sdram_t *sdram, } } -static void sdram_map_bcr(ppc4xx_sdram_t *sdram) +static void sdram_map_bcr(ppc440_sdram_t *sdram) { int i; @@ -607,7 +607,7 @@ static void sdram_map_bcr(ppc4xx_sdram_t *sdram) static uint32_t dcr_read_sdram(void *opaque, int dcrn) { - ppc4xx_sdram_t *sdram = opaque; + ppc440_sdram_t *sdram = opaque; uint32_t ret = 0; switch (dcrn) { @@ -658,7 +658,7 @@ static uint32_t dcr_read_sdram(void *opaque, int dcrn) static void dcr_write_sdram(void *opaque, int dcrn, uint32_t val) { - ppc4xx_sdram_t *sdram = opaque; + ppc440_sdram_t *sdram = opaque; switch (dcrn) { case SDRAM_R0BAS: @@ -689,7 +689,7 @@ static void dcr_write_sdram(void *opaque, int dcrn, uint32_t val) static void sdram_reset(void *opaque) { - ppc4xx_sdram_t *sdram = opaque; + ppc440_sdram_t *sdram = opaque; sdram->addr = 0; } @@ -699,7 +699,7 @@ void ppc440_sdram_init(CPUPPCState *env, int nbanks, hwaddr *ram_bases, hwaddr *ram_sizes, int do_init) { - ppc4xx_sdram_t *sdram; + ppc440_sdram_t *sdram; sdram = g_malloc0(sizeof(*sdram)); sdram->nbanks = nbanks; From 70812bf70973f02366421c1549fab4036853aea3 Mon Sep 17 00:00:00 2001 From: BALATON Zoltan Date: Thu, 3 Jan 2019 17:27:24 +0100 Subject: [PATCH 06/37] ppc4xx: Pass array index to function instead of pointer into the array The sdram_set_bcr() function in ppc440_uc.c takes a pointer into an array then calculates its index from that. It's simpler and easier to just pass the index which simplifies both the function and its callers. Do similar cleanup in ppc4xx_devs.c to similar function. Signed-off-by: BALATON Zoltan Signed-off-by: David Gibson --- hw/ppc/ppc440_uc.c | 36 ++++++++++++++++-------------------- hw/ppc/ppc4xx_devs.c | 44 ++++++++++++++++++++------------------------ 2 files changed, 36 insertions(+), 44 deletions(-) diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c index e46f59fba8..60dbb35eee 100644 --- a/hw/ppc/ppc440_uc.c +++ b/hw/ppc/ppc440_uc.c @@ -564,28 +564,26 @@ static target_ulong sdram_size(uint32_t bcr) return size; } -static void sdram_set_bcr(ppc440_sdram_t *sdram, - uint32_t *bcrp, uint32_t bcr, int enabled) +static void sdram_set_bcr(ppc440_sdram_t *sdram, int i, + uint32_t bcr, int enabled) { - unsigned n = bcrp - sdram->bcr; - - if (*bcrp & 1) { - /* Unmap RAM */ + if (sdram->bcr[i] & 1) { + /* First unmap RAM if enabled */ memory_region_del_subregion(get_system_memory(), - &sdram->containers[n]); - memory_region_del_subregion(&sdram->containers[n], - &sdram->ram_memories[n]); - object_unparent(OBJECT(&sdram->containers[n])); + &sdram->containers[i]); + memory_region_del_subregion(&sdram->containers[i], + &sdram->ram_memories[i]); + object_unparent(OBJECT(&sdram->containers[i])); } - *bcrp = bcr & 0xFFDEE001; + sdram->bcr[i] = bcr & 0xFFDEE001; if (enabled && (bcr & 1)) { - memory_region_init(&sdram->containers[n], NULL, "sdram-containers", + memory_region_init(&sdram->containers[i], NULL, "sdram-containers", sdram_size(bcr)); - memory_region_add_subregion(&sdram->containers[n], 0, - &sdram->ram_memories[n]); + memory_region_add_subregion(&sdram->containers[i], 0, + &sdram->ram_memories[i]); memory_region_add_subregion(get_system_memory(), sdram_base(bcr), - &sdram->containers[n]); + &sdram->containers[i]); } } @@ -595,12 +593,10 @@ static void sdram_map_bcr(ppc440_sdram_t *sdram) for (i = 0; i < sdram->nbanks; i++) { if (sdram->ram_sizes[i] != 0) { - sdram_set_bcr(sdram, - &sdram->bcr[i], - sdram_bcr(sdram->ram_bases[i], sdram->ram_sizes[i]), - 1); + sdram_set_bcr(sdram, i, sdram_bcr(sdram->ram_bases[i], + sdram->ram_sizes[i]), 1); } else { - sdram_set_bcr(sdram, &sdram->bcr[i], 0, 0); + sdram_set_bcr(sdram, i, 0, 0); } } } diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index 9418478575..fdfeb67e65 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -405,36 +405,34 @@ static target_ulong sdram_size (uint32_t bcr) return size; } -static void sdram_set_bcr(ppc4xx_sdram_t *sdram, - uint32_t *bcrp, uint32_t bcr, int enabled) +static void sdram_set_bcr(ppc4xx_sdram_t *sdram, int i, + uint32_t bcr, int enabled) { - unsigned n = bcrp - sdram->bcr; - - if (*bcrp & 0x00000001) { + if (sdram->bcr[i] & 0x00000001) { /* Unmap RAM */ #ifdef DEBUG_SDRAM printf("%s: unmap RAM area " TARGET_FMT_plx " " TARGET_FMT_lx "\n", - __func__, sdram_base(*bcrp), sdram_size(*bcrp)); + __func__, sdram_base(sdram->bcr[i]), sdram_size(sdram->bcr[i])); #endif memory_region_del_subregion(get_system_memory(), - &sdram->containers[n]); - memory_region_del_subregion(&sdram->containers[n], - &sdram->ram_memories[n]); - object_unparent(OBJECT(&sdram->containers[n])); + &sdram->containers[i]); + memory_region_del_subregion(&sdram->containers[i], + &sdram->ram_memories[i]); + object_unparent(OBJECT(&sdram->containers[i])); } - *bcrp = bcr & 0xFFDEE001; + sdram->bcr[i] = bcr & 0xFFDEE001; if (enabled && (bcr & 0x00000001)) { #ifdef DEBUG_SDRAM printf("%s: Map RAM area " TARGET_FMT_plx " " TARGET_FMT_lx "\n", __func__, sdram_base(bcr), sdram_size(bcr)); #endif - memory_region_init(&sdram->containers[n], NULL, "sdram-containers", + memory_region_init(&sdram->containers[i], NULL, "sdram-containers", sdram_size(bcr)); - memory_region_add_subregion(&sdram->containers[n], 0, - &sdram->ram_memories[n]); + memory_region_add_subregion(&sdram->containers[i], 0, + &sdram->ram_memories[i]); memory_region_add_subregion(get_system_memory(), sdram_base(bcr), - &sdram->containers[n]); + &sdram->containers[i]); } } @@ -444,12 +442,10 @@ static void sdram_map_bcr (ppc4xx_sdram_t *sdram) for (i = 0; i < sdram->nbanks; i++) { if (sdram->ram_sizes[i] != 0) { - sdram_set_bcr(sdram, - &sdram->bcr[i], - sdram_bcr(sdram->ram_bases[i], sdram->ram_sizes[i]), - 1); + sdram_set_bcr(sdram, i, sdram_bcr(sdram->ram_bases[i], + sdram->ram_sizes[i]), 1); } else { - sdram_set_bcr(sdram, &sdram->bcr[i], 0x00000000, 0); + sdram_set_bcr(sdram, i, 0x00000000, 0); } } } @@ -589,16 +585,16 @@ static void dcr_write_sdram (void *opaque, int dcrn, uint32_t val) sdram->pmit = (val & 0xF8000000) | 0x07C00000; break; case 0x40: /* SDRAM_B0CR */ - sdram_set_bcr(sdram, &sdram->bcr[0], val, sdram->cfg & 0x80000000); + sdram_set_bcr(sdram, 0, val, sdram->cfg & 0x80000000); break; case 0x44: /* SDRAM_B1CR */ - sdram_set_bcr(sdram, &sdram->bcr[1], val, sdram->cfg & 0x80000000); + sdram_set_bcr(sdram, 1, val, sdram->cfg & 0x80000000); break; case 0x48: /* SDRAM_B2CR */ - sdram_set_bcr(sdram, &sdram->bcr[2], val, sdram->cfg & 0x80000000); + sdram_set_bcr(sdram, 2, val, sdram->cfg & 0x80000000); break; case 0x4C: /* SDRAM_B3CR */ - sdram_set_bcr(sdram, &sdram->bcr[3], val, sdram->cfg & 0x80000000); + sdram_set_bcr(sdram, 3, val, sdram->cfg & 0x80000000); break; case 0x80: /* SDRAM_TR */ sdram->tr = val & 0x018FC01F; From 6a9938a3797a6008ee54bf4ec9b41973c1efc3b9 Mon Sep 17 00:00:00 2001 From: BALATON Zoltan Date: Thu, 3 Jan 2019 17:27:24 +0100 Subject: [PATCH 07/37] sam460ex: Fix support for memory larger than 1GB Fix the encoding of larger memory modules in the SoC registers which allows specifying more than 1GB memory for sam460ex. Well, only 2GB due to SoC and firmware restrictions which was the only missing value compared to what the real hardware supports. The SoC should support up to 4GB but when setting that the firmware hangs during memory test. This may be an overflow bug in the firmware which I did not try to debug but this may affect real hardware as well. Signed-off-by: BALATON Zoltan Signed-off-by: David Gibson --- hw/ppc/ppc440_uc.c | 22 ++++++++++++---------- hw/ppc/sam460ex.c | 6 ++++-- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c index 60dbb35eee..c489368905 100644 --- a/hw/ppc/ppc440_uc.c +++ b/hw/ppc/ppc440_uc.c @@ -2,7 +2,7 @@ * QEMU PowerPC 440 embedded processors emulation * * Copyright (c) 2012 François Revol - * Copyright (c) 2016-2018 BALATON Zoltan + * Copyright (c) 2016-2019 BALATON Zoltan * * This work is licensed under the GNU GPL license version 2 or later. * @@ -505,10 +505,6 @@ enum { SDRAM_PLBADDUHB = 0x50, }; -/* XXX: TOFIX: some patches have made this code become inconsistent: - * there are type inconsistencies, mixing hwaddr, target_ulong - * and uint32_t - */ static uint32_t sdram_bcr(hwaddr ram_base, hwaddr ram_size) { uint32_t bcr; @@ -538,11 +534,17 @@ static uint32_t sdram_bcr(hwaddr ram_base, hwaddr ram_size) case (1 * GiB): bcr = 0xe000; break; + case (2 * GiB): + bcr = 0xc000; + break; + case (4 * GiB): + bcr = 0x8000; + break; default: error_report("invalid RAM size " TARGET_FMT_plx, ram_size); return 0; } - bcr |= ram_base & 0xFF800000; + bcr |= ram_base >> 2 & 0xffe00000; bcr |= 1; return bcr; @@ -550,12 +552,12 @@ static uint32_t sdram_bcr(hwaddr ram_base, hwaddr ram_size) static inline hwaddr sdram_base(uint32_t bcr) { - return bcr & 0xFF800000; + return (bcr & 0xffe00000) << 2; } -static target_ulong sdram_size(uint32_t bcr) +static uint64_t sdram_size(uint32_t bcr) { - target_ulong size; + uint64_t size; int sh; sh = 1024 - ((bcr >> 6) & 0x3ff); @@ -575,7 +577,7 @@ static void sdram_set_bcr(ppc440_sdram_t *sdram, int i, &sdram->ram_memories[i]); object_unparent(OBJECT(&sdram->containers[i])); } - sdram->bcr[i] = bcr & 0xFFDEE001; + sdram->bcr[i] = bcr & 0xffe0ffc1; if (enabled && (bcr & 1)) { memory_region_init(&sdram->containers[i], NULL, "sdram-containers", sdram_size(bcr)); diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index 7a8c745021..202ed14bcf 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -76,9 +76,11 @@ #define UART_FREQ 11059200 #define SDRAM_NR_BANKS 4 -/* FIXME: See u-boot.git 8ac41e, also fix in ppc440_uc.c */ +/* The SoC could also handle 4 GiB but firmware does not work with that. */ +/* Maybe it overflows a signed 32 bit number somewhere? */ static const ram_addr_t ppc460ex_sdram_bank_sizes[] = { - 1 * GiB, 512 * MiB, 256 * MiB, 128 * MiB, 64 * MiB, 32 * MiB, 0 + 2 * GiB, 1 * GiB, 512 * MiB, 256 * MiB, 128 * MiB, 64 * MiB, + 32 * MiB, 0 }; struct boot_info { From 6bf6f3a1d1e6d288c3abac40001aa30153b07404 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Wed, 9 Jan 2019 16:15:32 +0100 Subject: [PATCH 08/37] ppc/xive: fix remaining XiveFabric names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Cédric Le Goater Reviewed-by: Greg Kurz Signed-off-by: David Gibson --- hw/intc/xive.c | 6 +++--- include/hw/ppc/xive.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/intc/xive.c b/hw/intc/xive.c index a3cb0cf0e3..7f567a57d2 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -1576,9 +1576,9 @@ static const TypeInfo xive_end_source_info = { }; /* - * XIVE Fabric + * XIVE Notifier */ -static const TypeInfo xive_fabric_info = { +static const TypeInfo xive_notifier_info = { .name = TYPE_XIVE_NOTIFIER, .parent = TYPE_INTERFACE, .class_size = sizeof(XiveNotifierClass), @@ -1587,7 +1587,7 @@ static const TypeInfo xive_fabric_info = { static void xive_register_types(void) { type_register_static(&xive_source_info); - type_register_static(&xive_fabric_info); + type_register_static(&xive_notifier_info); type_register_static(&xive_router_info); type_register_static(&xive_end_source_info); type_register_static(&xive_tctx_info); diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h index ec23253ba4..5d31c801ee 100644 --- a/include/hw/ppc/xive.h +++ b/include/hw/ppc/xive.h @@ -145,7 +145,7 @@ #include "hw/ppc/xive_regs.h" /* - * XIVE Fabric (Interface between Source and Router) + * XIVE Notifier (Interface between Source and Router) */ typedef struct XiveNotifier { From 52b73c09bfee1b7feae6f6c281bab5bf0f94964e Mon Sep 17 00:00:00 2001 From: Greg Kurz Date: Thu, 10 Jan 2019 15:23:58 +0100 Subject: [PATCH 09/37] target/ppc/kvm: Drop useless include directive It has been there since the enablement of PR KVM for PAPR, ie, commit f61b4bedaf35 in 2011. Not sure why at that time, but it is definitely not needed with the current code. Signed-off-by: Greg Kurz Signed-off-by: David Gibson --- target/ppc/kvm.c | 1 - 1 file changed, 1 deletion(-) diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c index ebbb48c42f..d01852fe31 100644 --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -36,7 +36,6 @@ #include "hw/sysbus.h" #include "hw/ppc/spapr.h" -#include "hw/ppc/spapr_vio.h" #include "hw/ppc/spapr_cpu_core.h" #include "hw/ppc/ppc.h" #include "sysemu/watchdog.h" From 4f10ed277da91b2cb1b6e8a2de18792ce7881832 Mon Sep 17 00:00:00 2001 From: BALATON Zoltan Date: Wed, 9 Jan 2019 23:37:33 +0100 Subject: [PATCH 10/37] ppc440: Avoid reporting error when reading non-existent RAM slot When reading base register of RAM slot with no RAM we should not try to calculate register value because that will result printing an error due to invalid RAM size. Just return 0 without the error in this case. Signed-off-by: BALATON Zoltan Signed-off-by: David Gibson --- hw/ppc/ppc440_uc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c index c489368905..9130eb314c 100644 --- a/hw/ppc/ppc440_uc.c +++ b/hw/ppc/ppc440_uc.c @@ -613,8 +613,10 @@ static uint32_t dcr_read_sdram(void *opaque, int dcrn) case SDRAM_R1BAS: case SDRAM_R2BAS: case SDRAM_R3BAS: - ret = sdram_bcr(sdram->ram_bases[dcrn - SDRAM_R0BAS], - sdram->ram_sizes[dcrn - SDRAM_R0BAS]); + if (sdram->ram_sizes[dcrn - SDRAM_R0BAS]) { + ret = sdram_bcr(sdram->ram_bases[dcrn - SDRAM_R0BAS], + sdram->ram_sizes[dcrn - SDRAM_R0BAS]); + } break; case SDRAM_CONF1HB: case SDRAM_CONF1LL: From 4882206430532af27aa2ffd30df2818e4661e981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Wed, 9 Jan 2019 15:31:19 +0100 Subject: [PATCH 11/37] spapr/vio: remove the "irq" property" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit efe2add7cb7f ("spapr/vio: deprecate the "irq" property") was merged in QEMU version 3.0. The "irq" property" can be removed for QEMU version 4.0. Signed-off-by: Cédric Le Goater Reviewed-by: Thomas Huth Reviewed-by: Greg Kurz Signed-off-by: David Gibson --- hw/ppc/spapr_vio.c | 47 ++++++-------------------------------------- qemu-deprecated.texi | 6 ------ 2 files changed, 6 insertions(+), 47 deletions(-) diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c index 7e8a9ad093..414673d313 100644 --- a/hw/ppc/spapr_vio.c +++ b/hw/ppc/spapr_vio.c @@ -44,38 +44,6 @@ #define SPAPR_VIO_REG_BASE 0x71000000 -static void spapr_vio_get_irq(Object *obj, Visitor *v, const char *name, - void *opaque, Error **errp) -{ - Property *prop = opaque; - uint32_t *ptr = qdev_get_prop_ptr(DEVICE(obj), prop); - - visit_type_uint32(v, name, ptr, errp); -} - -static void spapr_vio_set_irq(Object *obj, Visitor *v, const char *name, - void *opaque, Error **errp) -{ - Property *prop = opaque; - uint32_t *ptr = qdev_get_prop_ptr(DEVICE(obj), prop); - - if (!qtest_enabled()) { - warn_report(TYPE_VIO_SPAPR_DEVICE " '%s' property is deprecated", name); - } - visit_type_uint32(v, name, ptr, errp); -} - -static const PropertyInfo spapr_vio_irq_propinfo = { - .name = "irq", - .get = spapr_vio_get_irq, - .set = spapr_vio_set_irq, -}; - -static Property spapr_vio_props[] = { - DEFINE_PROP("irq", VIOsPAPRDevice, irq, spapr_vio_irq_propinfo, uint32_t), - DEFINE_PROP_END_OF_LIST(), -}; - static char *spapr_vio_get_dev_name(DeviceState *qdev) { VIOsPAPRDevice *dev = VIO_SPAPR_DEVICE(qdev); @@ -534,15 +502,13 @@ static void spapr_vio_busdev_realize(DeviceState *qdev, Error **errp) dev->qdev.id = id; } - if (!dev->irq) { - dev->irq = spapr_vio_reg_to_irq(dev->reg); + dev->irq = spapr_vio_reg_to_irq(dev->reg); - if (SPAPR_MACHINE_GET_CLASS(spapr)->legacy_irq_allocation) { - dev->irq = spapr_irq_findone(spapr, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + if (SPAPR_MACHINE_GET_CLASS(spapr)->legacy_irq_allocation) { + dev->irq = spapr_irq_findone(spapr, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; } } @@ -668,7 +634,6 @@ static void vio_spapr_device_class_init(ObjectClass *klass, void *data) k->realize = spapr_vio_busdev_realize; k->reset = spapr_vio_busdev_reset; k->bus_type = TYPE_SPAPR_VIO_BUS; - k->props = spapr_vio_props; } static const TypeInfo spapr_vio_type_info = { diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi index dfb278a377..9cc20b365c 100644 --- a/qemu-deprecated.texi +++ b/qemu-deprecated.texi @@ -160,9 +160,3 @@ Example of legacy encoding: The above, converted to the current supported format: @code{json:@{"file.driver":"rbd", "file.pool":"rbd", "file.image":"name"@}} - -@subsection vio-spapr-device device options - -@subsubsection "irq": "" (since 3.0.0) - -The ``irq'' property is obsoleted. From 1ac24c91bbfada5303a3d7ac1d50a05c489053a1 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 9 Jan 2019 15:03:23 +0100 Subject: [PATCH 12/37] hw/ppc/spapr: Encode the SCSI channel (bus) in the SRP LUNs In hw/scsi/spapr_vio.c we declare that the controller supports multiple buses by specifying "max_channel = 7" there. So in the code that fixes up the device tree nodes, we must encode the channel number (a.k.a. bus number in the "Logical unit addressing format" table of SAM5) into the 64-bit LUN, too. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1663160 Signed-off-by: Thomas Huth Signed-off-by: David Gibson --- hw/ppc/spapr.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 0942f35bf8..71fe552c83 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -2959,10 +2959,11 @@ static char *spapr_get_fw_dev_path(FWPathProvider *p, BusState *bus, if (spapr) { /* * Replace "channel@0/disk@0,0" with "disk@8000000000000000": - * We use SRP luns of the form 8000 | (bus << 8) | (id << 5) | lun - * in the top 16 bits of the 64-bit LUN + * In the top 16 bits of the 64-bit LUN, we use SRP luns of the form + * 0x8000 | (target << 8) | (bus << 5) | lun + * (see the "Logical unit addressing format" table in SAM5) */ - unsigned id = 0x8000 | (d->id << 8) | d->lun; + unsigned id = 0x8000 | (d->id << 8) | (d->channel << 5) | d->lun; return g_strdup_printf("%s@%"PRIX64, qdev_fw_name(dev), (uint64_t)id << 48); } else if (virtio) { From 21df5e4ffafd067090882c312c5978ee7bb2f46f Mon Sep 17 00:00:00 2001 From: Greg Kurz Date: Thu, 17 Jan 2019 12:06:38 +0100 Subject: [PATCH 13/37] spapr: Forbid setting ic-mode for old machine types MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Machine types 3.0 and older only know about the legacy XICS backend. Make it clear by erroring out if the user tries to set ic-mode on such machines. Signed-off-by: Greg Kurz Tested-by: Cédric Le Goater Reviewed-by: Cédric Le Goater Signed-off-by: David Gibson --- hw/ppc/spapr.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 71fe552c83..a217c7f7a6 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3127,6 +3127,11 @@ static void spapr_set_ic_mode(Object *obj, const char *value, Error **errp) { sPAPRMachineState *spapr = SPAPR_MACHINE(obj); + if (SPAPR_MACHINE_GET_CLASS(spapr)->legacy_irq_allocation) { + error_setg(errp, "This machine only uses the legacy XICS backend, don't pass ic-mode"); + return; + } + /* The legacy IRQ backend can not be set */ if (strcmp(value, "xics") == 0) { spapr->irq = &spapr_irq_xics; From d8e81d6e6093738c23b457b607c44a75a6952dc8 Mon Sep 17 00:00:00 2001 From: David Hildenbrand Date: Wed, 23 Jan 2019 09:24:25 +0100 Subject: [PATCH 14/37] spapr/pci: Fix primary bus number for PCI bridges While looking at the s390x implementation, looks like spapr has a similar BUG when building the topology. The primary bus number corresponds always to the bus number of the bus the bridge is attached to. Right now, if we have two bridges attached to the same bus (e.g. root bus) this is however not the case. The first bridge will have primary bus 0, the second bridge primary bus 1, which is wrong. Fix the assignment. While at it, drop setting the PCI_SUBORDINATE_BUS temporarily to 0xff. Setting it temporarily to that value (as discussed e.g. in [1]), is only relevant for a running system that probes the buses. The value is effectively unused for us just doing a DFS. [1] http://www.science.unitn.it/~fiorella/guidelinux/tlk/node76.html Signed-off-by: David Hildenbrand Reviewed-by: Alexey Kardashevskiy Signed-off-by: David Gibson --- hw/ppc/spapr_pci.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index b74f2632ec..5cdc98513d 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -2030,8 +2030,6 @@ static void spapr_phb_pci_enumerate_bridge(PCIBus *bus, PCIDevice *pdev, void *opaque) { unsigned int *bus_no = opaque; - unsigned int primary = *bus_no; - unsigned int subordinate = 0xff; PCIBus *sec_bus = NULL; if ((pci_default_read_config(pdev, PCI_HEADER_TYPE, 1) != @@ -2040,7 +2038,7 @@ static void spapr_phb_pci_enumerate_bridge(PCIBus *bus, PCIDevice *pdev, } (*bus_no)++; - pci_default_write_config(pdev, PCI_PRIMARY_BUS, primary, 1); + pci_default_write_config(pdev, PCI_PRIMARY_BUS, pci_dev_bus_num(pdev), 1); pci_default_write_config(pdev, PCI_SECONDARY_BUS, *bus_no, 1); pci_default_write_config(pdev, PCI_SUBORDINATE_BUS, *bus_no, 1); @@ -2049,7 +2047,6 @@ static void spapr_phb_pci_enumerate_bridge(PCIBus *bus, PCIDevice *pdev, return; } - pci_default_write_config(pdev, PCI_SUBORDINATE_BUS, subordinate, 1); pci_for_each_device(sec_bus, pci_bus_num(sec_bus), spapr_phb_pci_enumerate_bridge, bus_no); pci_default_write_config(pdev, PCI_SUBORDINATE_BUS, *bus_no, 1); From 40a5056c4130efc60ab0639e93d6d0c509326e8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Thu, 17 Jan 2019 08:53:24 +0100 Subject: [PATCH 15/37] xive: add a get_tctx() method to the XiveRouter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It provides a mean to retrieve the XiveTCTX of a CPU. This will become necessary with future changes which move the interrupt presenter object pointers under the PowerPCCPU machine_data. The PowerNV machine has an extra requirement on TIMA accesses that this new method addresses. The machine can perform indirect loads and stores on the TIMA on behalf of another CPU. The PIR being defined in the controller registers, we need a way to peek in the controller model to find the PIR value. The XiveTCTX is moved above the XiveRouter definition to avoid forward typedef declarations. Signed-off-by: Cédric Le Goater Reviewed-by: Greg Kurz Signed-off-by: David Gibson --- hw/intc/spapr_xive.c | 8 ++++++ hw/intc/xive.c | 16 +++++++----- include/hw/ppc/xive.h | 57 ++++++++++++++++++++++--------------------- 3 files changed, 47 insertions(+), 34 deletions(-) diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c index d391177ab8..136d872f16 100644 --- a/hw/intc/spapr_xive.c +++ b/hw/intc/spapr_xive.c @@ -390,6 +390,13 @@ static int spapr_xive_write_nvt(XiveRouter *xrtr, uint8_t nvt_blk, g_assert_not_reached(); } +static XiveTCTX *spapr_xive_get_tctx(XiveRouter *xrtr, CPUState *cs) +{ + PowerPCCPU *cpu = POWERPC_CPU(cs); + + return cpu->tctx; +} + static const VMStateDescription vmstate_spapr_xive_end = { .name = TYPE_SPAPR_XIVE "/end", .version_id = 1, @@ -454,6 +461,7 @@ static void spapr_xive_class_init(ObjectClass *klass, void *data) xrc->write_end = spapr_xive_write_end; xrc->get_nvt = spapr_xive_get_nvt; xrc->write_nvt = spapr_xive_write_nvt; + xrc->get_tctx = spapr_xive_get_tctx; } static const TypeInfo spapr_xive_info = { diff --git a/hw/intc/xive.c b/hw/intc/xive.c index 7f567a57d2..2e9b8efd43 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -320,8 +320,7 @@ static const XiveTmOp *xive_tm_find_op(hwaddr offset, unsigned size, bool write) static void xive_tm_write(void *opaque, hwaddr offset, uint64_t value, unsigned size) { - PowerPCCPU *cpu = POWERPC_CPU(current_cpu); - XiveTCTX *tctx = cpu->tctx; + XiveTCTX *tctx = xive_router_get_tctx(XIVE_ROUTER(opaque), current_cpu); const XiveTmOp *xto; /* @@ -359,8 +358,7 @@ static void xive_tm_write(void *opaque, hwaddr offset, static uint64_t xive_tm_read(void *opaque, hwaddr offset, unsigned size) { - PowerPCCPU *cpu = POWERPC_CPU(current_cpu); - XiveTCTX *tctx = cpu->tctx; + XiveTCTX *tctx = xive_router_get_tctx(XIVE_ROUTER(opaque), current_cpu); const XiveTmOp *xto; /* @@ -1107,6 +1105,13 @@ int xive_router_write_nvt(XiveRouter *xrtr, uint8_t nvt_blk, uint32_t nvt_idx, return xrc->write_nvt(xrtr, nvt_blk, nvt_idx, nvt, word_number); } +XiveTCTX *xive_router_get_tctx(XiveRouter *xrtr, CPUState *cs) +{ + XiveRouterClass *xrc = XIVE_ROUTER_GET_CLASS(xrtr); + + return xrc->get_tctx(xrtr, cs); +} + /* * The thread context register words are in big-endian format. */ @@ -1182,8 +1187,7 @@ static bool xive_presenter_match(XiveRouter *xrtr, uint8_t format, */ CPU_FOREACH(cs) { - PowerPCCPU *cpu = POWERPC_CPU(cs); - XiveTCTX *tctx = cpu->tctx; + XiveTCTX *tctx = xive_router_get_tctx(xrtr, cs); int ring; /* diff --git a/include/hw/ppc/xive.h b/include/hw/ppc/xive.h index 5d31c801ee..ec3bb2aae4 100644 --- a/include/hw/ppc/xive.h +++ b/include/hw/ppc/xive.h @@ -294,6 +294,33 @@ static inline void xive_source_irq_set(XiveSource *xsrc, uint32_t srcno, void xive_source_set_irq(void *opaque, int srcno, int val); +/* + * XIVE Thread interrupt Management (TM) context + */ + +#define TYPE_XIVE_TCTX "xive-tctx" +#define XIVE_TCTX(obj) OBJECT_CHECK(XiveTCTX, (obj), TYPE_XIVE_TCTX) + +/* + * XIVE Thread interrupt Management register rings : + * + * QW-0 User event-based exception state + * QW-1 O/S OS context for priority management, interrupt acks + * QW-2 Pool hypervisor pool context for virtual processors dispatched + * QW-3 Physical physical thread context and security context + */ +#define XIVE_TM_RING_COUNT 4 +#define XIVE_TM_RING_SIZE 0x10 + +typedef struct XiveTCTX { + DeviceState parent_obj; + + CPUState *cs; + qemu_irq output; + + uint8_t regs[XIVE_TM_RING_COUNT * XIVE_TM_RING_SIZE]; +} XiveTCTX; + /* * XIVE Router */ @@ -324,6 +351,7 @@ typedef struct XiveRouterClass { XiveNVT *nvt); int (*write_nvt)(XiveRouter *xrtr, uint8_t nvt_blk, uint32_t nvt_idx, XiveNVT *nvt, uint8_t word_number); + XiveTCTX *(*get_tctx)(XiveRouter *xrtr, CPUState *cs); } XiveRouterClass; void xive_eas_pic_print_info(XiveEAS *eas, uint32_t lisn, Monitor *mon); @@ -338,7 +366,7 @@ int xive_router_get_nvt(XiveRouter *xrtr, uint8_t nvt_blk, uint32_t nvt_idx, XiveNVT *nvt); int xive_router_write_nvt(XiveRouter *xrtr, uint8_t nvt_blk, uint32_t nvt_idx, XiveNVT *nvt, uint8_t word_number); - +XiveTCTX *xive_router_get_tctx(XiveRouter *xrtr, CPUState *cs); /* * XIVE END ESBs @@ -371,33 +399,6 @@ typedef struct XiveENDSource { void xive_end_pic_print_info(XiveEND *end, uint32_t end_idx, Monitor *mon); void xive_end_queue_pic_print_info(XiveEND *end, uint32_t width, Monitor *mon); -/* - * XIVE Thread interrupt Management (TM) context - */ - -#define TYPE_XIVE_TCTX "xive-tctx" -#define XIVE_TCTX(obj) OBJECT_CHECK(XiveTCTX, (obj), TYPE_XIVE_TCTX) - -/* - * XIVE Thread interrupt Management register rings : - * - * QW-0 User event-based exception state - * QW-1 O/S OS context for priority management, interrupt acks - * QW-2 Pool hypervisor pool context for virtual processors dispatched - * QW-3 Physical physical thread context and security context - */ -#define XIVE_TM_RING_COUNT 4 -#define XIVE_TM_RING_SIZE 0x10 - -typedef struct XiveTCTX { - DeviceState parent_obj; - - CPUState *cs; - qemu_irq output; - - uint8_t regs[XIVE_TM_RING_COUNT * XIVE_TM_RING_SIZE]; -} XiveTCTX; - /* * XIVE Thread Interrupt Management Aera (TIMA) * From 8907fc25cf1824c11276f60354bb08bd24c37d4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Thu, 17 Jan 2019 08:53:25 +0100 Subject: [PATCH 16/37] ppc/pnv: introduce a CPU machine_data MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Include the interrupt presenter under the machine_data as we plan to remove it from under PowerPCCPU Signed-off-by: Cédric Le Goater Reviewed-by: Greg Kurz Signed-off-by: David Gibson --- hw/ppc/pnv.c | 7 ++++--- hw/ppc/pnv_core.c | 12 +++++++++++- include/hw/ppc/pnv_core.h | 9 +++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index d84acef55b..da540860a2 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -673,6 +673,7 @@ static void pnv_chip_power8_intc_create(PnvChip *chip, PowerPCCPU *cpu, { Error *local_err = NULL; Object *obj; + PnvCPUState *pnv_cpu = pnv_cpu_state(cpu); obj = icp_create(OBJECT(cpu), TYPE_PNV_ICP, XICS_FABRIC(qdev_get_machine()), &local_err); @@ -681,7 +682,7 @@ static void pnv_chip_power8_intc_create(PnvChip *chip, PowerPCCPU *cpu, return; } - cpu->icp = ICP(obj); + pnv_cpu->icp = ICP(obj); } /* @@ -1099,7 +1100,7 @@ static ICPState *pnv_icp_get(XICSFabric *xi, int pir) { PowerPCCPU *cpu = ppc_get_vcpu_by_pir(pir); - return cpu ? cpu->icp : NULL; + return cpu ? pnv_cpu_state(cpu)->icp : NULL; } static void pnv_pic_print_info(InterruptStatsProvider *obj, @@ -1112,7 +1113,7 @@ static void pnv_pic_print_info(InterruptStatsProvider *obj, CPU_FOREACH(cs) { PowerPCCPU *cpu = POWERPC_CPU(cs); - icp_pic_print_info(cpu->icp, mon); + icp_pic_print_info(pnv_cpu_state(cpu)->icp, mon); } for (i = 0; i < pnv->num_chips; i++) { diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c index b98f277f1e..7c806da720 100644 --- a/hw/ppc/pnv_core.c +++ b/hw/ppc/pnv_core.c @@ -155,7 +155,10 @@ static void pnv_core_realize(DeviceState *dev, Error **errp) pc->threads = g_new(PowerPCCPU *, cc->nr_threads); for (i = 0; i < cc->nr_threads; i++) { + PowerPCCPU *cpu; + obj = object_new(typename); + cpu = POWERPC_CPU(obj); pc->threads[i] = POWERPC_CPU(obj); @@ -163,6 +166,9 @@ static void pnv_core_realize(DeviceState *dev, Error **errp) object_property_add_child(OBJECT(pc), name, obj, &error_abort); object_property_add_alias(obj, "core-pir", OBJECT(pc), "pir", &error_abort); + + cpu->machine_data = g_new0(PnvCPUState, 1); + object_unref(obj); } @@ -189,9 +195,13 @@ err: static void pnv_unrealize_vcpu(PowerPCCPU *cpu) { + PnvCPUState *pnv_cpu = pnv_cpu_state(cpu); + qemu_unregister_reset(pnv_cpu_reset, cpu); - object_unparent(OBJECT(cpu->icp)); + object_unparent(OBJECT(pnv_cpu_state(cpu)->icp)); cpu_remove_sync(CPU(cpu)); + cpu->machine_data = NULL; + g_free(pnv_cpu); object_unparent(OBJECT(cpu)); } diff --git a/include/hw/ppc/pnv_core.h b/include/hw/ppc/pnv_core.h index 447ae761f7..9961ea3a92 100644 --- a/include/hw/ppc/pnv_core.h +++ b/include/hw/ppc/pnv_core.h @@ -47,4 +47,13 @@ typedef struct PnvCoreClass { #define PNV_CORE_TYPE_SUFFIX "-" TYPE_PNV_CORE #define PNV_CORE_TYPE_NAME(cpu_model) cpu_model PNV_CORE_TYPE_SUFFIX +typedef struct PnvCPUState { + struct ICPState *icp; +} PnvCPUState; + +static inline PnvCPUState *pnv_cpu_state(PowerPCCPU *cpu) +{ + return (PnvCPUState *)cpu->machine_data; +} + #endif /* _PPC_PNV_CORE_H */ From a28b9a5a8db6a650dbad5811f33615c361c72151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Thu, 17 Jan 2019 08:53:26 +0100 Subject: [PATCH 17/37] spapr: move the interrupt presenters under machine_data MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Next step is to remove them from under the PowerPCCPU Signed-off-by: Cédric Le Goater Reviewed-by: Greg Kurz Signed-off-by: David Gibson --- hw/intc/spapr_xive.c | 3 ++- hw/intc/xics_spapr.c | 11 ++++++----- hw/ppc/spapr.c | 2 +- hw/ppc/spapr_cpu_core.c | 8 ++++---- hw/ppc/spapr_irq.c | 17 ++++++++++------- include/hw/ppc/spapr_cpu_core.h | 2 ++ 6 files changed, 25 insertions(+), 18 deletions(-) diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c index 136d872f16..a0f5ff9294 100644 --- a/hw/intc/spapr_xive.c +++ b/hw/intc/spapr_xive.c @@ -16,6 +16,7 @@ #include "monitor/monitor.h" #include "hw/ppc/fdt.h" #include "hw/ppc/spapr.h" +#include "hw/ppc/spapr_cpu_core.h" #include "hw/ppc/spapr_xive.h" #include "hw/ppc/xive.h" #include "hw/ppc/xive_regs.h" @@ -394,7 +395,7 @@ static XiveTCTX *spapr_xive_get_tctx(XiveRouter *xrtr, CPUState *cs) { PowerPCCPU *cpu = POWERPC_CPU(cs); - return cpu->tctx; + return spapr_cpu_state(cpu)->tctx; } static const VMStateDescription vmstate_spapr_xive_end = { diff --git a/hw/intc/xics_spapr.c b/hw/intc/xics_spapr.c index de6cc15b64..e2d8b38183 100644 --- a/hw/intc/xics_spapr.c +++ b/hw/intc/xics_spapr.c @@ -31,6 +31,7 @@ #include "trace.h" #include "qemu/timer.h" #include "hw/ppc/spapr.h" +#include "hw/ppc/spapr_cpu_core.h" #include "hw/ppc/xics.h" #include "hw/ppc/xics_spapr.h" #include "hw/ppc/fdt.h" @@ -45,7 +46,7 @@ static target_ulong h_cppr(PowerPCCPU *cpu, sPAPRMachineState *spapr, { target_ulong cppr = args[0]; - icp_set_cppr(cpu->icp, cppr); + icp_set_cppr(spapr_cpu_state(cpu)->icp, cppr); return H_SUCCESS; } @@ -66,7 +67,7 @@ static target_ulong h_ipi(PowerPCCPU *cpu, sPAPRMachineState *spapr, static target_ulong h_xirr(PowerPCCPU *cpu, sPAPRMachineState *spapr, target_ulong opcode, target_ulong *args) { - uint32_t xirr = icp_accept(cpu->icp); + uint32_t xirr = icp_accept(spapr_cpu_state(cpu)->icp); args[0] = xirr; return H_SUCCESS; @@ -75,7 +76,7 @@ static target_ulong h_xirr(PowerPCCPU *cpu, sPAPRMachineState *spapr, static target_ulong h_xirr_x(PowerPCCPU *cpu, sPAPRMachineState *spapr, target_ulong opcode, target_ulong *args) { - uint32_t xirr = icp_accept(cpu->icp); + uint32_t xirr = icp_accept(spapr_cpu_state(cpu)->icp); args[0] = xirr; args[1] = cpu_get_host_ticks(); @@ -87,7 +88,7 @@ static target_ulong h_eoi(PowerPCCPU *cpu, sPAPRMachineState *spapr, { target_ulong xirr = args[0]; - icp_eoi(cpu->icp, xirr); + icp_eoi(spapr_cpu_state(cpu)->icp, xirr); return H_SUCCESS; } @@ -95,7 +96,7 @@ static target_ulong h_ipoll(PowerPCCPU *cpu, sPAPRMachineState *spapr, target_ulong opcode, target_ulong *args) { uint32_t mfrr; - uint32_t xirr = icp_ipoll(cpu->icp, &mfrr); + uint32_t xirr = icp_ipoll(spapr_cpu_state(cpu)->icp, &mfrr); args[0] = xirr; args[1] = mfrr; diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index a217c7f7a6..487cdf2f3a 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -3902,7 +3902,7 @@ static ICPState *spapr_icp_get(XICSFabric *xi, int vcpu_id) { PowerPCCPU *cpu = spapr_find_cpu(vcpu_id); - return cpu ? cpu->icp : NULL; + return cpu ? spapr_cpu_state(cpu)->icp : NULL; } static void spapr_pic_print_info(InterruptStatsProvider *obj, diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c index 0405306d1e..ef6cbb9c29 100644 --- a/hw/ppc/spapr_cpu_core.c +++ b/hw/ppc/spapr_cpu_core.c @@ -194,11 +194,11 @@ static void spapr_unrealize_vcpu(PowerPCCPU *cpu, sPAPRCPUCore *sc) vmstate_unregister(NULL, &vmstate_spapr_cpu_state, cpu->machine_data); } qemu_unregister_reset(spapr_cpu_reset, cpu); - if (cpu->icp) { - object_unparent(OBJECT(cpu->icp)); + if (spapr_cpu_state(cpu)->icp) { + object_unparent(OBJECT(spapr_cpu_state(cpu)->icp)); } - if (cpu->tctx) { - object_unparent(OBJECT(cpu->tctx)); + if (spapr_cpu_state(cpu)->tctx) { + object_unparent(OBJECT(spapr_cpu_state(cpu)->tctx)); } cpu_remove_sync(CPU(cpu)); object_unparent(OBJECT(cpu)); diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c index 1da7a32348..2d7a7c1638 100644 --- a/hw/ppc/spapr_irq.c +++ b/hw/ppc/spapr_irq.c @@ -12,6 +12,7 @@ #include "qemu/error-report.h" #include "qapi/error.h" #include "hw/ppc/spapr.h" +#include "hw/ppc/spapr_cpu_core.h" #include "hw/ppc/spapr_xive.h" #include "hw/ppc/xics.h" #include "hw/ppc/xics_spapr.h" @@ -185,7 +186,7 @@ static void spapr_irq_print_info_xics(sPAPRMachineState *spapr, Monitor *mon) CPU_FOREACH(cs) { PowerPCCPU *cpu = POWERPC_CPU(cs); - icp_pic_print_info(cpu->icp, mon); + icp_pic_print_info(spapr_cpu_state(cpu)->icp, mon); } ics_pic_print_info(spapr->ics, mon); @@ -196,6 +197,7 @@ static void spapr_irq_cpu_intc_create_xics(sPAPRMachineState *spapr, { Error *local_err = NULL; Object *obj; + sPAPRCPUState *spapr_cpu = spapr_cpu_state(cpu); obj = icp_create(OBJECT(cpu), spapr->icp_type, XICS_FABRIC(spapr), &local_err); @@ -204,7 +206,7 @@ static void spapr_irq_cpu_intc_create_xics(sPAPRMachineState *spapr, return; } - cpu->icp = ICP(obj); + spapr_cpu->icp = ICP(obj); } static int spapr_irq_post_load_xics(sPAPRMachineState *spapr, int version_id) @@ -213,7 +215,7 @@ static int spapr_irq_post_load_xics(sPAPRMachineState *spapr, int version_id) CPUState *cs; CPU_FOREACH(cs) { PowerPCCPU *cpu = POWERPC_CPU(cs); - icp_resend(cpu->icp); + icp_resend(spapr_cpu_state(cpu)->icp); } } return 0; @@ -334,7 +336,7 @@ static void spapr_irq_print_info_xive(sPAPRMachineState *spapr, CPU_FOREACH(cs) { PowerPCCPU *cpu = POWERPC_CPU(cs); - xive_tctx_pic_print_info(cpu->tctx, mon); + xive_tctx_pic_print_info(spapr_cpu_state(cpu)->tctx, mon); } spapr_xive_pic_print_info(spapr->xive, mon); @@ -345,6 +347,7 @@ static void spapr_irq_cpu_intc_create_xive(sPAPRMachineState *spapr, { Error *local_err = NULL; Object *obj; + sPAPRCPUState *spapr_cpu = spapr_cpu_state(cpu); obj = xive_tctx_create(OBJECT(cpu), XIVE_ROUTER(spapr->xive), &local_err); if (local_err) { @@ -352,13 +355,13 @@ static void spapr_irq_cpu_intc_create_xive(sPAPRMachineState *spapr, return; } - cpu->tctx = XIVE_TCTX(obj); + spapr_cpu->tctx = XIVE_TCTX(obj); /* * (TCG) Early setting the OS CAM line for hotplugged CPUs as they * don't beneficiate from the reset of the XIVE IRQ backend */ - spapr_xive_set_tctx_os_cam(cpu->tctx); + spapr_xive_set_tctx_os_cam(spapr_cpu->tctx); } static int spapr_irq_post_load_xive(sPAPRMachineState *spapr, int version_id) @@ -374,7 +377,7 @@ static void spapr_irq_reset_xive(sPAPRMachineState *spapr, Error **errp) PowerPCCPU *cpu = POWERPC_CPU(cs); /* (TCG) Set the OS CAM line of the thread interrupt context. */ - spapr_xive_set_tctx_os_cam(cpu->tctx); + spapr_xive_set_tctx_os_cam(spapr_cpu_state(cpu)->tctx); } /* Activate the XIVE MMIOs */ diff --git a/include/hw/ppc/spapr_cpu_core.h b/include/hw/ppc/spapr_cpu_core.h index 9e2821e4b3..d64f86bc28 100644 --- a/include/hw/ppc/spapr_cpu_core.h +++ b/include/hw/ppc/spapr_cpu_core.h @@ -46,6 +46,8 @@ typedef struct sPAPRCPUState { uint64_t vpa_addr; uint64_t slb_shadow_addr, slb_shadow_size; uint64_t dtl_addr, dtl_size; + struct ICPState *icp; + struct XiveTCTX *tctx; } sPAPRCPUState; static inline sPAPRCPUState *spapr_cpu_state(PowerPCCPU *cpu) From 9c86cb0d79f8658171a6a3b7903773f33559d51a Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Sun, 27 Jan 2019 09:02:59 +0000 Subject: [PATCH 18/37] target/ppc: implement complete set of Vsr* macros This prepares us for eliminating the use of direct array access within the VMX instruction implementations. Signed-off-by: Mark Cave-Ayland Reviewed-by: Richard Henderson Signed-off-by: David Gibson --- target/ppc/internal.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/target/ppc/internal.h b/target/ppc/internal.h index c7c0f77dd6..f26a71ffcf 100644 --- a/target/ppc/internal.h +++ b/target/ppc/internal.h @@ -206,16 +206,23 @@ EXTRACT_HELPER_SPLIT_3(DCMX_XV, 5, 16, 0, 1, 2, 5, 1, 6, 6); #if defined(HOST_WORDS_BIGENDIAN) #define VsrB(i) u8[i] +#define VsrSB(i) s8[i] #define VsrH(i) u16[i] +#define VsrSH(i) s16[i] #define VsrW(i) u32[i] +#define VsrSW(i) s32[i] #define VsrD(i) u64[i] +#define VsrSD(i) s64[i] #else #define VsrB(i) u8[15 - (i)] +#define VsrSB(i) s8[15 - (i)] #define VsrH(i) u16[7 - (i)] +#define VsrSH(i) s16[7 - (i)] #define VsrW(i) u32[3 - (i)] +#define VsrSW(i) s32[3 - (i)] #define VsrD(i) u64[1 - (i)] +#define VsrSD(i) s64[1 - (i)] #endif - static inline void getVSR(int n, ppc_vsr_t *vsr, CPUPPCState *env) { vsr->VsrD(0) = env->vsr[n].u64[0]; From 467657b3b70fff20704e9aa8d7ab989e768eeb96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Mon, 28 Jan 2019 07:55:52 +0100 Subject: [PATCH 19/37] ppc: remove the interrupt presenters from under PowerPCCPU MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These fields have now been replaced by equivalents under the machine data. Signed-off-by: Cédric Le Goater Reviewed-by: Greg Kurz Signed-off-by: David Gibson --- target/ppc/cpu.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h index a62ff60414..2c22292e7f 100644 --- a/target/ppc/cpu.h +++ b/target/ppc/cpu.h @@ -1178,9 +1178,6 @@ do { \ typedef struct PPCVirtualHypervisor PPCVirtualHypervisor; typedef struct PPCVirtualHypervisorClass PPCVirtualHypervisorClass; -struct XiveTCTX; -struct ICPState; - /** * PowerPCCPU: * @env: #CPUPPCState @@ -1198,8 +1195,6 @@ struct PowerPCCPU { int vcpu_id; uint32_t compat_pvr; PPCVirtualHypervisor *vhyp; - struct ICPState *icp; - struct XiveTCTX *tctx; void *machine_data; int32_t node_id; /* NUMA node this CPU belongs to */ PPCHash64Options *hash64_opts; From 52144b69e4e164c1fc48d872faf3b28162fb7b30 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 30 Jan 2019 15:30:49 +0100 Subject: [PATCH 20/37] hw/ppc: Move ppc40x_*reset() functions from ppc405_uc.c to ppc.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently, it is not possible to build a QEMU binary without the ppc405_uc.c file, even if you do not want to have the embedded machines in the binary. This is bad since it's quite a bit of code and this code pulls in some more dependencies (e.g. via the usage of serial_mm_init()) which would not be needed otherwise - especially with the upcoming Kconfig-style configuration system for QEMU. The only functions from this file which are really always required for linking are the ppc40x_*reset() functions, so move these functions to ppc.c, close to the ppc40x_set_irq() function that calls them. Now we can flag ppc405_uc.c and ppc4xx_devs.c with the CONFIG_PPC4XX config switch, too. And while we're at it, replace the printf()s in these ppc40x_*reset() functions with proper calls to qemu_log_mask(). Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: David Gibson --- hw/ppc/Makefile.objs | 3 +-- hw/ppc/ppc.c | 56 ++++++++++++++++++++++++++++++++++++++++++ hw/ppc/ppc405_uc.c | 58 -------------------------------------------- 3 files changed, 57 insertions(+), 60 deletions(-) diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs index 4e0c1c0941..1e753de09b 100644 --- a/hw/ppc/Makefile.objs +++ b/hw/ppc/Makefile.objs @@ -13,8 +13,7 @@ obj-y += spapr_pci_vfio.o endif obj-$(CONFIG_PSERIES) += spapr_rtas_ddw.o # PowerPC 4xx boards -obj-y += ppc4xx_devs.o ppc405_uc.o -obj-$(CONFIG_PPC4XX) += ppc4xx_pci.o ppc405_boards.o +obj-$(CONFIG_PPC4XX) += ppc4xx_devs.o ppc4xx_pci.o ppc405_uc.o ppc405_boards.o obj-$(CONFIG_PPC4XX) += ppc440_bamboo.o ppc440_pcix.o ppc440_uc.o obj-$(CONFIG_SAM460EX) += sam460ex.o # PReP diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c index ec4be25f49..98b409f83d 100644 --- a/hw/ppc/ppc.c +++ b/hw/ppc/ppc.c @@ -310,6 +310,62 @@ void ppcPOWER7_irq_init(PowerPCCPU *cpu) } #endif /* defined(TARGET_PPC64) */ +void ppc40x_core_reset(PowerPCCPU *cpu) +{ + CPUPPCState *env = &cpu->env; + target_ulong dbsr; + + qemu_log_mask(CPU_LOG_RESET, "Reset PowerPC core\n"); + cpu_interrupt(CPU(cpu), CPU_INTERRUPT_RESET); + dbsr = env->spr[SPR_40x_DBSR]; + dbsr &= ~0x00000300; + dbsr |= 0x00000100; + env->spr[SPR_40x_DBSR] = dbsr; +} + +void ppc40x_chip_reset(PowerPCCPU *cpu) +{ + CPUPPCState *env = &cpu->env; + target_ulong dbsr; + + qemu_log_mask(CPU_LOG_RESET, "Reset PowerPC chip\n"); + cpu_interrupt(CPU(cpu), CPU_INTERRUPT_RESET); + /* XXX: TODO reset all internal peripherals */ + dbsr = env->spr[SPR_40x_DBSR]; + dbsr &= ~0x00000300; + dbsr |= 0x00000200; + env->spr[SPR_40x_DBSR] = dbsr; +} + +void ppc40x_system_reset(PowerPCCPU *cpu) +{ + qemu_log_mask(CPU_LOG_RESET, "Reset PowerPC system\n"); + qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); +} + +void store_40x_dbcr0(CPUPPCState *env, uint32_t val) +{ + PowerPCCPU *cpu = ppc_env_get_cpu(env); + + switch ((val >> 28) & 0x3) { + case 0x0: + /* No action */ + break; + case 0x1: + /* Core reset */ + ppc40x_core_reset(cpu); + break; + case 0x2: + /* Chip reset */ + ppc40x_chip_reset(cpu); + break; + case 0x3: + /* System reset */ + ppc40x_system_reset(cpu); + break; + } +} + /* PowerPC 40x internal IRQ controller */ static void ppc40x_set_irq(void *opaque, int pin, int level) { diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index 8d3a797cb8..3ae7f6d4df 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -1155,64 +1155,6 @@ static void ppc4xx_gpt_init(hwaddr base, qemu_irq irqs[5]) qemu_register_reset(ppc4xx_gpt_reset, gpt); } -/*****************************************************************************/ -/* SPR */ -void ppc40x_core_reset(PowerPCCPU *cpu) -{ - CPUPPCState *env = &cpu->env; - target_ulong dbsr; - - printf("Reset PowerPC core\n"); - cpu_interrupt(CPU(cpu), CPU_INTERRUPT_RESET); - dbsr = env->spr[SPR_40x_DBSR]; - dbsr &= ~0x00000300; - dbsr |= 0x00000100; - env->spr[SPR_40x_DBSR] = dbsr; -} - -void ppc40x_chip_reset(PowerPCCPU *cpu) -{ - CPUPPCState *env = &cpu->env; - target_ulong dbsr; - - printf("Reset PowerPC chip\n"); - cpu_interrupt(CPU(cpu), CPU_INTERRUPT_RESET); - /* XXX: TODO reset all internal peripherals */ - dbsr = env->spr[SPR_40x_DBSR]; - dbsr &= ~0x00000300; - dbsr |= 0x00000200; - env->spr[SPR_40x_DBSR] = dbsr; -} - -void ppc40x_system_reset(PowerPCCPU *cpu) -{ - printf("Reset PowerPC system\n"); - qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); -} - -void store_40x_dbcr0 (CPUPPCState *env, uint32_t val) -{ - PowerPCCPU *cpu = ppc_env_get_cpu(env); - - switch ((val >> 28) & 0x3) { - case 0x0: - /* No action */ - break; - case 0x1: - /* Core reset */ - ppc40x_core_reset(cpu); - break; - case 0x2: - /* Chip reset */ - ppc40x_chip_reset(cpu); - break; - case 0x3: - /* System reset */ - ppc40x_system_reset(cpu); - break; - } -} - /*****************************************************************************/ /* PowerPC 405CR */ enum { From 2313abf0fe017eedd7f7eba2438db859147b2b1f Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 30 Jan 2019 16:45:40 +0100 Subject: [PATCH 21/37] MAINTAINERS: XIVE is an interrupt controller, not a machine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The "XIVE" section is currently listed in the "PowerPC Machines" section, which is weird, since this is an interrupt controller device. Move it to the "Devices" section instead. Signed-off-by: Thomas Huth Reviewed-by: Cédric Le Goater Signed-off-by: David Gibson --- MAINTAINERS | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 612692b284..d891e79faa 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1041,14 +1041,6 @@ F: tests/libqos/*spapr* F: tests/rtas* F: tests/libqos/rtas* -XIVE -M: David Gibson -M: Cédric Le Goater -L: qemu-ppc@nongnu.org -S: Supported -F: hw/*/*xive* -F: include/hw/*/*xive* - virtex_ml507 M: Edgar E. Iglesias L: qemu-ppc@nongnu.org @@ -1648,6 +1640,14 @@ F: tests/libqos/fw_cfg.c F: tests/fw_cfg-test.c T: git https://github.com/philmd/qemu.git fw_cfg-next +XIVE +M: David Gibson +M: Cédric Le Goater +L: qemu-ppc@nongnu.org +S: Supported +F: hw/*/*xive* +F: include/hw/*/*xive* + Subsystems ---------- Audio From ce6fc61736d9796d519a163f9181da738677888f Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 30 Jan 2019 17:22:25 +0100 Subject: [PATCH 22/37] MAINTAINERS: Merge the two e500 sections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There is currently a "e500" machine section and a "ppce500" device section in the maintainers file - with some oddities: The wildcard in the device section also covers the files from the machine section. And hw/pci-host/ppce500.c is in the device section, while its header is in the machine section. This is really quite confusing, and I don't see a reason why we really need two sections here, so let's simply merge them. Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: David Gibson --- MAINTAINERS | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index d891e79faa..646e289df4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -960,9 +960,10 @@ e500 M: David Gibson L: qemu-ppc@nongnu.org S: Odd Fixes -F: hw/ppc/e500.[hc] -F: hw/ppc/e500plat.c +F: hw/ppc/e500* F: hw/gpio/mpc8xxx.c +F: hw/net/fsl_etsec/ +F: hw/pci-host/ppce500.c F: include/hw/ppc/ppc_e500.h F: include/hw/pci-host/ppce500.h F: pc-bios/u-boot.e500 @@ -1319,14 +1320,6 @@ F: hw/i2c/ppc4xx_i2c.c F: include/hw/ppc/ppc4xx.h F: include/hw/i2c/ppc4xx_i2c.h -ppce500 -M: David Gibson -L: qemu-ppc@nongnu.org -S: Odd Fixes -F: hw/ppc/e500* -F: hw/pci-host/ppce500.c -F: hw/net/fsl_etsec/ - Character devices M: Marc-André Lureau R: Paolo Bonzini From df269271a92452313459f04fbc388f0be018cf70 Mon Sep 17 00:00:00 2001 From: Alexey Kardashevskiy Date: Wed, 30 Jan 2019 12:42:16 +1100 Subject: [PATCH 23/37] spapr: Drop unused parameters from fdt building helper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit spapr_load_rtas() handles now RTAS address and size information in the FDT so drop them from spapr_build_fdt(). While we are here, fix a small typo. Fixes: 3f5dabceba24 "pseries: Consolidate construction of /rtas device tree node" Signed-off-by: Alexey Kardashevskiy Reviewed-by: Greg Kurz Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: David Gibson --- hw/ppc/spapr.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 487cdf2f3a..c66e7d8e0a 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1225,9 +1225,7 @@ static void spapr_dt_hypervisor(sPAPRMachineState *spapr, void *fdt) } } -static void *spapr_build_fdt(sPAPRMachineState *spapr, - hwaddr rtas_addr, - hwaddr rtas_size) +static void *spapr_build_fdt(sPAPRMachineState *spapr) { MachineState *machine = MACHINE(spapr); MachineClass *mc = MACHINE_GET_CLASS(machine); @@ -1644,14 +1642,14 @@ static void spapr_machine_reset(void) /* * We place the device tree and RTAS just below either the top of the RMA, - * or just below 2GB, whichever is lowere, so that it can be + * or just below 2GB, whichever is lower, so that it can be * processed with 32-bit real mode code if necessary */ rtas_limit = MIN(spapr->rma_size, RTAS_MAX_ADDR); rtas_addr = rtas_limit - RTAS_MAX_SIZE; fdt_addr = rtas_addr - FDT_MAX_SIZE; - fdt = spapr_build_fdt(spapr, rtas_addr, spapr->rtas_size); + fdt = spapr_build_fdt(spapr); spapr_load_rtas(spapr, fdt, rtas_addr); From 40e3dd069c5f050ebc39c63b51938b15380f8aa1 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Mon, 28 Jan 2019 21:21:56 +0000 Subject: [PATCH 24/37] MAINTAINERS: add myself as maintainer for Mac Old World and New World machines I've unofficially been doing most of the work on the Mac machines for a while now, so update MAINTAINERS to reflect this. David is still happy to be listed as a reviewer as per our discussion at KVM forum. Signed-off-by: Mark Cave-Ayland Acked-by: David Gibson Signed-off-by: David Gibson --- MAINTAINERS | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 646e289df4..9a76845581 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -976,7 +976,8 @@ F: hw/ppc/mpc8544ds.c F: hw/ppc/mpc8544_guts.c New World (mac99) -M: David Gibson +M: Mark Cave-Ayland +R: David Gibson L: qemu-ppc@nongnu.org S: Odd Fixes F: hw/ppc/mac_newworld.c @@ -994,7 +995,8 @@ F: include/hw/input/adb* F: pc-bios/qemu_vga.ndrv Old World (g3beige) -M: David Gibson +M: Mark Cave-Ayland +R: David Gibson L: qemu-ppc@nongnu.org S: Odd Fixes F: hw/ppc/mac_oldworld.c From 200280af0e19bfaeb9431eb0ee1ee2d8bf8d3a0a Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Mon, 28 Jan 2019 21:21:57 +0000 Subject: [PATCH 25/37] QemuMacDrivers: update qemu_vga.ndrv to 90c488d built from submodule This update to qemu_vga.ndrv includes the following changes: - Build guest resolution list from QEMU EDID data if enabled - Fixes to re-enable 256 color mode Signed-off-by: Mark Cave-Ayland Signed-off-by: David Gibson --- pc-bios/qemu_vga.ndrv | Bin 14752 -> 18752 bytes roms/QemuMacDrivers | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/qemu_vga.ndrv b/pc-bios/qemu_vga.ndrv index 6e02f74d61e01c87cf50b10e174a6626bee13677..de81cfd1c57c30671d2017eb1899583fb1c887c3 100644 GIT binary patch literal 18752 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 H|2+Q>2ywvbuQLw zJ6CG=cGfWFj)k@=vGq!9Ybc<^dqab4oqt%lUD*jbBs_}7^-7|9B%#D&qtQfe7PsOT^RNt)Yev9nw|jLY zI$nr#hvLylTq#6%kAxCgTz@PQRbq+pTa==>^g|Tar(Y`IQ z)sd0Sp)I#7{@_3)7BqCa_Unb624bOv!h7AZzE^OSl}>1tp=q5mRt)Wq%)@$z6y0`i zB_4={qNF`{L`Om0+>@>Ffa>Q?G3P6vnV9Jr`15IIf@i!)-Y>iZzM(qIPaK&@e>iPo zjt7>eXH~T}sXnqSIlZ4n)i<_!+g|$KbFJW zUo+qj>9p;N0k@C(rjC7-Or1HO)QzrgwP4&!#XQj+Y7p#W!_L#lZ!~Wi{ zb+KyIXKz*OEy>h@-zPN_+bAz({i?(A#9`QMoyMf;304PNNz+H!^69skYmbRF?ODoN z_H?mUYUlRdpFW$lFKpZP+e#n!d0Cz`zuuEhA4T~CJfFcctxd8`C_gO^S{9?c5#{|T zUyHIA<-G?R7@J+f81Xy3gt_)DVaoxYwj<0+JbGB;e&So+!OXhPG(Ji7CPccfN#=lz zzofAk;{`N`MmZcJEx4?3|7h>r=;_)^U!T4EHo9v1MJ4qJHjx@`sViMm^_JGd;Ux9auF_!>lgxoAHw`U{zyJZ7Wa zD(HQtx3ja*?;l{__jUXNt~bh%h4Gt^J$^~<=vP!~2`!1o8#59#fdJQkz=kX~PO znV9E3QRlivyQNkk`CcW+ua=}+Dev@g~7LG=A$slLYe zl8a+yPh!k=EyY|e#CVF+7=Ie_)wNpEY1$(Q=V5<$HR&G%%^{6k=clt&6gEz1FoI-m<$p zytWrQymng$`2VB!2&-%NMdPw%G^!$l$G-5RPK|Z8`$8kKC9zrHb^=$^?h7iiWots< zd>H>gyDuD-En_i(3j?RM`?jKAEG}>^j19N@;^VSqBp`6KM{dmUh;qL?XgaM~m}?q5 zqmKD+TO(WgHi&u)cnrvvkR}Wfc{sZ}BF(12B9^nnxI%G@woC`Th*91fU zXLA(B3D`m-f5me`JSWAI$K7`IS7Gj#{m zi{`A@W4sr@Blf4=7Ul(?8DGRc!jjP6Cg2>HoBWe-L9GrG=lAPZkF2D)U1#S+`k3&`dHGr~-Vb6w z^=@ByL8?a(Vx}rJ#gYf>m@V}d=nvY$@}zAHb6-Qbr>rqXIb`aEkCFrbX6ryc@UiyS z=7j}$|2#f+2tF=k`S><+t|tW_Cd#)`@1D=_FGt{XqV~!7j|6+FK2w#<(jTannqXf5Syn{sg<7LvgSjJcd44$e^CL~(mJa&H&p6S11sf?KC+ zuR?Bi9I<>z`##$w&w%z(*6Cr@Jk}ylu;F~usajZ-YB4>a`fB>2pO>H?8S@Vz2lVl? ziDBO|%s+dP`Gs8eM$F&6yMdn%t}c}8aB;e&%4D#WeI4c=h0d?uhxsoi)93Vos zhCawC79OW^p-zo57xO=zw!@4Z>WzZ6Kz6GEt_fkk)yrPnaVeYS(dX-y)~BNuv?nsL z#04G=Ywf;!-(u`u>=miGkLX-mJ#fl)GqtzPVGlXQ?AUucFeVLL4cangYPVCnJm~n^ zz%g6Lz!~!8zbwXGLQ1F4_0lvjXHU`I1-;V-NpuC4ig$Ytt7 zKK3-(Lhy#z$Zo+Io@loMM>4`UdE81$sO#~Q*;Q5}i+w##TAL^|)VbZRFWp#8lx^he7L}B0eQ+OPEiOJ%4_N z@*u<*hWHcYd2ItTlRhZ!pkFoeI7gvgjP^0ipN)ND{(IX%c(-aby{cNwMxKhs#1cO9X;1pU$1}PWK9cbP7i4zM z!hcBCeJN%JSb*~(j#+WL3P_TdVC-zpE5#|ck4Cg@#vP!)a({tbTWCjF}QkO_MO z=~8V#JK|=BE{*rFir2{3k<%omAA(;EmVc)wefDi3U(TP!ohr{+{pt5b{Fzp_<;nLb z#y(y|z8P&BGq+8p(=)YMITw+f2VO5Gr<3npeC-j>xwW?uatx_;T&B7b^11juw9t=- zIX@x!#63dhd_($3OxI@DQ4;xCl;>xVZJjpnZg__7>&cE&KgF8ld1m=DJ?W30DUg-+ z$U{vH=?k>y(4K{Q72Qjr?wERu=Z<0A|C(g{2EqM}_9B-4Y`UIVN$2Pv2Cw9km8wND z`lFZbP~-{ZZHQAIR=%M?E{aVpas$>5Xp!#lbWohalkU*l@uYoea<-oDf0P&J>}$Lq z%iT}va{r{#hrKl;_pf`>e>#dh)R-qjZgZu!-LRe-3fGhA{Tc9uTxBx1#!SDF1L<^5 zCdb5lnM^;Tae8d}@D1+{bL^$DkjVo%o$%v7;rA8~c>N0H<_%T8`vV8-|O(CGqwcV{s!fRz|nc_1j-Wd8p?CvJu`O$WYhUMfO`Yn zPYb$N3cAbb3EsYnareP@%+uT10`%iNgO>);pT=4;V^J;>W#jnXV&lhN4;tr*#UuAQaM{#y7V|A+Uit2q+bcU)pPWRjLB4=+~)DnjYh832R+`fzx$Np}X` zZCZmo=nM`Vvvv$93hpLNrh%VYuWtt*E;c)d`EgI=+<`Un9-YzfJb~C>qt;>%nP3jJ z){?wGg*!!@2SBghyUp4`YXRj&UX_FoWN@9%juhEA0pA-{?=od|G<2-;SjDb8A$obOa=v#?0 zVsLsmLz8k5ls$reos8e~+O@5N^3Jd%AE9_yK1{wMnBmEVnpNUhTxmWa?7nd@9WLhtzHydl(jb$q2s>J=nF!*Q%E~87A zwwbkPce7UQ2_{e6P4Ua|Lm{h~Vl>Y4{{^1r&1JCHj9729hMEj|q@1pw_E8VBHxf-g zcg~J3$U$?!$Ist`zAec2TD2qK(X+3 z24@x3x;9E@Zc#UjI)01c?N+`1$tM@neco@QG}ps?uK&>I`s6vHh4brsln03N8{Sm5 z{K~*wXLD-Kl0=S!yJ?h9@v_1#QQ)f_ZFw9vA4;c-grflsDpc2Fm5k(`bXODZevOIWsrU)4S5Y6Mo9`boIey zN%gsvNtxp6B>1WWUx?zMzsiR0-^4cE|168* zw+iy_PPJZ~+3Q#WeJKXya)0Qn*d7P}qTf3t_}d(4FTol5IzxE{^j0V8H=~XGpZZbx zG8uaQ*V8QTcO~Q6n)iMY{9S#1C4Z-b_yg@Bya)6>TA#Ty49EA=`IYoQ?+H;m@($y; zmh3r5{3e2a6GiCgzuOpMVdniA@}W$e6Z<;isAU7ufZpcCsUt>z!+FX3pshnayfUet zyf)c(3cOBM93p?BSdBg0z^kc-=jix-OSM?Oi#a>_dn=O_N9e4B{r5HT?#W5=1uy&X zdGvA9ehK|NTUUm0k076GU_bCO`w`gcvE4!VTqowoTEU+40DdQ}BpFby)2yt@#dw+a zsuQ5`G(aQTY8m%q!k+4qW9z)F%L5S1n(Yl|&2YNam{Jb!j)^g4beyp4KDg z?pOI;>6;z<(C)=MVX4npGsag_K7jc;_4(4Bbhd+>dq{3P?-6<9Jm36+`}>Uey<{15 zew=8^n!cv7uk(CT4cM=PzUX(=7RV>hOmO==JOkc*Wz0OgAGQ$VFyK!1b%r5yr%@dvKXH1N_es>*_YmHqBBNQ1~>uuCEzq( zBmObqNx*}E`v6#CR)Q$_%#6UiG&F;7GOqt{~q8cfCGSCfI+}Izzu*#Kow)Q^MI28^s|9?+qVH@fH1&;SD5bw zBmt1Q0`pfO!a3gr{2YM(PS9{p1F%y#A&;{kIs`pR7b=$l7Glg90Q6UJ1aJsC^XkSd zgT9S__0?1xPALCGPseR*`ZhG(aZ49fiu{>O9BI3}ncnIR`^WF(FG}Ben=(9FdQ=fY zV0a`L+qyLrj1bA(tGrTRIJi0zRBmbvI+=KNIyACH8Ve%Pza(yc_61-7r zOs;SW>IdKB_*CG)x4jO~1ZWqyP2#DFXSkrA!C&gxtIN_83WxDQK~}5u4t}o2U$)OxSBLQl zK(2agR2iY#Jg>h+!DTDah4=8%ddX`BJ>HU!jQPj={af;Tf+27@p5IYPP``ZsiDY3%tfFWn zmWX>0C&v6SW%Xz*9*O1A0{x4$x?}#ai!@`-{8s9}9*bq34B2lm@+Qal;tk-6K7pYR zS?Gx%a@UPg9HpBYlhUw1{w+M6g{1fhqe(HkKQe|-bmnn{iA%K5n3%E|-_9WP@Q+l) z=QV}1eZF3+{BcDD+(H7NJ_3)!wUbDfe*;A`-k z$Na-_{o^M|uSjwKIQA)>0c@G{XV$Q$mLe(8 z)rt_6NI(s=O(psNPPQ(RkTyp~M}pYLq%an^v{V|6ldgiwWhEn5Rko_@cH|acPx9F^ok^+LhT#xMU{>QWDJni1%j=nlM5Mvc7Q)en sM1umzbH?y-7-u#x?AL2jC=P~U*d}QVABJ&7MuX5B@0M|k|F`G=0B)l1CIA2c diff --git a/roms/QemuMacDrivers b/roms/QemuMacDrivers index d4e7d7ac66..90c488d5f4 160000 --- a/roms/QemuMacDrivers +++ b/roms/QemuMacDrivers @@ -1 +1 @@ -Subproject commit d4e7d7ac663fcb55f1b93575445fcbca372f17a7 +Subproject commit 90c488d5f4a407342247b9ea869df1c2d9c8e266 From 6e66d0c6484c7f5b30b7a08d83bd3d369ba58682 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 30 Jan 2019 14:36:39 +0100 Subject: [PATCH 26/37] hw/ppc/spapr: Add support for "-vga cirrus" The cirrus VGA card has been enabled in the PPC builds with commit 29f9cef39eb1ae55e82c ("ppc: Include vga cirrus card into the compiling process") last year. It also works on the pseries machine, even SLOF contains support for this card, so we can also support this for the "-vga" parameter here. Signed-off-by: Thomas Huth Signed-off-by: David Gibson --- hw/ppc/spapr.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index c66e7d8e0a..0fcdd35cbe 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1715,6 +1715,7 @@ static bool spapr_vga_init(PCIBus *pci_bus, Error **errp) return true; case VGA_STD: case VGA_VIRTIO: + case VGA_CIRRUS: return pci_vga_init(pci_bus) != NULL; default: error_setg(errp, From d81c20404e2254e2f56d649c978c7fd6b28c3394 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Wed, 30 Jan 2019 20:36:32 +0000 Subject: [PATCH 27/37] target/ppc: rework vmrg{l,h}{b,h,w} instructions to use Vsr* macros The current implementations make use of the endian-specific macros MRGLO/MRGHI and also reference HI_IDX and LO_IDX directly to calculate array offsets. Rework the implementation to use the Vsr* macros so that these per-endian references can be removed. Signed-off-by: Mark Cave-Ayland Signed-off-by: David Gibson --- target/ppc/int_helper.c | 52 ++++++++++++++--------------------------- 1 file changed, 18 insertions(+), 34 deletions(-) diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c index 598731d47a..fe418b3393 100644 --- a/target/ppc/int_helper.c +++ b/target/ppc/int_helper.c @@ -976,43 +976,27 @@ void helper_vmladduhm(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) } } -#define VMRG_DO(name, element, highp) \ - void helper_v##name(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) \ - { \ - ppc_avr_t result; \ - int i; \ - size_t n_elems = ARRAY_SIZE(r->element); \ - \ - for (i = 0; i < n_elems / 2; i++) { \ - if (highp) { \ - result.element[i*2+HI_IDX] = a->element[i]; \ - result.element[i*2+LO_IDX] = b->element[i]; \ - } else { \ - result.element[n_elems - i * 2 - (1 + HI_IDX)] = \ - b->element[n_elems - i - 1]; \ - result.element[n_elems - i * 2 - (1 + LO_IDX)] = \ - a->element[n_elems - i - 1]; \ - } \ - } \ - *r = result; \ +#define VMRG_DO(name, element, access, ofs) \ + void helper_v##name(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) \ + { \ + ppc_avr_t result; \ + int i, half = ARRAY_SIZE(r->element) / 2; \ + \ + for (i = 0; i < half; i++) { \ + result.access(i * 2 + 0) = a->access(i + ofs); \ + result.access(i * 2 + 1) = b->access(i + ofs); \ + } \ + *r = result; \ } -#if defined(HOST_WORDS_BIGENDIAN) -#define MRGHI 0 -#define MRGLO 1 -#else -#define MRGHI 1 -#define MRGLO 0 -#endif -#define VMRG(suffix, element) \ - VMRG_DO(mrgl##suffix, element, MRGHI) \ - VMRG_DO(mrgh##suffix, element, MRGLO) -VMRG(b, u8) -VMRG(h, u16) -VMRG(w, u32) + +#define VMRG(suffix, element, access) \ + VMRG_DO(mrgl##suffix, element, access, half) \ + VMRG_DO(mrgh##suffix, element, access, 0) +VMRG(b, u8, VsrB) +VMRG(h, u16, VsrH) +VMRG(w, u32, VsrW) #undef VMRG_DO #undef VMRG -#undef MRGHI -#undef MRGLO void helper_vmsummbm(CPUPPCState *env, ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) From 4fbc89edc192931364d183dc4051f54dd1f58cf3 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Wed, 30 Jan 2019 20:36:33 +0000 Subject: [PATCH 28/37] target/ppc: rework vmul{e,o}{s,u}{b,h,w} instructions to use Vsr* macros The current implementations make use of the endian-specific macros HI_IDX and LO_IDX directly to calculate array offsets. Rework the implementation to use the Vsr* macros so that these per-endian references can be removed. Signed-off-by: Mark Cave-Ayland Reviewed-by: Richard Henderson Signed-off-by: David Gibson --- target/ppc/int_helper.c | 48 +++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c index fe418b3393..e531af5294 100644 --- a/target/ppc/int_helper.c +++ b/target/ppc/int_helper.c @@ -1104,33 +1104,39 @@ void helper_vmsumuhs(CPUPPCState *env, ppc_avr_t *r, ppc_avr_t *a, } } -#define VMUL_DO(name, mul_element, prod_element, cast, evenp) \ +#define VMUL_DO_EVN(name, mul_element, mul_access, prod_access, cast) \ void helper_v##name(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) \ { \ int i; \ \ - VECTOR_FOR_INORDER_I(i, prod_element) { \ - if (evenp) { \ - r->prod_element[i] = \ - (cast)a->mul_element[i * 2 + HI_IDX] * \ - (cast)b->mul_element[i * 2 + HI_IDX]; \ - } else { \ - r->prod_element[i] = \ - (cast)a->mul_element[i * 2 + LO_IDX] * \ - (cast)b->mul_element[i * 2 + LO_IDX]; \ - } \ + for (i = 0; i < ARRAY_SIZE(r->mul_element); i += 2) { \ + r->prod_access(i >> 1) = (cast)a->mul_access(i) * \ + (cast)b->mul_access(i); \ } \ } -#define VMUL(suffix, mul_element, prod_element, cast) \ - VMUL_DO(mule##suffix, mul_element, prod_element, cast, 1) \ - VMUL_DO(mulo##suffix, mul_element, prod_element, cast, 0) -VMUL(sb, s8, s16, int16_t) -VMUL(sh, s16, s32, int32_t) -VMUL(sw, s32, s64, int64_t) -VMUL(ub, u8, u16, uint16_t) -VMUL(uh, u16, u32, uint32_t) -VMUL(uw, u32, u64, uint64_t) -#undef VMUL_DO + +#define VMUL_DO_ODD(name, mul_element, mul_access, prod_access, cast) \ + void helper_v##name(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) \ + { \ + int i; \ + \ + for (i = 0; i < ARRAY_SIZE(r->mul_element); i += 2) { \ + r->prod_access(i >> 1) = (cast)a->mul_access(i + 1) * \ + (cast)b->mul_access(i + 1); \ + } \ + } + +#define VMUL(suffix, mul_element, mul_access, prod_access, cast) \ + VMUL_DO_EVN(mule##suffix, mul_element, mul_access, prod_access, cast) \ + VMUL_DO_ODD(mulo##suffix, mul_element, mul_access, prod_access, cast) +VMUL(sb, s8, VsrSB, VsrSH, int16_t) +VMUL(sh, s16, VsrSH, VsrSW, int32_t) +VMUL(sw, s32, VsrSW, VsrSD, int64_t) +VMUL(ub, u8, VsrB, VsrH, uint16_t) +VMUL(uh, u16, VsrH, VsrW, uint32_t) +VMUL(uw, u32, VsrW, VsrD, uint64_t) +#undef VMUL_DO_EVN +#undef VMUL_DO_ODD #undef VMUL void helper_vperm(CPUPPCState *env, ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, From 3c385a93b3fdc5972adbf03fd87a9cf091d0f098 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Wed, 30 Jan 2019 20:36:34 +0000 Subject: [PATCH 29/37] target/ppc: eliminate use of HI_IDX and LO_IDX macros from int_helper.c The original purpose of these macros was to correctly reference the high and low parts of the VSRs regardless of the host endianness. Replace these direct references to high and low parts with the relevant VsrD macro instead, and completely remove the now-unused HI_IDX and LO_IDX macros. Signed-off-by: Mark Cave-Ayland Reviewed-by: Richard Henderson Signed-off-by: David Gibson --- target/ppc/int_helper.c | 180 +++++++++++++++++++--------------------- 1 file changed, 85 insertions(+), 95 deletions(-) diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c index e531af5294..7a9c02d4bb 100644 --- a/target/ppc/int_helper.c +++ b/target/ppc/int_helper.c @@ -388,14 +388,6 @@ target_ulong helper_602_mfrom(target_ulong arg) /*****************************************************************************/ /* Altivec extension helpers */ -#if defined(HOST_WORDS_BIGENDIAN) -#define HI_IDX 0 -#define LO_IDX 1 -#else -#define HI_IDX 1 -#define LO_IDX 0 -#endif - #if defined(HOST_WORDS_BIGENDIAN) #define VECTOR_FOR_INORDER_I(index, element) \ for (index = 0; index < ARRAY_SIZE(r->element); index++) @@ -514,8 +506,8 @@ void helper_vprtybq(ppc_avr_t *r, ppc_avr_t *b) res ^= res >> 32; res ^= res >> 16; res ^= res >> 8; - r->u64[LO_IDX] = res & 1; - r->u64[HI_IDX] = 0; + r->VsrD(1) = res & 1; + r->VsrD(0) = 0; } #define VARITH_DO(name, op, element) \ @@ -1229,8 +1221,8 @@ void helper_vbpermq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) } } - r->u64[HI_IDX] = perm; - r->u64[LO_IDX] = 0; + r->VsrD(0) = perm; + r->VsrD(1) = 0; } #undef VBPERMQ_INDEX @@ -1559,25 +1551,25 @@ void helper_vpmsumd(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) ppc_avr_t prod[2]; VECTOR_FOR_INORDER_I(i, u64) { - prod[i].u64[LO_IDX] = prod[i].u64[HI_IDX] = 0; + prod[i].VsrD(1) = prod[i].VsrD(0) = 0; for (j = 0; j < 64; j++) { if (a->u64[i] & (1ull<u64[i]; + bshift.VsrD(0) = 0; + bshift.VsrD(1) = b->u64[i]; } else { - bshift.u64[HI_IDX] = b->u64[i] >> (64-j); - bshift.u64[LO_IDX] = b->u64[i] << j; + bshift.VsrD(0) = b->u64[i] >> (64 - j); + bshift.VsrD(1) = b->u64[i] << j; } - prod[i].u64[LO_IDX] ^= bshift.u64[LO_IDX]; - prod[i].u64[HI_IDX] ^= bshift.u64[HI_IDX]; + prod[i].VsrD(1) ^= bshift.VsrD(1); + prod[i].VsrD(0) ^= bshift.VsrD(0); } } } - r->u64[LO_IDX] = prod[0].u64[LO_IDX] ^ prod[1].u64[LO_IDX]; - r->u64[HI_IDX] = prod[0].u64[HI_IDX] ^ prod[1].u64[HI_IDX]; + r->VsrD(1) = prod[0].VsrD(1) ^ prod[1].VsrD(1); + r->VsrD(0) = prod[0].VsrD(0) ^ prod[1].VsrD(0); #endif } @@ -1795,7 +1787,7 @@ VEXTU_X_DO(vextuwrx, 32, 0) #define VSHIFT(suffix, leftp) \ void helper_vs##suffix(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) \ { \ - int shift = b->u8[LO_IDX*15] & 0x7; \ + int shift = b->VsrB(15) & 0x7; \ int doit = 1; \ int i; \ \ @@ -1806,15 +1798,15 @@ VEXTU_X_DO(vextuwrx, 32, 0) if (shift == 0) { \ *r = *a; \ } else if (leftp) { \ - uint64_t carry = a->u64[LO_IDX] >> (64 - shift); \ + uint64_t carry = a->VsrD(1) >> (64 - shift); \ \ - r->u64[HI_IDX] = (a->u64[HI_IDX] << shift) | carry; \ - r->u64[LO_IDX] = a->u64[LO_IDX] << shift; \ + r->VsrD(0) = (a->VsrD(0) << shift) | carry; \ + r->VsrD(1) = a->VsrD(1) << shift; \ } else { \ - uint64_t carry = a->u64[HI_IDX] << (64 - shift); \ + uint64_t carry = a->VsrD(0) << (64 - shift); \ \ - r->u64[LO_IDX] = (a->u64[LO_IDX] >> shift) | carry; \ - r->u64[HI_IDX] = a->u64[HI_IDX] >> shift; \ + r->VsrD(1) = (a->VsrD(1) >> shift) | carry; \ + r->VsrD(0) = a->VsrD(0) >> shift; \ } \ } \ } @@ -1900,7 +1892,7 @@ void helper_vsldoi(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t shift) void helper_vslo(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) { - int sh = (b->u8[LO_IDX*0xf] >> 3) & 0xf; + int sh = (b->VsrB(0xf) >> 3) & 0xf; #if defined(HOST_WORDS_BIGENDIAN) memmove(&r->u8[0], &a->u8[sh], 16 - sh); @@ -2096,7 +2088,7 @@ VSR(d, u64, 0x3F) void helper_vsro(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) { - int sh = (b->u8[LO_IDX * 0xf] >> 3) & 0xf; + int sh = (b->VsrB(0xf) >> 3) & 0xf; #if defined(HOST_WORDS_BIGENDIAN) memmove(&r->u8[sh], &a->u8[0], 16 - sh); @@ -2352,13 +2344,13 @@ static inline void avr_qw_not(ppc_avr_t *t, ppc_avr_t a) static int avr_qw_cmpu(ppc_avr_t a, ppc_avr_t b) { - if (a.u64[HI_IDX] < b.u64[HI_IDX]) { + if (a.VsrD(0) < b.VsrD(0)) { return -1; - } else if (a.u64[HI_IDX] > b.u64[HI_IDX]) { + } else if (a.VsrD(0) > b.VsrD(0)) { return 1; - } else if (a.u64[LO_IDX] < b.u64[LO_IDX]) { + } else if (a.VsrD(1) < b.VsrD(1)) { return -1; - } else if (a.u64[LO_IDX] > b.u64[LO_IDX]) { + } else if (a.VsrD(1) > b.VsrD(1)) { return 1; } else { return 0; @@ -2367,17 +2359,17 @@ static int avr_qw_cmpu(ppc_avr_t a, ppc_avr_t b) static void avr_qw_add(ppc_avr_t *t, ppc_avr_t a, ppc_avr_t b) { - t->u64[LO_IDX] = a.u64[LO_IDX] + b.u64[LO_IDX]; - t->u64[HI_IDX] = a.u64[HI_IDX] + b.u64[HI_IDX] + - (~a.u64[LO_IDX] < b.u64[LO_IDX]); + t->VsrD(1) = a.VsrD(1) + b.VsrD(1); + t->VsrD(0) = a.VsrD(0) + b.VsrD(0) + + (~a.VsrD(1) < b.VsrD(1)); } static int avr_qw_addc(ppc_avr_t *t, ppc_avr_t a, ppc_avr_t b) { ppc_avr_t not_a; - t->u64[LO_IDX] = a.u64[LO_IDX] + b.u64[LO_IDX]; - t->u64[HI_IDX] = a.u64[HI_IDX] + b.u64[HI_IDX] + - (~a.u64[LO_IDX] < b.u64[LO_IDX]); + t->VsrD(1) = a.VsrD(1) + b.VsrD(1); + t->VsrD(0) = a.VsrD(0) + b.VsrD(0) + + (~a.VsrD(1) < b.VsrD(1)); avr_qw_not(¬_a, a); return avr_qw_cmpu(not_a, b) < 0; } @@ -2399,11 +2391,11 @@ void helper_vaddeuqm(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) r->u128 = a->u128 + b->u128 + (c->u128 & 1); #else - if (c->u64[LO_IDX] & 1) { + if (c->VsrD(1) & 1) { ppc_avr_t tmp; - tmp.u64[HI_IDX] = 0; - tmp.u64[LO_IDX] = c->u64[LO_IDX] & 1; + tmp.VsrD(0) = 0; + tmp.VsrD(1) = c->VsrD(1) & 1; avr_qw_add(&tmp, *a, tmp); avr_qw_add(r, tmp, *b); } else { @@ -2421,8 +2413,8 @@ void helper_vaddcuq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) avr_qw_not(¬_a, *a); - r->u64[HI_IDX] = 0; - r->u64[LO_IDX] = (avr_qw_cmpu(not_a, *b) < 0); + r->VsrD(0) = 0; + r->VsrD(1) = (avr_qw_cmpu(not_a, *b) < 0); #endif } @@ -2437,7 +2429,7 @@ void helper_vaddecuq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) r->u128 = carry_out; #else - int carry_in = c->u64[LO_IDX] & 1; + int carry_in = c->VsrD(1) & 1; int carry_out = 0; ppc_avr_t tmp; @@ -2447,8 +2439,8 @@ void helper_vaddecuq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) ppc_avr_t one = QW_ONE; carry_out = avr_qw_addc(&tmp, tmp, one); } - r->u64[HI_IDX] = 0; - r->u64[LO_IDX] = carry_out; + r->VsrD(0) = 0; + r->VsrD(1) = carry_out; #endif } @@ -2476,8 +2468,8 @@ void helper_vsubeuqm(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) avr_qw_not(&tmp, *b); avr_qw_add(&sum, *a, tmp); - tmp.u64[HI_IDX] = 0; - tmp.u64[LO_IDX] = c->u64[LO_IDX] & 1; + tmp.VsrD(0) = 0; + tmp.VsrD(1) = c->VsrD(1) & 1; avr_qw_add(r, sum, tmp); #endif } @@ -2493,10 +2485,10 @@ void helper_vsubcuq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) ppc_avr_t tmp; avr_qw_not(&tmp, *b); avr_qw_add(&tmp, *a, tmp); - carry = ((tmp.s64[HI_IDX] == -1ull) && (tmp.s64[LO_IDX] == -1ull)); + carry = ((tmp.VsrSD(0) == -1ull) && (tmp.VsrSD(1) == -1ull)); } - r->u64[HI_IDX] = 0; - r->u64[LO_IDX] = carry; + r->VsrD(0) = 0; + r->VsrD(1) = carry; #endif } @@ -2507,17 +2499,17 @@ void helper_vsubecuq(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) (~a->u128 < ~b->u128) || ((c->u128 & 1) && (a->u128 + ~b->u128 == (__uint128_t)-1)); #else - int carry_in = c->u64[LO_IDX] & 1; + int carry_in = c->VsrD(1) & 1; int carry_out = (avr_qw_cmpu(*a, *b) > 0); if (!carry_out && carry_in) { ppc_avr_t tmp; avr_qw_not(&tmp, *b); avr_qw_add(&tmp, *a, tmp); - carry_out = ((tmp.u64[HI_IDX] == -1ull) && (tmp.u64[LO_IDX] == -1ull)); + carry_out = ((tmp.VsrD(0) == -1ull) && (tmp.VsrD(1) == -1ull)); } - r->u64[HI_IDX] = 0; - r->u64[LO_IDX] = carry_out; + r->VsrD(0) = 0; + r->VsrD(1) = carry_out; #endif } @@ -2615,7 +2607,7 @@ static bool bcd_is_valid(ppc_avr_t *bcd) static int bcd_cmp_zero(ppc_avr_t *bcd) { - if (bcd->u64[HI_IDX] == 0 && (bcd->u64[LO_IDX] >> 4) == 0) { + if (bcd->VsrD(0) == 0 && (bcd->VsrD(1) >> 4) == 0) { return CRF_EQ; } else { return (bcd_get_sgn(bcd) == 1) ? CRF_GT : CRF_LT; @@ -2735,7 +2727,7 @@ uint32_t helper_bcdadd(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t ps) } if (unlikely(invalid)) { - result.u64[HI_IDX] = result.u64[LO_IDX] = -1; + result.VsrD(0) = result.VsrD(1) = -1; cr = CRF_SO; } else if (overflow) { cr |= CRF_SO; @@ -2804,7 +2796,7 @@ uint32_t helper_bcdctn(ppc_avr_t *r, ppc_avr_t *b, uint32_t ps) int invalid = (sgnb == 0); ppc_avr_t ret = { .u64 = { 0, 0 } }; - int ox_flag = (b->u64[HI_IDX] != 0) || ((b->u64[LO_IDX] >> 32) != 0); + int ox_flag = (b->VsrD(0) != 0) || ((b->VsrD(1) >> 32) != 0); for (i = 1; i < 8; i++) { set_national_digit(&ret, 0x30 + bcd_get_digit(b, i, &invalid), i); @@ -2884,7 +2876,7 @@ uint32_t helper_bcdctz(ppc_avr_t *r, ppc_avr_t *b, uint32_t ps) int invalid = (sgnb == 0); ppc_avr_t ret = { .u64 = { 0, 0 } }; - int ox_flag = ((b->u64[HI_IDX] >> 4) != 0); + int ox_flag = ((b->VsrD(0) >> 4) != 0); for (i = 0; i < 16; i++) { digit = bcd_get_digit(b, i + 1, &invalid); @@ -2925,13 +2917,13 @@ uint32_t helper_bcdcfsq(ppc_avr_t *r, ppc_avr_t *b, uint32_t ps) uint64_t hi_value; ppc_avr_t ret = { .u64 = { 0, 0 } }; - if (b->s64[HI_IDX] < 0) { - lo_value = -b->s64[LO_IDX]; - hi_value = ~b->u64[HI_IDX] + !lo_value; + if (b->VsrSD(0) < 0) { + lo_value = -b->VsrSD(1); + hi_value = ~b->VsrD(0) + !lo_value; bcd_put_digit(&ret, 0xD, 0); } else { - lo_value = b->u64[LO_IDX]; - hi_value = b->u64[HI_IDX]; + lo_value = b->VsrD(1); + hi_value = b->VsrD(0); bcd_put_digit(&ret, bcd_preferred_sgn(0, ps), 0); } @@ -2979,11 +2971,11 @@ uint32_t helper_bcdctsq(ppc_avr_t *r, ppc_avr_t *b, uint32_t ps) } if (sgnb == -1) { - r->s64[LO_IDX] = -lo_value; - r->s64[HI_IDX] = ~hi_value + !r->s64[LO_IDX]; + r->VsrSD(1) = -lo_value; + r->VsrSD(0) = ~hi_value + !r->VsrSD(1); } else { - r->s64[LO_IDX] = lo_value; - r->s64[HI_IDX] = hi_value; + r->VsrSD(1) = lo_value; + r->VsrSD(0) = hi_value; } cr = bcd_cmp_zero(b); @@ -3043,7 +3035,7 @@ uint32_t helper_bcds(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t ps) bool ox_flag = false; int sgnb = bcd_get_sgn(b); ppc_avr_t ret = *b; - ret.u64[LO_IDX] &= ~0xf; + ret.VsrD(1) &= ~0xf; if (bcd_is_valid(b) == false) { return CRF_SO; @@ -3056,9 +3048,9 @@ uint32_t helper_bcds(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t ps) } if (i > 0) { - ulshift(&ret.u64[LO_IDX], &ret.u64[HI_IDX], i * 4, &ox_flag); + ulshift(&ret.VsrD(1), &ret.VsrD(0), i * 4, &ox_flag); } else { - urshift(&ret.u64[LO_IDX], &ret.u64[HI_IDX], -i * 4); + urshift(&ret.VsrD(1), &ret.VsrD(0), -i * 4); } bcd_put_digit(&ret, bcd_preferred_sgn(sgnb, ps), 0); @@ -3095,13 +3087,13 @@ uint32_t helper_bcdus(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t ps) #endif if (i >= 32) { ox_flag = true; - ret.u64[LO_IDX] = ret.u64[HI_IDX] = 0; + ret.VsrD(1) = ret.VsrD(0) = 0; } else if (i <= -32) { - ret.u64[LO_IDX] = ret.u64[HI_IDX] = 0; + ret.VsrD(1) = ret.VsrD(0) = 0; } else if (i > 0) { - ulshift(&ret.u64[LO_IDX], &ret.u64[HI_IDX], i * 4, &ox_flag); + ulshift(&ret.VsrD(1), &ret.VsrD(0), i * 4, &ox_flag); } else { - urshift(&ret.u64[LO_IDX], &ret.u64[HI_IDX], -i * 4); + urshift(&ret.VsrD(1), &ret.VsrD(0), -i * 4); } *r = ret; @@ -3121,7 +3113,7 @@ uint32_t helper_bcdsr(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t ps) bool ox_flag = false; int sgnb = bcd_get_sgn(b); ppc_avr_t ret = *b; - ret.u64[LO_IDX] &= ~0xf; + ret.VsrD(1) &= ~0xf; #if defined(HOST_WORDS_BIGENDIAN) int i = a->s8[7]; @@ -3142,9 +3134,9 @@ uint32_t helper_bcdsr(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t ps) } if (i > 0) { - ulshift(&ret.u64[LO_IDX], &ret.u64[HI_IDX], i * 4, &ox_flag); + ulshift(&ret.VsrD(1), &ret.VsrD(0), i * 4, &ox_flag); } else { - urshift(&ret.u64[LO_IDX], &ret.u64[HI_IDX], -i * 4); + urshift(&ret.VsrD(1), &ret.VsrD(0), -i * 4); if (bcd_get_digit(&ret, 0, &invalid) >= 5) { bcd_add_mag(&ret, &ret, &bcd_one, &invalid, &unused); @@ -3178,19 +3170,19 @@ uint32_t helper_bcdtrunc(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t ps) if (i > 16 && i < 32) { mask = (uint64_t)-1 >> (128 - i * 4); - if (ret.u64[HI_IDX] & ~mask) { + if (ret.VsrD(0) & ~mask) { ox_flag = CRF_SO; } - ret.u64[HI_IDX] &= mask; + ret.VsrD(0) &= mask; } else if (i >= 0 && i <= 16) { mask = (uint64_t)-1 >> (64 - i * 4); - if (ret.u64[HI_IDX] || (ret.u64[LO_IDX] & ~mask)) { + if (ret.VsrD(0) || (ret.VsrD(1) & ~mask)) { ox_flag = CRF_SO; } - ret.u64[LO_IDX] &= mask; - ret.u64[HI_IDX] = 0; + ret.VsrD(1) &= mask; + ret.VsrD(0) = 0; } bcd_put_digit(&ret, bcd_preferred_sgn(bcd_get_sgn(b), ps), 0); *r = ret; @@ -3221,28 +3213,28 @@ uint32_t helper_bcdutrunc(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t ps) #endif if (i > 16 && i < 33) { mask = (uint64_t)-1 >> (128 - i * 4); - if (ret.u64[HI_IDX] & ~mask) { + if (ret.VsrD(0) & ~mask) { ox_flag = CRF_SO; } - ret.u64[HI_IDX] &= mask; + ret.VsrD(0) &= mask; } else if (i > 0 && i <= 16) { mask = (uint64_t)-1 >> (64 - i * 4); - if (ret.u64[HI_IDX] || (ret.u64[LO_IDX] & ~mask)) { + if (ret.VsrD(0) || (ret.VsrD(1) & ~mask)) { ox_flag = CRF_SO; } - ret.u64[LO_IDX] &= mask; - ret.u64[HI_IDX] = 0; + ret.VsrD(1) &= mask; + ret.VsrD(0) = 0; } else if (i == 0) { - if (ret.u64[HI_IDX] || ret.u64[LO_IDX]) { + if (ret.VsrD(0) || ret.VsrD(1)) { ox_flag = CRF_SO; } - ret.u64[HI_IDX] = ret.u64[LO_IDX] = 0; + ret.VsrD(0) = ret.VsrD(1) = 0; } *r = ret; - if (r->u64[HI_IDX] == 0 && r->u64[LO_IDX] == 0) { + if (r->VsrD(0) == 0 && r->VsrD(1) == 0) { return ox_flag | CRF_EQ; } @@ -3414,8 +3406,6 @@ void helper_vpermxor(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) } #undef VECTOR_FOR_INORDER_I -#undef HI_IDX -#undef LO_IDX /*****************************************************************************/ /* SPE extension helpers */ From 730d2ca3f0a79cf598b1142c94c83876561594d8 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Wed, 30 Jan 2019 20:36:35 +0000 Subject: [PATCH 30/37] target/ppc: eliminate use of EL_IDX macros from int_helper.c These macros can be eliminated by instead using the relavant Vsr* macros in the few locations where they appear. Signed-off-by: Mark Cave-Ayland Reviewed-by: Richard Henderson Signed-off-by: David Gibson --- target/ppc/int_helper.c | 66 +++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 39 deletions(-) diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c index 7a9c02d4bb..355b6630a2 100644 --- a/target/ppc/int_helper.c +++ b/target/ppc/int_helper.c @@ -3306,12 +3306,7 @@ void helper_vncipherlast(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) *r = result; } -#define ROTRu32(v, n) (((v) >> (n)) | ((v) << (32-n))) -#if defined(HOST_WORDS_BIGENDIAN) -#define EL_IDX(i) (i) -#else -#define EL_IDX(i) (3 - (i)) -#endif +#define ROTRu32(v, n) (((v) >> (n)) | ((v) << (32 - n))) void helper_vshasigmaw(ppc_avr_t *r, ppc_avr_t *a, uint32_t st_six) { @@ -3319,40 +3314,34 @@ void helper_vshasigmaw(ppc_avr_t *r, ppc_avr_t *a, uint32_t st_six) int six = st_six & 0xF; int i; - VECTOR_FOR_INORDER_I(i, u32) { + for (i = 0; i < ARRAY_SIZE(r->u32); i++) { if (st == 0) { if ((six & (0x8 >> i)) == 0) { - r->u32[EL_IDX(i)] = ROTRu32(a->u32[EL_IDX(i)], 7) ^ - ROTRu32(a->u32[EL_IDX(i)], 18) ^ - (a->u32[EL_IDX(i)] >> 3); + r->VsrW(i) = ROTRu32(a->VsrW(i), 7) ^ + ROTRu32(a->VsrW(i), 18) ^ + (a->VsrW(i) >> 3); } else { /* six.bit[i] == 1 */ - r->u32[EL_IDX(i)] = ROTRu32(a->u32[EL_IDX(i)], 17) ^ - ROTRu32(a->u32[EL_IDX(i)], 19) ^ - (a->u32[EL_IDX(i)] >> 10); + r->VsrW(i) = ROTRu32(a->VsrW(i), 17) ^ + ROTRu32(a->VsrW(i), 19) ^ + (a->VsrW(i) >> 10); } } else { /* st == 1 */ if ((six & (0x8 >> i)) == 0) { - r->u32[EL_IDX(i)] = ROTRu32(a->u32[EL_IDX(i)], 2) ^ - ROTRu32(a->u32[EL_IDX(i)], 13) ^ - ROTRu32(a->u32[EL_IDX(i)], 22); + r->VsrW(i) = ROTRu32(a->VsrW(i), 2) ^ + ROTRu32(a->VsrW(i), 13) ^ + ROTRu32(a->VsrW(i), 22); } else { /* six.bit[i] == 1 */ - r->u32[EL_IDX(i)] = ROTRu32(a->u32[EL_IDX(i)], 6) ^ - ROTRu32(a->u32[EL_IDX(i)], 11) ^ - ROTRu32(a->u32[EL_IDX(i)], 25); + r->VsrW(i) = ROTRu32(a->VsrW(i), 6) ^ + ROTRu32(a->VsrW(i), 11) ^ + ROTRu32(a->VsrW(i), 25); } } } } #undef ROTRu32 -#undef EL_IDX #define ROTRu64(v, n) (((v) >> (n)) | ((v) << (64-n))) -#if defined(HOST_WORDS_BIGENDIAN) -#define EL_IDX(i) (i) -#else -#define EL_IDX(i) (1 - (i)) -#endif void helper_vshasigmad(ppc_avr_t *r, ppc_avr_t *a, uint32_t st_six) { @@ -3360,33 +3349,32 @@ void helper_vshasigmad(ppc_avr_t *r, ppc_avr_t *a, uint32_t st_six) int six = st_six & 0xF; int i; - VECTOR_FOR_INORDER_I(i, u64) { + for (i = 0; i < ARRAY_SIZE(r->u64); i++) { if (st == 0) { if ((six & (0x8 >> (2*i))) == 0) { - r->u64[EL_IDX(i)] = ROTRu64(a->u64[EL_IDX(i)], 1) ^ - ROTRu64(a->u64[EL_IDX(i)], 8) ^ - (a->u64[EL_IDX(i)] >> 7); + r->VsrD(i) = ROTRu64(a->VsrD(i), 1) ^ + ROTRu64(a->VsrD(i), 8) ^ + (a->VsrD(i) >> 7); } else { /* six.bit[2*i] == 1 */ - r->u64[EL_IDX(i)] = ROTRu64(a->u64[EL_IDX(i)], 19) ^ - ROTRu64(a->u64[EL_IDX(i)], 61) ^ - (a->u64[EL_IDX(i)] >> 6); + r->VsrD(i) = ROTRu64(a->VsrD(i), 19) ^ + ROTRu64(a->VsrD(i), 61) ^ + (a->VsrD(i) >> 6); } } else { /* st == 1 */ if ((six & (0x8 >> (2*i))) == 0) { - r->u64[EL_IDX(i)] = ROTRu64(a->u64[EL_IDX(i)], 28) ^ - ROTRu64(a->u64[EL_IDX(i)], 34) ^ - ROTRu64(a->u64[EL_IDX(i)], 39); + r->VsrD(i) = ROTRu64(a->VsrD(i), 28) ^ + ROTRu64(a->VsrD(i), 34) ^ + ROTRu64(a->VsrD(i), 39); } else { /* six.bit[2*i] == 1 */ - r->u64[EL_IDX(i)] = ROTRu64(a->u64[EL_IDX(i)], 14) ^ - ROTRu64(a->u64[EL_IDX(i)], 18) ^ - ROTRu64(a->u64[EL_IDX(i)], 41); + r->VsrD(i) = ROTRu64(a->VsrD(i), 14) ^ + ROTRu64(a->VsrD(i), 18) ^ + ROTRu64(a->VsrD(i), 41); } } } } #undef ROTRu64 -#undef EL_IDX void helper_vpermxor(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) { From 634c583526ffcd3db8753d4684c5e0a51e74cbbf Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Wed, 30 Jan 2019 20:36:36 +0000 Subject: [PATCH 31/37] target/ppc: simplify VEXT_SIGNED macro in int_helper.c As pointed out by Richard: it does not need the mask argument, nor does it need the recast argument. The masking is implied by the cast argument, and the recast is implied by the assignment. Signed-off-by: Mark Cave-Ayland Reviewed-by: Richard Henderson Signed-off-by: David Gibson --- target/ppc/int_helper.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c index 355b6630a2..ffc9cbc4ed 100644 --- a/target/ppc/int_helper.c +++ b/target/ppc/int_helper.c @@ -2024,19 +2024,19 @@ void helper_xxinsertw(CPUPPCState *env, target_ulong xtn, putVSR(xtn, &xt, env); } -#define VEXT_SIGNED(name, element, mask, cast, recast) \ +#define VEXT_SIGNED(name, element, cast) \ void helper_##name(ppc_avr_t *r, ppc_avr_t *b) \ { \ int i; \ VECTOR_FOR_INORDER_I(i, element) { \ - r->element[i] = (recast)((cast)(b->element[i] & mask)); \ + r->element[i] = (cast)b->element[i]; \ } \ } -VEXT_SIGNED(vextsb2w, s32, UINT8_MAX, int8_t, int32_t) -VEXT_SIGNED(vextsb2d, s64, UINT8_MAX, int8_t, int64_t) -VEXT_SIGNED(vextsh2w, s32, UINT16_MAX, int16_t, int32_t) -VEXT_SIGNED(vextsh2d, s64, UINT16_MAX, int16_t, int64_t) -VEXT_SIGNED(vextsw2d, s64, UINT32_MAX, int32_t, int64_t) +VEXT_SIGNED(vextsb2w, s32, int8_t) +VEXT_SIGNED(vextsb2d, s64, int8_t) +VEXT_SIGNED(vextsh2w, s32, int16_t) +VEXT_SIGNED(vextsh2d, s64, int16_t) +VEXT_SIGNED(vextsw2d, s64, int32_t) #undef VEXT_SIGNED #define VNEG(name, element) \ From 0ef83bf29e95bf4ec7ad22ea66153c331e14a099 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Wed, 30 Jan 2019 20:36:37 +0000 Subject: [PATCH 32/37] target/ppc: remove ROTRu32 and ROTRu64 macros from int_helper.c Richard points out that these macros suffer from a -fsanitize=shift bug in that they improperly handle n == 0 turning it into a shift by 32/64 respectively. Replace them with QEMU's existing ror32() and ror64() functions instead. Signed-off-by: Mark Cave-Ayland Reviewed-by: Richard Henderson Signed-off-by: David Gibson --- target/ppc/int_helper.c | 48 +++++++++++++++++------------------------ 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c index ffc9cbc4ed..916d10c25b 100644 --- a/target/ppc/int_helper.c +++ b/target/ppc/int_helper.c @@ -3306,8 +3306,6 @@ void helper_vncipherlast(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) *r = result; } -#define ROTRu32(v, n) (((v) >> (n)) | ((v) << (32 - n))) - void helper_vshasigmaw(ppc_avr_t *r, ppc_avr_t *a, uint32_t st_six) { int st = (st_six & 0x10) != 0; @@ -3317,32 +3315,28 @@ void helper_vshasigmaw(ppc_avr_t *r, ppc_avr_t *a, uint32_t st_six) for (i = 0; i < ARRAY_SIZE(r->u32); i++) { if (st == 0) { if ((six & (0x8 >> i)) == 0) { - r->VsrW(i) = ROTRu32(a->VsrW(i), 7) ^ - ROTRu32(a->VsrW(i), 18) ^ + r->VsrW(i) = ror32(a->VsrW(i), 7) ^ + ror32(a->VsrW(i), 18) ^ (a->VsrW(i) >> 3); } else { /* six.bit[i] == 1 */ - r->VsrW(i) = ROTRu32(a->VsrW(i), 17) ^ - ROTRu32(a->VsrW(i), 19) ^ + r->VsrW(i) = ror32(a->VsrW(i), 17) ^ + ror32(a->VsrW(i), 19) ^ (a->VsrW(i) >> 10); } } else { /* st == 1 */ if ((six & (0x8 >> i)) == 0) { - r->VsrW(i) = ROTRu32(a->VsrW(i), 2) ^ - ROTRu32(a->VsrW(i), 13) ^ - ROTRu32(a->VsrW(i), 22); + r->VsrW(i) = ror32(a->VsrW(i), 2) ^ + ror32(a->VsrW(i), 13) ^ + ror32(a->VsrW(i), 22); } else { /* six.bit[i] == 1 */ - r->VsrW(i) = ROTRu32(a->VsrW(i), 6) ^ - ROTRu32(a->VsrW(i), 11) ^ - ROTRu32(a->VsrW(i), 25); + r->VsrW(i) = ror32(a->VsrW(i), 6) ^ + ror32(a->VsrW(i), 11) ^ + ror32(a->VsrW(i), 25); } } } } -#undef ROTRu32 - -#define ROTRu64(v, n) (((v) >> (n)) | ((v) << (64-n))) - void helper_vshasigmad(ppc_avr_t *r, ppc_avr_t *a, uint32_t st_six) { int st = (st_six & 0x10) != 0; @@ -3352,30 +3346,28 @@ void helper_vshasigmad(ppc_avr_t *r, ppc_avr_t *a, uint32_t st_six) for (i = 0; i < ARRAY_SIZE(r->u64); i++) { if (st == 0) { if ((six & (0x8 >> (2*i))) == 0) { - r->VsrD(i) = ROTRu64(a->VsrD(i), 1) ^ - ROTRu64(a->VsrD(i), 8) ^ + r->VsrD(i) = ror64(a->VsrD(i), 1) ^ + ror64(a->VsrD(i), 8) ^ (a->VsrD(i) >> 7); } else { /* six.bit[2*i] == 1 */ - r->VsrD(i) = ROTRu64(a->VsrD(i), 19) ^ - ROTRu64(a->VsrD(i), 61) ^ + r->VsrD(i) = ror64(a->VsrD(i), 19) ^ + ror64(a->VsrD(i), 61) ^ (a->VsrD(i) >> 6); } } else { /* st == 1 */ if ((six & (0x8 >> (2*i))) == 0) { - r->VsrD(i) = ROTRu64(a->VsrD(i), 28) ^ - ROTRu64(a->VsrD(i), 34) ^ - ROTRu64(a->VsrD(i), 39); + r->VsrD(i) = ror64(a->VsrD(i), 28) ^ + ror64(a->VsrD(i), 34) ^ + ror64(a->VsrD(i), 39); } else { /* six.bit[2*i] == 1 */ - r->VsrD(i) = ROTRu64(a->VsrD(i), 14) ^ - ROTRu64(a->VsrD(i), 18) ^ - ROTRu64(a->VsrD(i), 41); + r->VsrD(i) = ror64(a->VsrD(i), 14) ^ + ror64(a->VsrD(i), 18) ^ + ror64(a->VsrD(i), 41); } } } } -#undef ROTRu64 - void helper_vpermxor(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) { ppc_avr_t result; From 60594fea298d1e014700cc63a92ee43258c8c504 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Wed, 30 Jan 2019 20:36:38 +0000 Subject: [PATCH 33/37] target/ppc: remove various HOST_WORDS_BIGENDIAN hacks in int_helper.c Following on from the previous work, there are numerous endian-related hacks in int_helper.c that can now be replaced with Vsr* macros. There are also a few places where the VECTOR_FOR_INORDER_I macro can be replaced with a normal iterator since the processing order is irrelevant. Signed-off-by: Mark Cave-Ayland Reviewed-by: Richard Henderson Signed-off-by: David Gibson --- target/ppc/int_helper.c | 155 ++++++++++++---------------------------- 1 file changed, 45 insertions(+), 110 deletions(-) diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c index 916d10c25b..8efc283388 100644 --- a/target/ppc/int_helper.c +++ b/target/ppc/int_helper.c @@ -443,8 +443,8 @@ void helper_lvsl(ppc_avr_t *r, target_ulong sh) { int i, j = (sh & 0xf); - VECTOR_FOR_INORDER_I(i, u8) { - r->u8[i] = j++; + for (i = 0; i < ARRAY_SIZE(r->u8); i++) { + r->VsrB(i) = j++; } } @@ -452,18 +452,14 @@ void helper_lvsr(ppc_avr_t *r, target_ulong sh) { int i, j = 0x10 - (sh & 0xf); - VECTOR_FOR_INORDER_I(i, u8) { - r->u8[i] = j++; + for (i = 0; i < ARRAY_SIZE(r->u8); i++) { + r->VsrB(i) = j++; } } void helper_mtvscr(CPUPPCState *env, ppc_avr_t *r) { -#if defined(HOST_WORDS_BIGENDIAN) - env->vscr = r->u32[3]; -#else - env->vscr = r->u32[0]; -#endif + env->vscr = r->VsrW(3); set_flush_to_zero(vscr_nj, &env->vec_status); } @@ -870,8 +866,8 @@ target_ulong helper_vclzlsbb(ppc_avr_t *r) { target_ulong count = 0; int i; - VECTOR_FOR_INORDER_I(i, u8) { - if (r->u8[i] & 0x01) { + for (i = 0; i < ARRAY_SIZE(r->u8); i++) { + if (r->VsrB(i) & 0x01) { break; } count++; @@ -883,12 +879,8 @@ target_ulong helper_vctzlsbb(ppc_avr_t *r) { target_ulong count = 0; int i; -#if defined(HOST_WORDS_BIGENDIAN) for (i = ARRAY_SIZE(r->u8) - 1; i >= 0; i--) { -#else - for (i = 0; i < ARRAY_SIZE(r->u8); i++) { -#endif - if (r->u8[i] & 0x01) { + if (r->VsrB(i) & 0x01) { break; } count++; @@ -1137,18 +1129,14 @@ void helper_vperm(CPUPPCState *env, ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t result; int i; - VECTOR_FOR_INORDER_I(i, u8) { - int s = c->u8[i] & 0x1f; -#if defined(HOST_WORDS_BIGENDIAN) + for (i = 0; i < ARRAY_SIZE(r->u8); i++) { + int s = c->VsrB(i) & 0x1f; int index = s & 0xf; -#else - int index = 15 - (s & 0xf); -#endif if (s & 0x10) { - result.u8[i] = b->u8[index]; + result.VsrB(i) = b->VsrB(index); } else { - result.u8[i] = a->u8[index]; + result.VsrB(i) = a->VsrB(index); } } *r = result; @@ -1160,18 +1148,14 @@ void helper_vpermr(CPUPPCState *env, ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t result; int i; - VECTOR_FOR_INORDER_I(i, u8) { - int s = c->u8[i] & 0x1f; -#if defined(HOST_WORDS_BIGENDIAN) + for (i = 0; i < ARRAY_SIZE(r->u8); i++) { + int s = c->VsrB(i) & 0x1f; int index = 15 - (s & 0xf); -#else - int index = s & 0xf; -#endif if (s & 0x10) { - result.u8[i] = a->u8[index]; + result.VsrB(i) = a->VsrB(index); } else { - result.u8[i] = b->u8[index]; + result.VsrB(i) = b->VsrB(index); } } *r = result; @@ -1868,25 +1852,14 @@ void helper_vsldoi(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, uint32_t shift) int i; ppc_avr_t result; -#if defined(HOST_WORDS_BIGENDIAN) for (i = 0; i < ARRAY_SIZE(r->u8); i++) { int index = sh + i; if (index > 0xf) { - result.u8[i] = b->u8[index - 0x10]; + result.VsrB(i) = b->VsrB(index - 0x10); } else { - result.u8[i] = a->u8[index]; + result.VsrB(i) = a->VsrB(index); } } -#else - for (i = 0; i < ARRAY_SIZE(r->u8); i++) { - int index = (16 - sh) + i; - if (index > 0xf) { - result.u8[i] = a->u8[index - 0x10]; - } else { - result.u8[i] = b->u8[index]; - } - } -#endif *r = result; } @@ -1905,25 +1878,20 @@ void helper_vslo(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) /* Experimental testing shows that hardware masks the immediate. */ #define _SPLAT_MASKED(element) (splat & (ARRAY_SIZE(r->element) - 1)) -#if defined(HOST_WORDS_BIGENDIAN) #define SPLAT_ELEMENT(element) _SPLAT_MASKED(element) -#else -#define SPLAT_ELEMENT(element) \ - (ARRAY_SIZE(r->element) - 1 - _SPLAT_MASKED(element)) -#endif -#define VSPLT(suffix, element) \ +#define VSPLT(suffix, element, access) \ void helper_vsplt##suffix(ppc_avr_t *r, ppc_avr_t *b, uint32_t splat) \ { \ - uint32_t s = b->element[SPLAT_ELEMENT(element)]; \ + uint32_t s = b->access(SPLAT_ELEMENT(element)); \ int i; \ \ for (i = 0; i < ARRAY_SIZE(r->element); i++) { \ - r->element[i] = s; \ + r->access(i) = s; \ } \ } -VSPLT(b, u8) -VSPLT(h, u16) -VSPLT(w, u32) +VSPLT(b, u8, VsrB) +VSPLT(h, u16, VsrH) +VSPLT(w, u32, VsrW) #undef VSPLT #undef SPLAT_ELEMENT #undef _SPLAT_MASKED @@ -1984,17 +1952,10 @@ void helper_xxextractuw(CPUPPCState *env, target_ulong xtn, getVSR(xbn, &xb, env); memset(&xt, 0, sizeof(xt)); -#if defined(HOST_WORDS_BIGENDIAN) ext_index = index; for (i = 0; i < es; i++, ext_index++) { - xt.u8[8 - es + i] = xb.u8[ext_index % 16]; + xt.VsrB(8 - es + i) = xb.VsrB(ext_index % 16); } -#else - ext_index = 15 - index; - for (i = es - 1; i >= 0; i--, ext_index--) { - xt.u8[8 + i] = xb.u8[ext_index % 16]; - } -#endif putVSR(xtn, &xt, env); } @@ -2009,17 +1970,10 @@ void helper_xxinsertw(CPUPPCState *env, target_ulong xtn, getVSR(xbn, &xb, env); getVSR(xtn, &xt, env); -#if defined(HOST_WORDS_BIGENDIAN) ins_index = index; for (i = 0; i < es && ins_index < 16; i++, ins_index++) { - xt.u8[ins_index] = xb.u8[8 - es + i]; + xt.VsrB(ins_index) = xb.VsrB(8 - es + i); } -#else - ins_index = 15 - index; - for (i = es - 1; i >= 0 && ins_index >= 0; i--, ins_index--) { - xt.u8[ins_index] = xb.u8[8 + i]; - } -#endif putVSR(xtn, &xt, env); } @@ -2028,7 +1982,7 @@ void helper_xxinsertw(CPUPPCState *env, target_ulong xtn, void helper_##name(ppc_avr_t *r, ppc_avr_t *b) \ { \ int i; \ - VECTOR_FOR_INORDER_I(i, element) { \ + for (i = 0; i < ARRAY_SIZE(r->element); i++) { \ r->element[i] = (cast)b->element[i]; \ } \ } @@ -2043,7 +1997,7 @@ VEXT_SIGNED(vextsw2d, s64, int32_t) void helper_##name(ppc_avr_t *r, ppc_avr_t *b) \ { \ int i; \ - VECTOR_FOR_INORDER_I(i, element) { \ + for (i = 0; i < ARRAY_SIZE(r->element); i++) { \ r->element[i] = -b->element[i]; \ } \ } @@ -2115,17 +2069,13 @@ void helper_vsumsws(CPUPPCState *env, ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) ppc_avr_t result; int sat = 0; -#if defined(HOST_WORDS_BIGENDIAN) - upper = ARRAY_SIZE(r->s32)-1; -#else - upper = 0; -#endif - t = (int64_t)b->s32[upper]; + upper = ARRAY_SIZE(r->s32) - 1; + t = (int64_t)b->VsrSW(upper); for (i = 0; i < ARRAY_SIZE(r->s32); i++) { - t += a->s32[i]; - result.s32[i] = 0; + t += a->VsrSW(i); + result.VsrSW(i) = 0; } - result.s32[upper] = cvtsdsw(t, &sat); + result.VsrSW(upper) = cvtsdsw(t, &sat); *r = result; if (sat) { @@ -2139,19 +2089,15 @@ void helper_vsum2sws(CPUPPCState *env, ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b) ppc_avr_t result; int sat = 0; -#if defined(HOST_WORDS_BIGENDIAN) upper = 1; -#else - upper = 0; -#endif for (i = 0; i < ARRAY_SIZE(r->u64); i++) { - int64_t t = (int64_t)b->s32[upper + i * 2]; + int64_t t = (int64_t)b->VsrSW(upper + i * 2); - result.u64[i] = 0; + result.VsrW(i) = 0; for (j = 0; j < ARRAY_SIZE(r->u64); j++) { - t += a->s32[2 * i + j]; + t += a->VsrSW(2 * i + j); } - result.s32[upper + i * 2] = cvtsdsw(t, &sat); + result.VsrSW(upper + i * 2) = cvtsdsw(t, &sat); } *r = result; @@ -2276,7 +2222,7 @@ VUPK(lsw, s64, s32, UPKLO) { \ int i; \ \ - VECTOR_FOR_INORDER_I(i, element) { \ + for (i = 0; i < ARRAY_SIZE(r->element); i++) { \ r->element[i] = name(b->element[i]); \ } \ } @@ -2616,20 +2562,12 @@ static int bcd_cmp_zero(ppc_avr_t *bcd) static uint16_t get_national_digit(ppc_avr_t *reg, int n) { -#if defined(HOST_WORDS_BIGENDIAN) - return reg->u16[7 - n]; -#else - return reg->u16[n]; -#endif + return reg->VsrH(7 - n); } static void set_national_digit(ppc_avr_t *reg, uint8_t val, int n) { -#if defined(HOST_WORDS_BIGENDIAN) - reg->u16[7 - n] = val; -#else - reg->u16[n] = val; -#endif + reg->VsrH(7 - n) = val; } static int bcd_cmp_mag(ppc_avr_t *a, ppc_avr_t *b) @@ -3373,14 +3311,11 @@ void helper_vpermxor(ppc_avr_t *r, ppc_avr_t *a, ppc_avr_t *b, ppc_avr_t *c) ppc_avr_t result; int i; - VECTOR_FOR_INORDER_I(i, u8) { - int indexA = c->u8[i] >> 4; - int indexB = c->u8[i] & 0xF; -#if defined(HOST_WORDS_BIGENDIAN) - result.u8[i] = a->u8[indexA] ^ b->u8[indexB]; -#else - result.u8[i] = a->u8[15-indexA] ^ b->u8[15-indexB]; -#endif + for (i = 0; i < ARRAY_SIZE(r->u8); i++) { + int indexA = c->VsrB(i) >> 4; + int indexB = c->VsrB(i) & 0xF; + + result.VsrB(i) = a->VsrB(indexA) ^ b->VsrB(indexB); } *r = result; } From 382b6f22258f3e68c6a4226790eae96e5527e791 Mon Sep 17 00:00:00 2001 From: Alexey Kardashevskiy Date: Fri, 1 Feb 2019 11:56:22 +1100 Subject: [PATCH 34/37] spapr_pci: Fix endianness in assigned-addresses property reg->phys_hi and assigned->phys_hi are big endian but we do an extra byteswap anyway when copying reg->phys_hi to assigned->phys_hi. To make things slightly more messy, we also add a relocatable bit (b_n()) although in the right endianness. This fixes endianness of assigned->phys_hi. This is unlikely to produce any visible difference though as we should end up there only in the case of PCI hotplug and even then I am not sure if (d->io_regions[i].addr == PCI_BAR_UNMAPPED) == true. Signed-off-by: Alexey Kardashevskiy Signed-off-by: David Gibson --- hw/ppc/spapr_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 5cdc98513d..c99721cde8 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -964,7 +964,7 @@ static void populate_resource_props(PCIDevice *d, ResourceProps *rp) } assigned = &rp->assigned[assigned_idx++]; - assigned->phys_hi = cpu_to_be32(reg->phys_hi | b_n(1)); + assigned->phys_hi = cpu_to_be32(be32_to_cpu(reg->phys_hi) | b_n(1)); assigned->phys_mid = cpu_to_be32(d->io_regions[i].addr >> 32); assigned->phys_lo = cpu_to_be32(d->io_regions[i].addr); assigned->size_hi = reg->size_hi; From eac57b405afabcdf6aea82ef5f4cf44cd45c04cb Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 30 Jan 2019 17:39:42 +0100 Subject: [PATCH 35/37] hw/ppc: Don't include m48t59.h if it is not necessary MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These files don't use anything from m48t59.h, so no need to include this header here. Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: David Gibson --- hw/ppc/mac_newworld.c | 1 - hw/ppc/mac_oldworld.c | 1 - hw/ppc/ppc.c | 2 -- hw/ppc/ppc_booke.c | 1 - 4 files changed, 5 deletions(-) diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index bb19eaba36..f1c8400efd 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -53,7 +53,6 @@ #include "hw/ppc/mac.h" #include "hw/input/adb.h" #include "hw/ppc/mac_dbdma.h" -#include "hw/timer/m48t59.h" #include "hw/pci/pci.h" #include "net/net.h" #include "sysemu/sysemu.h" diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index 817f70e52c..98d531d114 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -30,7 +30,6 @@ #include "hw/ppc/ppc.h" #include "mac.h" #include "hw/input/adb.h" -#include "hw/timer/m48t59.h" #include "sysemu/sysemu.h" #include "net/net.h" #include "hw/isa/isa.h" diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c index 98b409f83d..cffdc3914a 100644 --- a/hw/ppc/ppc.c +++ b/hw/ppc/ppc.c @@ -30,10 +30,8 @@ #include "qemu/timer.h" #include "sysemu/sysemu.h" #include "sysemu/cpus.h" -#include "hw/timer/m48t59.h" #include "qemu/log.h" #include "qemu/error-report.h" -#include "hw/loader.h" #include "sysemu/kvm.h" #include "kvm_ppc.h" #include "trace.h" diff --git a/hw/ppc/ppc_booke.c b/hw/ppc/ppc_booke.c index 23bcf1b138..4f11e00a17 100644 --- a/hw/ppc/ppc_booke.c +++ b/hw/ppc/ppc_booke.c @@ -28,7 +28,6 @@ #include "hw/ppc/ppc.h" #include "qemu/timer.h" #include "sysemu/sysemu.h" -#include "hw/timer/m48t59.h" #include "qemu/log.h" #include "hw/loader.h" #include "kvm_ppc.h" From 2044c3e7116eeac0449dcb4a4130cc8f8b9310da Mon Sep 17 00:00:00 2001 From: Murilo Opsfelder Araujo Date: Wed, 30 Jan 2019 21:36:04 -0200 Subject: [PATCH 36/37] mmap-alloc: unfold qemu_ram_mmap() Unfold parts of qemu_ram_mmap() for the sake of understanding, moving declarations to the top, and keeping architecture-specifics in the ifdef-else blocks. No changes in the function behaviour. Give ptr and ptr1 meaningful names: ptr -> guardptr : pointer to the PROT_NONE guard region ptr1 -> ptr : pointer to the mapped memory returned to caller Signed-off-by: Murilo Opsfelder Araujo Reviewed-by: Greg Kurz Signed-off-by: David Gibson --- util/mmap-alloc.c | 53 ++++++++++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c index fd329eccd8..f71ea038c8 100644 --- a/util/mmap-alloc.c +++ b/util/mmap-alloc.c @@ -77,11 +77,19 @@ size_t qemu_mempath_getpagesize(const char *mem_path) void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared) { + int flags; + int guardfd; + size_t offset; + size_t total; + void *guardptr; + void *ptr; + /* * Note: this always allocates at least one extra page of virtual address * space, even if size is already aligned. */ - size_t total = size + align; + total = size + align; + #if defined(__powerpc64__) && defined(__linux__) /* On ppc64 mappings in the same segment (aka slice) must share the same * page size. Since we will be re-allocating part of this segment @@ -91,16 +99,22 @@ void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared) * We do this unless we are using the system page size, in which case * anonymous memory is OK. */ - int anonfd = fd == -1 || qemu_fd_getpagesize(fd) == getpagesize() ? -1 : fd; - int flags = anonfd == -1 ? MAP_ANONYMOUS : MAP_NORESERVE; - void *ptr = mmap(0, total, PROT_NONE, flags | MAP_PRIVATE, anonfd, 0); + flags = MAP_PRIVATE; + if (fd == -1 || qemu_fd_getpagesize(fd) == getpagesize()) { + guardfd = -1; + flags |= MAP_ANONYMOUS; + } else { + guardfd = fd; + flags |= MAP_NORESERVE; + } #else - void *ptr = mmap(0, total, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + guardfd = -1; + flags = MAP_PRIVATE | MAP_ANONYMOUS; #endif - size_t offset; - void *ptr1; - if (ptr == MAP_FAILED) { + guardptr = mmap(0, total, PROT_NONE, flags, guardfd, 0); + + if (guardptr == MAP_FAILED) { return MAP_FAILED; } @@ -108,19 +122,20 @@ void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared) /* Always align to host page size */ assert(align >= getpagesize()); - offset = QEMU_ALIGN_UP((uintptr_t)ptr, align) - (uintptr_t)ptr; - ptr1 = mmap(ptr + offset, size, PROT_READ | PROT_WRITE, - MAP_FIXED | - (fd == -1 ? MAP_ANONYMOUS : 0) | - (shared ? MAP_SHARED : MAP_PRIVATE), - fd, 0); - if (ptr1 == MAP_FAILED) { - munmap(ptr, total); + flags = MAP_FIXED; + flags |= fd == -1 ? MAP_ANONYMOUS : 0; + flags |= shared ? MAP_SHARED : MAP_PRIVATE; + offset = QEMU_ALIGN_UP((uintptr_t)guardptr, align) - (uintptr_t)guardptr; + + ptr = mmap(guardptr + offset, size, PROT_READ | PROT_WRITE, flags, fd, 0); + + if (ptr == MAP_FAILED) { + munmap(guardptr, total); return MAP_FAILED; } if (offset > 0) { - munmap(ptr, offset); + munmap(guardptr, offset); } /* @@ -129,10 +144,10 @@ void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared) */ total -= offset; if (total > size + getpagesize()) { - munmap(ptr1 + size + getpagesize(), total - size - getpagesize()); + munmap(ptr + size + getpagesize(), total - size - getpagesize()); } - return ptr1; + return ptr; } void qemu_ram_munmap(void *ptr, size_t size) From 53adb9d43e1abba187387a51f238e878e934c647 Mon Sep 17 00:00:00 2001 From: Murilo Opsfelder Araujo Date: Wed, 30 Jan 2019 21:36:05 -0200 Subject: [PATCH 37/37] mmap-alloc: fix hugetlbfs misaligned length in ppc64 The commit 7197fb4058bcb68986bae2bb2c04d6370f3e7218 ("util/mmap-alloc: fix hugetlb support on ppc64") fixed Huge TLB mappings on ppc64. However, we still need to consider the underlying huge page size during munmap() because it requires that both address and length be a multiple of the underlying huge page size for Huge TLB mappings. Quote from "Huge page (Huge TLB) mappings" paragraph under NOTES section of the munmap(2) manual: "For munmap(), addr and length must both be a multiple of the underlying huge page size." On ppc64, the munmap() in qemu_ram_munmap() does not work for Huge TLB mappings because the mapped segment can be aligned with the underlying huge page size, not aligned with the native system page size, as returned by getpagesize(). This has the side effect of not releasing huge pages back to the pool after a hugetlbfs file-backed memory device is hot-unplugged. This patch fixes the situation in qemu_ram_mmap() and qemu_ram_munmap() by considering the underlying page size on ppc64. After this patch, memory hot-unplug releases huge pages back to the pool. Fixes: 7197fb4058bcb68986bae2bb2c04d6370f3e7218 Signed-off-by: Murilo Opsfelder Araujo Reviewed-by: Greg Kurz Signed-off-by: David Gibson --- exec.c | 4 ++-- include/qemu/mmap-alloc.h | 2 +- util/mmap-alloc.c | 22 ++++++++++++++++------ util/oslib-posix.c | 2 +- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/exec.c b/exec.c index 25f3938a27..03dd673d36 100644 --- a/exec.c +++ b/exec.c @@ -1873,7 +1873,7 @@ static void *file_ram_alloc(RAMBlock *block, if (mem_prealloc) { os_mem_prealloc(fd, area, memory, smp_cpus, errp); if (errp && *errp) { - qemu_ram_munmap(area, memory); + qemu_ram_munmap(fd, area, memory); return NULL; } } @@ -2394,7 +2394,7 @@ static void reclaim_ramblock(RAMBlock *block) xen_invalidate_map_cache_entry(block->host); #ifndef _WIN32 } else if (block->fd >= 0) { - qemu_ram_munmap(block->host, block->max_length); + qemu_ram_munmap(block->fd, block->host, block->max_length); close(block->fd); #endif } else { diff --git a/include/qemu/mmap-alloc.h b/include/qemu/mmap-alloc.h index 50385e3f81..ef04f0ed5b 100644 --- a/include/qemu/mmap-alloc.h +++ b/include/qemu/mmap-alloc.h @@ -9,6 +9,6 @@ size_t qemu_mempath_getpagesize(const char *mem_path); void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared); -void qemu_ram_munmap(void *ptr, size_t size); +void qemu_ram_munmap(int fd, void *ptr, size_t size); #endif diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c index f71ea038c8..8565885420 100644 --- a/util/mmap-alloc.c +++ b/util/mmap-alloc.c @@ -80,6 +80,7 @@ void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared) int flags; int guardfd; size_t offset; + size_t pagesize; size_t total; void *guardptr; void *ptr; @@ -100,7 +101,8 @@ void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared) * anonymous memory is OK. */ flags = MAP_PRIVATE; - if (fd == -1 || qemu_fd_getpagesize(fd) == getpagesize()) { + pagesize = qemu_fd_getpagesize(fd); + if (fd == -1 || pagesize == getpagesize()) { guardfd = -1; flags |= MAP_ANONYMOUS; } else { @@ -109,6 +111,7 @@ void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared) } #else guardfd = -1; + pagesize = getpagesize(); flags = MAP_PRIVATE | MAP_ANONYMOUS; #endif @@ -120,7 +123,7 @@ void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared) assert(is_power_of_2(align)); /* Always align to host page size */ - assert(align >= getpagesize()); + assert(align >= pagesize); flags = MAP_FIXED; flags |= fd == -1 ? MAP_ANONYMOUS : 0; @@ -143,17 +146,24 @@ void *qemu_ram_mmap(int fd, size_t size, size_t align, bool shared) * a guard page guarding against potential buffer overflows. */ total -= offset; - if (total > size + getpagesize()) { - munmap(ptr + size + getpagesize(), total - size - getpagesize()); + if (total > size + pagesize) { + munmap(ptr + size + pagesize, total - size - pagesize); } return ptr; } -void qemu_ram_munmap(void *ptr, size_t size) +void qemu_ram_munmap(int fd, void *ptr, size_t size) { + size_t pagesize; + if (ptr) { /* Unmap both the RAM block and the guard page */ - munmap(ptr, size + getpagesize()); +#if defined(__powerpc64__) && defined(__linux__) + pagesize = qemu_fd_getpagesize(fd); +#else + pagesize = getpagesize(); +#endif + munmap(ptr, size + pagesize); } } diff --git a/util/oslib-posix.c b/util/oslib-posix.c index 4ce1ba9ca4..37c5854b9c 100644 --- a/util/oslib-posix.c +++ b/util/oslib-posix.c @@ -226,7 +226,7 @@ void qemu_vfree(void *ptr) void qemu_anon_ram_free(void *ptr, size_t size) { trace_qemu_anon_ram_free(ptr, size); - qemu_ram_munmap(ptr, size); + qemu_ram_munmap(-1, ptr, size); } void qemu_set_block(int fd)