diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2013-01-11 08:36:52 -0600 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-01-11 08:43:08 -0600 |
commit | e2848a78b0a6715f94623bdf43ef74d3d08cfe4d (patch) | |
tree | 6c9f6a0ee2ee6d4ba57795e8c13a1cd7cd5ddd97 /hw | |
parent | 80ec24328607937690d0d620b99e8c24ab29e8f5 (diff) | |
parent | 7e973bb2e17f929f47376a3872f7ccdff25a51ab (diff) | |
download | hqemu-e2848a78b0a6715f94623bdf43ef74d3d08cfe4d.zip hqemu-e2848a78b0a6715f94623bdf43ef74d3d08cfe4d.tar.gz |
Merge remote-tracking branch 'kraxel/q35.1' into staging
* kraxel/q35.1:
Makefile: install the "acpi-dsdt.aml" and "q35-acpi-dsdt.aml" blobs too
pc: rename machine types
q35: document chipset devices
q35: add ich9 intel hda controller
Conflicts:
hw/intel-hda.c
aliguori: resolve conflict with static const change from Andreas.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/intel-hda.c | 41 | ||||
-rw-r--r-- | hw/pc_piix.c | 8 | ||||
-rw-r--r-- | hw/pc_q35.c | 4 |
3 files changed, 40 insertions, 13 deletions
diff --git a/hw/intel-hda.c b/hw/intel-hda.c index 0a533df..784c229 100644 --- a/hw/intel-hda.c +++ b/hw/intel-hda.c @@ -1232,7 +1232,7 @@ static Property intel_hda_properties[] = { DEFINE_PROP_END_OF_LIST(), }; -static void intel_hda_class_init(ObjectClass *klass, void *data) +static void intel_hda_class_init_common(ObjectClass *klass) { DeviceClass *dc = DEVICE_CLASS(klass); PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); @@ -1240,20 +1240,46 @@ static void intel_hda_class_init(ObjectClass *klass, void *data) k->init = intel_hda_init; k->exit = intel_hda_exit; k->vendor_id = PCI_VENDOR_ID_INTEL; - k->device_id = 0x2668; - k->revision = 1; k->class_id = PCI_CLASS_MULTIMEDIA_HD_AUDIO; - dc->desc = "Intel HD Audio Controller"; dc->reset = intel_hda_reset; dc->vmsd = &vmstate_intel_hda; dc->props = intel_hda_properties; } -static const TypeInfo intel_hda_info = { +static void intel_hda_class_init_ich6(ObjectClass *klass, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(klass); + PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); + + intel_hda_class_init_common(klass); + k->device_id = 0x2668; + k->revision = 1; + dc->desc = "Intel HD Audio Controller (ich6)"; +} + +static void intel_hda_class_init_ich9(ObjectClass *klass, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(klass); + PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); + + intel_hda_class_init_common(klass); + k->device_id = 0x293e; + k->revision = 3; + dc->desc = "Intel HD Audio Controller (ich9)"; +} + +static const TypeInfo intel_hda_info_ich6 = { .name = "intel-hda", .parent = TYPE_PCI_DEVICE, .instance_size = sizeof(IntelHDAState), - .class_init = intel_hda_class_init, + .class_init = intel_hda_class_init_ich6, +}; + +static const TypeInfo intel_hda_info_ich9 = { + .name = "ich9-intel-hda", + .parent = TYPE_PCI_DEVICE, + .instance_size = sizeof(IntelHDAState), + .class_init = intel_hda_class_init_ich9, }; static void hda_codec_device_class_init(ObjectClass *klass, void *data) @@ -1277,7 +1303,8 @@ static const TypeInfo hda_codec_device_type_info = { static void intel_hda_register_types(void) { type_register_static(&hda_codec_bus_info); - type_register_static(&intel_hda_info); + type_register_static(&intel_hda_info_ich6); + type_register_static(&intel_hda_info_ich9); type_register_static(&hda_codec_device_type_info); } diff --git a/hw/pc_piix.c b/hw/pc_piix.c index 2b3d58b..e630aea 100644 --- a/hw/pc_piix.c +++ b/hw/pc_piix.c @@ -282,10 +282,10 @@ static void pc_xen_hvm_init(QEMUMachineInitArgs *args) } #endif -static QEMUMachine pc_machine_v1_4 = { - .name = "pc-1.4", +static QEMUMachine pc_i440fx_machine_v1_4 = { + .name = "pc-i440fx-1.4", .alias = "pc", - .desc = "Standard PC", + .desc = "Standard PC (i440FX + PIIX, 1996)", .init = pc_init_pci_1_3, .max_cpus = 255, .is_default = 1, @@ -646,7 +646,7 @@ static QEMUMachine xenfv_machine = { static void pc_machine_init(void) { - qemu_register_machine(&pc_machine_v1_4); + qemu_register_machine(&pc_i440fx_machine_v1_4); qemu_register_machine(&pc_machine_v1_3); qemu_register_machine(&pc_machine_v1_2); qemu_register_machine(&pc_machine_v1_1); diff --git a/hw/pc_q35.c b/hw/pc_q35.c index ef540b6..52d9976 100644 --- a/hw/pc_q35.c +++ b/hw/pc_q35.c @@ -209,9 +209,9 @@ static void pc_q35_init(QEMUMachineInitArgs *args) } static QEMUMachine pc_q35_machine = { - .name = "q35-next", + .name = "pc-q35-1.4", .alias = "q35", - .desc = "Q35 chipset PC", + .desc = "Standard PC (Q35 + ICH9, 2009)", .init = pc_q35_init, .max_cpus = 255, }; |