Skip to content

Commit

Permalink
hw/isa/piix: Allow for optional PIT creation in PIIX3
Browse files Browse the repository at this point in the history
In the PC machine, the PIT is created in board code to allow it to be
virtualized with various virtualization techniques. So explicitly disable its
creation in the PC machine via a property which defaults to enabled. Once the
PIIX implementations are consolidated this default will keep Malta working
without further ado.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20231007123843.127151-22-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
  • Loading branch information
shentok authored and mstsirkin committed Oct 19, 2023
1 parent f6ca9c1 commit 4a0ca61
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 0 deletions.
2 changes: 2 additions & 0 deletions hw/i386/pc_piix.c
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,8 @@ static void pc_init1(MachineState *machine,
&error_abort);
object_property_set_bool(OBJECT(pci_dev), "has-pic", false,
&error_abort);
object_property_set_bool(OBJECT(pci_dev), "has-pit", false,
&error_abort);
qdev_prop_set_uint32(DEVICE(pci_dev), "smb_io_base", 0xb100);
object_property_set_bool(OBJECT(pci_dev), "smm-enabled",
x86_machine_is_smm_enabled(x86ms),
Expand Down
6 changes: 6 additions & 0 deletions hw/isa/piix.c
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,11 @@ static void pci_piix3_realize(PCIDevice *dev, Error **errp)

isa_bus_register_input_irqs(isa_bus, d->isa_irqs_in);

/* PIT */
if (d->has_pit) {
i8254_pit_init(isa_bus, 0x40, 0, NULL);
}

i8257_dma_init(isa_bus, 0);

/* RTC */
Expand Down Expand Up @@ -436,6 +441,7 @@ static Property pci_piix3_props[] = {
DEFINE_PROP_UINT32("smb_io_base", PIIXState, smb_io_base, 0),
DEFINE_PROP_BOOL("has-acpi", PIIXState, has_acpi, true),
DEFINE_PROP_BOOL("has-pic", PIIXState, has_pic, true),
DEFINE_PROP_BOOL("has-pit", PIIXState, has_pit, true),
DEFINE_PROP_BOOL("has-usb", PIIXState, has_usb, true),
DEFINE_PROP_BOOL("smm-enabled", PIIXState, smm_enabled, false),
DEFINE_PROP_END_OF_LIST(),
Expand Down
1 change: 1 addition & 0 deletions include/hw/southbridge/piix.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ struct PIIXState {

bool has_acpi;
bool has_pic;
bool has_pit;
bool has_usb;
bool smm_enabled;
};
Expand Down

0 comments on commit 4a0ca61

Please sign in to comment.