On 7/2/20 3:25 PM, Gerd Hoffmann wrote: > Need access to pcms for pcspk initialization. > Just preparation, no functional change. > > Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> > --- > include/hw/i386/pc.h | 3 ++- > hw/i386/pc.c | 3 ++- > hw/i386/pc_piix.c | 2 +- > hw/i386/pc_q35.c | 2 +- > 4 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h > index dce1273c7dad..3a601dbe71da 100644 > --- a/include/hw/i386/pc.h > +++ b/include/hw/i386/pc.h > @@ -160,7 +160,8 @@ void pc_memory_init(PCMachineState *pcms, > MemoryRegion **ram_memory); > uint64_t pc_pci_hole64_start(void); > DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus); > -void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi, > +void pc_basic_device_init(struct PCMachineState *pcms, [Not this patch problem, simply thinking loudly] What we should pass is a PCMachineClass pointer. I don't understand why PIT is a runtime changeable property. > + ISABus *isa_bus, qemu_irq *gsi, > ISADevice **rtc_state, > bool create_fdctrl, > bool no_vmport, > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index 4af9679d039b..d89e577f6fa1 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -1155,7 +1155,8 @@ static void pc_superio_init(ISABus *isa_bus, bool create_fdctrl, bool no_vmport) > g_free(a20_line); > } > > -void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi, > +void pc_basic_device_init(struct PCMachineState *pcms, > + ISABus *isa_bus, qemu_irq *gsi, > ISADevice **rtc_state, > bool create_fdctrl, > bool no_vmport, > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index 1d832b2878b1..a3b416507286 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -235,7 +235,7 @@ static void pc_init1(MachineState *machine, > } > > /* init basic PC hardware */ > - pc_basic_device_init(isa_bus, x86ms->gsi, &rtc_state, true, > + pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, true, > (pcms->vmport != ON_OFF_AUTO_ON), pcms->pit_enabled, > 0x4); > > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c > index 047ea8db28ea..b16e22c6cccd 100644 > --- a/hw/i386/pc_q35.c > +++ b/hw/i386/pc_q35.c > @@ -275,7 +275,7 @@ static void pc_q35_init(MachineState *machine) > } > > /* init basic PC hardware */ > - pc_basic_device_init(isa_bus, x86ms->gsi, &rtc_state, !mc->no_floppy, > + pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, !mc->no_floppy, > (pcms->vmport != ON_OFF_AUTO_ON), pcms->pit_enabled, > 0xff0104); > >