Commit cf05a5c527 for qemu.org
commit cf05a5c52716fae63a1792a67b94b0612cb800b8
Author: Helge Deller <deller@gmx.de>
Date: Wed Apr 1 21:12:28 2026 +0200
hw/hppa: Move static variable lasi_dev into MachineState
Avoid static variables, so move lasi_dev into the MachineState struct.
Signed-off-by: Helge Deller <deller@gmx.de>
Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index 0937d90ed2..d762163ddf 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -44,6 +44,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(HppaMachineState, HPPA_COMMON_MACHINE)
struct HppaMachineState {
MachineState parent_obj;
+ DeviceState *lasi_dev;
uint64_t memsplit_addr;
};
@@ -52,8 +53,6 @@ struct HppaMachineState {
#define HPA_POWER_BUTTON (FIRMWARE_END - 0x10)
static hwaddr soft_power_reg;
-static DeviceState *lasi_dev;
-
static void hppa_powerdown_req(Notifier *n, void *opaque)
{
uint32_t val;
@@ -399,7 +398,8 @@ static void machine_HP_common_init_tail(MachineState *machine, PCIBus *pci_bus,
{
const char *kernel_filename = machine->kernel_filename;
MachineClass *mc = MACHINE_GET_CLASS(machine);
- DeviceState *dev;
+ HppaMachineState *hpm = HPPA_COMMON_MACHINE(machine);
+ DeviceState *dev, *lasi_dev;
PCIDevice *pci_dev;
long size;
uint64_t kernel_entry = 0;
@@ -408,6 +408,7 @@ static void machine_HP_common_init_tail(MachineState *machine, PCIBus *pci_bus,
SysBusDevice *s;
/* Graphics setup. */
+ lasi_dev = hpm->lasi_dev;
if (lasi_dev && machine->enable_graphics &&
vga_interface_type != VGA_NONE) {
dev = qdev_new("artist");
@@ -576,7 +577,8 @@ static void machine_HP_common_init_tail(MachineState *machine, PCIBus *pci_bus,
*/
static void machine_HP_715_init(MachineState *machine)
{
- DeviceState *dev;
+ HppaMachineState *hpm = HPPA_COMMON_MACHINE(machine);
+ DeviceState *dev, *lasi_dev;
MemoryRegion *addr_space = get_system_memory();
TranslateFn *translate;
ISABus *isa_bus;
@@ -596,6 +598,7 @@ static void machine_HP_715_init(MachineState *machine)
/* Init Lasi chip */
lasi_dev = DEVICE(lasi_init());
+ hpm->lasi_dev = lasi_dev;
memory_region_add_subregion(addr_space, translate(NULL, LASI_HPA_715),
sysbus_mmio_get_region(
SYS_BUS_DEVICE(lasi_dev), 0));
@@ -652,7 +655,8 @@ static void machine_HP_715_init(MachineState *machine)
*/
static void machine_HP_B160L_init(MachineState *machine)
{
- DeviceState *dev, *dino_dev;
+ HppaMachineState *hpm = HPPA_COMMON_MACHINE(machine);
+ DeviceState *dev, *dino_dev, *lasi_dev;
MemoryRegion *addr_space = get_system_memory();
TranslateFn *translate;
ISABus *isa_bus;
@@ -669,6 +673,7 @@ static void machine_HP_B160L_init(MachineState *machine)
/* Init Lasi chip */
lasi_dev = DEVICE(lasi_init());
+ hpm->lasi_dev = lasi_dev;
memory_region_add_subregion(addr_space, translate(NULL, LASI_HPA),
sysbus_mmio_get_region(
SYS_BUS_DEVICE(lasi_dev), 0));