[11/11] ahci: spawn controller on demand

Message ID 1290135413-21462-12-git-send-email-agraf@suse.de
State New
Headers show

Commit Message

Alexander Graf Nov. 19, 2010, 2:56 a.m.
When we add a device using -drive to the guest, we also need to create a
new SATA bus to handle the device. This patch adds a function call that
every machine that likes to have IF_SATA support can call to get full
device creation by keeping the actual qdev code clean.

Signed-off-by: Alexander Graf <agraf@suse.de>


v2 -> v3:

  - redesign
 hw/pc.h      |    1 +
 hw/pc_piix.c |    3 +++
 2 files changed, 4 insertions(+), 0 deletions(-)


diff --git a/hw/pc.h b/hw/pc.h
index 63b0249..02f452e 100644
--- a/hw/pc.h
+++ b/hw/pc.h
@@ -108,6 +108,7 @@  void pc_cmos_init(ram_addr_t ram_size, ram_addr_t above_4g_mem_size,
                   BusState *ide0, BusState *ide1,
                   FDCtrl *floppy_controller, ISADevice *s);
 void pc_pci_device_init(PCIBus *pci_bus);
+void ahci_create_default_devs(void *pci_bus);
 typedef void (*cpu_set_smm_t)(int smm, void *arg);
 void cpu_smm_register(cpu_set_smm_t callback, void *arg);
diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index 12359a7..1ce880d 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -182,6 +182,9 @@  static void pc_init1(ram_addr_t ram_size,
     if (pci_enabled) {
+        ahci_create_default_devs(pci_bus);