Patchwork [34/35] target-alpha: Enable PCI IDE

login
register
mail settings
Submitter Richard Henderson
Date May 9, 2011, 9:34 p.m.
Message ID <1304976889-29675-35-git-send-email-rth@twiddle.net>
Download mbox | patch
Permalink /patch/94889/
State New
Headers show

Comments

Richard Henderson - May 9, 2011, 9:34 p.m.
The CMD646 is the candidate that might be closest to something
that may have existed on real Alpha hardware.

Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 default-configs/alpha-softmmu.mak |    1 +
 hw/alpha_dp264.c                  |   10 ++++++++++
 2 files changed, 11 insertions(+), 0 deletions(-)

Patch

diff --git a/default-configs/alpha-softmmu.mak b/default-configs/alpha-softmmu.mak
index abadcff..32167cd 100644
--- a/default-configs/alpha-softmmu.mak
+++ b/default-configs/alpha-softmmu.mak
@@ -7,3 +7,4 @@  CONFIG_VGA_PCI=y
 CONFIG_IDE_CORE=y
 CONFIG_IDE_QDEV=y
 CONFIG_VMWARE_VGA=y
+CONFIG_IDE_CMD646=y
diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c
index dea0ef6..30ae567 100644
--- a/hw/alpha_dp264.c
+++ b/hw/alpha_dp264.c
@@ -13,7 +13,9 @@ 
 #include "alpha_sys.h"
 #include "sysemu.h"
 #include "mc146818rtc.h"
+#include "ide.h"
 
+#define MAX_IDE_BUS 2
 
 static uint64_t cpu_alpha_superpage_to_phys(void *opaque, uint64_t addr)
 {
@@ -97,6 +99,14 @@  static void clipper_init(ram_addr_t ram_size,
         pci_nic_init_nofail(&nd_table[i], "e1000", NULL);
     }
 
+    /* IDE disk setup.  */
+    {
+        DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS];
+        ide_drive_get(hd, MAX_IDE_BUS);
+
+        pci_cmd646_ide_init(pci_bus, hd, 0);
+    }
+
     /* Load PALcode.  Given that this is not "real" cpu palcode,
        but one explicitly written for the emulation, we might as
        well load it directly from and ELF image.  */