Patchwork [11/12] ahci: spawn controller on demand

login
register
mail settings
Submitter Alexander Graf
Date Nov. 23, 2010, 2:34 p.m.
Message ID <1290522889-27559-12-git-send-email-agraf@suse.de>
Download mbox | patch
Permalink /patch/72685/
State New
Headers show

Comments

Alexander Graf - Nov. 23, 2010, 2:34 p.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(-)

Patch

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 2be25a6..32edf20 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -183,6 +183,9 @@  static void pc_init1(ram_addr_t ram_size,
 
     if (pci_enabled) {
         pc_pci_device_init(pci_bus);
+#ifdef CONFIG_AHCI
+        ahci_create_default_devs(pci_bus);
+#endif
     }
 }