hw/i386/pc: Unify vmport=auto handling
The code which translates vmport=auto to on/off is currently separate for each PC machine variant, while being functionally equivalent. This moves the translation into a shared initialization function, while also tightening the enum assertion. Signed-off-by: Kamil Szczęk <kamil@szczek.dev> Reviewed-by: Bernhard Beschow <shentey@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <v8pz1uwgIYWkidgZK-o8H-qJvnSyl0641XVmNO43Qls307AA3QRPuad_py6xGe0JAxB6yDEe76oZ8tau_n-2Y6sJBCKzCujNbEUUFhd-ahI=@szczek.dev> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
6373fc0323
commit
c911f875f8
@ -1217,6 +1217,11 @@ void pc_basic_device_init(struct PCMachineState *pcms,
|
|||||||
isa_realize_and_unref(pcms->pcspk, isa_bus, &error_fatal);
|
isa_realize_and_unref(pcms->pcspk, isa_bus, &error_fatal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert(pcms->vmport >= 0 && pcms->vmport < ON_OFF_AUTO__MAX);
|
||||||
|
if (pcms->vmport == ON_OFF_AUTO_AUTO) {
|
||||||
|
pcms->vmport = xen_enabled() ? ON_OFF_AUTO_OFF : ON_OFF_AUTO_ON;
|
||||||
|
}
|
||||||
|
|
||||||
/* Super I/O */
|
/* Super I/O */
|
||||||
pc_superio_init(isa_bus, create_fdctrl, pcms->i8042_enabled,
|
pc_superio_init(isa_bus, create_fdctrl, pcms->i8042_enabled,
|
||||||
pcms->vmport != ON_OFF_AUTO_ON);
|
pcms->vmport != ON_OFF_AUTO_ON);
|
||||||
|
@ -310,11 +310,6 @@ static void pc_init1(MachineState *machine, const char *pci_type)
|
|||||||
|
|
||||||
pc_vga_init(isa_bus, pcmc->pci_enabled ? pcms->pcibus : NULL);
|
pc_vga_init(isa_bus, pcmc->pci_enabled ? pcms->pcibus : NULL);
|
||||||
|
|
||||||
assert(pcms->vmport != ON_OFF_AUTO__MAX);
|
|
||||||
if (pcms->vmport == ON_OFF_AUTO_AUTO) {
|
|
||||||
pcms->vmport = xen_enabled() ? ON_OFF_AUTO_OFF : ON_OFF_AUTO_ON;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* init basic PC hardware */
|
/* init basic PC hardware */
|
||||||
pc_basic_device_init(pcms, isa_bus, x86ms->gsi, x86ms->rtc,
|
pc_basic_device_init(pcms, isa_bus, x86ms->gsi, x86ms->rtc,
|
||||||
!MACHINE_CLASS(pcmc)->no_floppy, 0x4);
|
!MACHINE_CLASS(pcmc)->no_floppy, 0x4);
|
||||||
|
@ -276,11 +276,6 @@ static void pc_q35_init(MachineState *machine)
|
|||||||
x86_register_ferr_irq(x86ms->gsi[13]);
|
x86_register_ferr_irq(x86ms->gsi[13]);
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(pcms->vmport != ON_OFF_AUTO__MAX);
|
|
||||||
if (pcms->vmport == ON_OFF_AUTO_AUTO) {
|
|
||||||
pcms->vmport = ON_OFF_AUTO_ON;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* init basic PC hardware */
|
/* init basic PC hardware */
|
||||||
pc_basic_device_init(pcms, isa_bus, x86ms->gsi, x86ms->rtc, !mc->no_floppy,
|
pc_basic_device_init(pcms, isa_bus, x86ms->gsi, x86ms->rtc, !mc->no_floppy,
|
||||||
0xff0104);
|
0xff0104);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user