mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
Misc HW patch queue
- Script to compare machines compat_props[] (Maksim) - Introduce 'module' CPU topology level (Zhao) - Various cleanups (Thomas, Zhao, Inès, Bernhard) -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmYqN3wACgkQ4+MsLN6t wN4hTw/9FHsItnEkme/864DRPSP7A9mCGa+JfzJmsL8oUb9fBjXXKm+lNchMLu3B uvzfXB2Ea24yf5vyrldo0XlU3i/4GDvqXTI6YFYqBvitGICauYBu+6n2NZh2Y/Pn zZCcVo167o0q7dHu2WSrZ6cSUchsF2C80HjuS07QaN2YZ7QMuN1+uqTjCQ/JHQWA MH4xHh7cXdfCbbv8iNhMWn6sa+Bw/UyfRcc2W6w9cF5Q5cuuTshgDyd0JBOzkM1i Mcul7TuKrSiLUeeeqfTjwtw3rtbNfkelV3ycgvgECFAlzPSjF5a6d/EGdO2zo3T/ aFZnQBYrb4U0SzsmfXFHW7cSylIc1Jn2CCuZZBIvdVcu8TGDD5XsgZbGoCfKdWxp l67qbQJy1Mp3LrRzygJIaxDOfE8fhhRrcIxfK/GoTHaCkqeFRkGjTeiDTVBqAES2 zs6kUYZyG/xGaa2tsMu+HbtSO5EEqPC2QCdHayY3deW42Kwjj/HFV50Ya8YgYSVp gEAjTDOle2dDjlkYud+ymTJz7LnGb3G7q0EZRI9DWolx/bu+uZGQqTSRRre4qFQY SgN576hsFGN4NdM7tyJWiiqD/OC9ZeqUx3gGBtmI52Q6obBCE9hcow0fPs55Tk95 1YzPrt/3IoPI5ZptCoA8DFiysQ46OLtpIsQO9YcrpJmxWyLDSr0= =tm+U -----END PGP SIGNATURE----- Merge tag 'hw-misc-20240425' of https://github.com/philmd/qemu into staging Misc HW patch queue - Script to compare machines compat_props[] (Maksim) - Introduce 'module' CPU topology level (Zhao) - Various cleanups (Thomas, Zhao, Inès, Bernhard) # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmYqN3wACgkQ4+MsLN6t # wN4hTw/9FHsItnEkme/864DRPSP7A9mCGa+JfzJmsL8oUb9fBjXXKm+lNchMLu3B # uvzfXB2Ea24yf5vyrldo0XlU3i/4GDvqXTI6YFYqBvitGICauYBu+6n2NZh2Y/Pn # zZCcVo167o0q7dHu2WSrZ6cSUchsF2C80HjuS07QaN2YZ7QMuN1+uqTjCQ/JHQWA # MH4xHh7cXdfCbbv8iNhMWn6sa+Bw/UyfRcc2W6w9cF5Q5cuuTshgDyd0JBOzkM1i # Mcul7TuKrSiLUeeeqfTjwtw3rtbNfkelV3ycgvgECFAlzPSjF5a6d/EGdO2zo3T/ # aFZnQBYrb4U0SzsmfXFHW7cSylIc1Jn2CCuZZBIvdVcu8TGDD5XsgZbGoCfKdWxp # l67qbQJy1Mp3LrRzygJIaxDOfE8fhhRrcIxfK/GoTHaCkqeFRkGjTeiDTVBqAES2 # zs6kUYZyG/xGaa2tsMu+HbtSO5EEqPC2QCdHayY3deW42Kwjj/HFV50Ya8YgYSVp # gEAjTDOle2dDjlkYud+ymTJz7LnGb3G7q0EZRI9DWolx/bu+uZGQqTSRRre4qFQY # SgN576hsFGN4NdM7tyJWiiqD/OC9ZeqUx3gGBtmI52Q6obBCE9hcow0fPs55Tk95 # 1YzPrt/3IoPI5ZptCoA8DFiysQ46OLtpIsQO9YcrpJmxWyLDSr0= # =tm+U # -----END PGP SIGNATURE----- # gpg: Signature made Thu 25 Apr 2024 03:59:08 AM PDT # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full] * tag 'hw-misc-20240425' of https://github.com/philmd/qemu: (22 commits) hw/core: Support module-id in numa configuration hw/core: Introduce module-id as the topology subindex hw/core/machine: Support modules in -smp hw/core/machine: Introduce the module as a CPU topology level hw/i386/pc_sysfw: Remove unused parameter from pc_isa_bios_init() hw/misc : Correct 5 spaces indents in stm32l4x5_exti hw/xtensa: Include missing 'exec/cpu-common.h' in 'bootparam.h' hw/elf_ops: Rename elf_ops.h -> elf_ops.h.inc hw/cxl/cxl-cdat: Make cxl_doe_cdat_init() return boolean hw/cxl/cxl-cdat: Make ct3_build_cdat() return boolean hw/cxl/cxl-cdat: Make ct3_load_cdat() return boolean hw: Add a Kconfig switch for the TYPE_CPU_CLUSTER device hw: Fix problem with the A*MPCORE switches in the Kconfig files hw/riscv/virt: Replace sprintf by g_strdup_printf hw/misc/imx: Replace sprintf() by snprintf() hw/misc/applesmc: Simplify DeviceReset handler target/i386: Move APIC related code to cpu-apic.c hw/core: Remove check on NEED_CPU_H in tcg-cpu-ops.h scripts: add script to compare compatibility properties python/qemu/machine: add method to retrieve QEMUMachine::binary field ... Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
a118c4aff4
43 changed files with 858 additions and 197 deletions
|
@ -145,7 +145,7 @@ static void applesmc_io_cmd_write(void *opaque, hwaddr addr, uint64_t val,
|
|||
s->data_pos = 0;
|
||||
}
|
||||
|
||||
static struct AppleSMCData *applesmc_find_key(AppleSMCState *s)
|
||||
static const struct AppleSMCData *applesmc_find_key(AppleSMCState *s)
|
||||
{
|
||||
struct AppleSMCData *d;
|
||||
|
||||
|
@ -161,7 +161,7 @@ static void applesmc_io_data_write(void *opaque, hwaddr addr, uint64_t val,
|
|||
unsigned size)
|
||||
{
|
||||
AppleSMCState *s = opaque;
|
||||
struct AppleSMCData *d;
|
||||
const struct AppleSMCData *d;
|
||||
|
||||
smc_debug("DATA received: 0x%02x\n", (uint8_t)val);
|
||||
switch (s->cmd) {
|
||||
|
@ -269,23 +269,10 @@ static void applesmc_add_key(AppleSMCState *s, const char *key,
|
|||
static void qdev_applesmc_isa_reset(DeviceState *dev)
|
||||
{
|
||||
AppleSMCState *s = APPLE_SMC(dev);
|
||||
struct AppleSMCData *d, *next;
|
||||
|
||||
/* Remove existing entries */
|
||||
QLIST_FOREACH_SAFE(d, &s->data_def, node, next) {
|
||||
QLIST_REMOVE(d, node);
|
||||
g_free(d);
|
||||
}
|
||||
s->status = 0x00;
|
||||
s->status_1e = 0x00;
|
||||
s->last_ret = 0x00;
|
||||
|
||||
applesmc_add_key(s, "REV ", 6, "\x01\x13\x0f\x00\x00\x03");
|
||||
applesmc_add_key(s, "OSK0", 32, s->osk);
|
||||
applesmc_add_key(s, "OSK1", 32, s->osk + 32);
|
||||
applesmc_add_key(s, "NATJ", 1, "\0");
|
||||
applesmc_add_key(s, "MSSP", 1, "\0");
|
||||
applesmc_add_key(s, "MSSD", 1, "\0x3");
|
||||
}
|
||||
|
||||
static const MemoryRegionOps applesmc_data_io_ops = {
|
||||
|
@ -343,6 +330,24 @@ static void applesmc_isa_realize(DeviceState *dev, Error **errp)
|
|||
}
|
||||
|
||||
QLIST_INIT(&s->data_def);
|
||||
applesmc_add_key(s, "REV ", 6, "\x01\x13\x0f\x00\x00\x03");
|
||||
applesmc_add_key(s, "OSK0", 32, s->osk);
|
||||
applesmc_add_key(s, "OSK1", 32, s->osk + 32);
|
||||
applesmc_add_key(s, "NATJ", 1, "\0");
|
||||
applesmc_add_key(s, "MSSP", 1, "\0");
|
||||
applesmc_add_key(s, "MSSD", 1, "\0x3");
|
||||
}
|
||||
|
||||
static void applesmc_unrealize(DeviceState *dev)
|
||||
{
|
||||
AppleSMCState *s = APPLE_SMC(dev);
|
||||
struct AppleSMCData *d, *next;
|
||||
|
||||
/* Remove existing entries */
|
||||
QLIST_FOREACH_SAFE(d, &s->data_def, node, next) {
|
||||
QLIST_REMOVE(d, node);
|
||||
g_free(d);
|
||||
}
|
||||
}
|
||||
|
||||
static Property applesmc_isa_properties[] = {
|
||||
|
@ -377,6 +382,7 @@ static void qdev_applesmc_class_init(ObjectClass *klass, void *data)
|
|||
AcpiDevAmlIfClass *adevc = ACPI_DEV_AML_IF_CLASS(klass);
|
||||
|
||||
dc->realize = applesmc_isa_realize;
|
||||
dc->unrealize = applesmc_unrealize;
|
||||
dc->reset = qdev_applesmc_isa_reset;
|
||||
device_class_set_props(dc, applesmc_isa_properties);
|
||||
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
|
||||
|
|
|
@ -91,7 +91,7 @@ static const char *imx25_ccm_reg_name(uint32_t reg)
|
|||
case IMX25_CCM_LPIMR1_REG:
|
||||
return "lpimr1";
|
||||
default:
|
||||
sprintf(unknown, "[%u ?]", reg);
|
||||
snprintf(unknown, sizeof(unknown), "[%u ?]", reg);
|
||||
return unknown;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ static const char *imx31_ccm_reg_name(uint32_t reg)
|
|||
case IMX31_CCM_PDR2_REG:
|
||||
return "PDR2";
|
||||
default:
|
||||
sprintf(unknown, "[%u ?]", reg);
|
||||
snprintf(unknown, sizeof(unknown), "[%u ?]", reg);
|
||||
return unknown;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ static const char *imx6_ccm_reg_name(uint32_t reg)
|
|||
case CCM_CMEOR:
|
||||
return "CMEOR";
|
||||
default:
|
||||
sprintf(unknown, "%u ?", reg);
|
||||
snprintf(unknown, sizeof(unknown), "%u ?", reg);
|
||||
return unknown;
|
||||
}
|
||||
}
|
||||
|
@ -224,7 +224,7 @@ static const char *imx6_analog_reg_name(uint32_t reg)
|
|||
case USB_ANALOG_DIGPROG:
|
||||
return "USB_ANALOG_DIGPROG";
|
||||
default:
|
||||
sprintf(unknown, "%u ?", reg);
|
||||
snprintf(unknown, sizeof(unknown), "%u ?", reg);
|
||||
return unknown;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,7 +68,7 @@ static const char *imx6_src_reg_name(uint32_t reg)
|
|||
case SRC_GPR10:
|
||||
return "SRC_GPR10";
|
||||
default:
|
||||
sprintf(unknown, "%u ?", reg);
|
||||
snprintf(unknown, sizeof(unknown), "%u ?", reg);
|
||||
return unknown;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -143,7 +143,7 @@ static const char *imx6ul_ccm_reg_name(uint32_t reg)
|
|||
case CCM_CMEOR:
|
||||
return "CMEOR";
|
||||
default:
|
||||
sprintf(unknown, "%u ?", reg);
|
||||
snprintf(unknown, sizeof(unknown), "%u ?", reg);
|
||||
return unknown;
|
||||
}
|
||||
}
|
||||
|
@ -274,7 +274,7 @@ static const char *imx6ul_analog_reg_name(uint32_t reg)
|
|||
case USB_ANALOG_DIGPROG:
|
||||
return "USB_ANALOG_DIGPROG";
|
||||
default:
|
||||
sprintf(unknown, "%u ?", reg);
|
||||
snprintf(unknown, sizeof(unknown), "%u ?", reg);
|
||||
return unknown;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -75,7 +75,7 @@ static const char *imx7_src_reg_name(uint32_t reg)
|
|||
case SRC_GPR10:
|
||||
return "SRC_GPR10";
|
||||
default:
|
||||
sprintf(unknown, "%u ?", reg);
|
||||
snprintf(unknown, sizeof(unknown), "%u ?", reg);
|
||||
return unknown;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,22 +59,22 @@ static const uint32_t exti_romask[EXTI_NUM_REGISTER] = {
|
|||
|
||||
static unsigned regbank_index_by_irq(unsigned irq)
|
||||
{
|
||||
return irq >= EXTI_MAX_IRQ_PER_BANK ? 1 : 0;
|
||||
return irq >= EXTI_MAX_IRQ_PER_BANK ? 1 : 0;
|
||||
}
|
||||
|
||||
static unsigned regbank_index_by_addr(hwaddr addr)
|
||||
{
|
||||
return addr >= EXTI_IMR2 ? 1 : 0;
|
||||
return addr >= EXTI_IMR2 ? 1 : 0;
|
||||
}
|
||||
|
||||
static unsigned valid_mask(unsigned bank)
|
||||
{
|
||||
return MAKE_64BIT_MASK(0, irqs_per_bank[bank]);
|
||||
return MAKE_64BIT_MASK(0, irqs_per_bank[bank]);
|
||||
}
|
||||
|
||||
static unsigned configurable_mask(unsigned bank)
|
||||
{
|
||||
return valid_mask(bank) & ~exti_romask[bank];
|
||||
return valid_mask(bank) & ~exti_romask[bank];
|
||||
}
|
||||
|
||||
static void stm32l4x5_exti_reset_hold(Object *obj, ResetType type)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue