aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2010-03-29 19:23:57 +0000
committerBlue Swirl <blauwirbel@gmail.com>2010-03-29 19:23:57 +0000
commit02c7c992f0036bca8f1256e8a1f0d80a81e173f0 (patch)
tree86b99319d8d6eb7ded47589ae4f64c3c646c301b
parent3d08ff698b938613699682b5c5432547a7ebe898 (diff)
Compile ide/macio only once
Replace TARGET_PAGE_SIZE with 4096. Make byte swapping unconditional since PPC is big endian. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r--Makefile.objs1
-rw-r--r--Makefile.target2
-rw-r--r--default-configs/ppc-softmmu.mak1
-rw-r--r--default-configs/ppc64-softmmu.mak1
-rw-r--r--default-configs/ppcemb-softmmu.mak1
-rw-r--r--hw/ide/macio.c14
6 files changed, 9 insertions, 11 deletions
diff --git a/Makefile.objs b/Makefile.objs
index fe5b4d980e..1752402efe 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -171,6 +171,7 @@ hw-obj-$(CONFIG_IDE_PCI) += ide/pci.o
hw-obj-$(CONFIG_IDE_ISA) += ide/isa.o
hw-obj-$(CONFIG_IDE_PIIX) += ide/piix.o
hw-obj-$(CONFIG_IDE_CMD646) += ide/cmd646.o
+hw-obj-$(CONFIG_IDE_MACIO) += ide/macio.o
# SCSI layer
hw-obj-y += lsi53c895a.o
diff --git a/Makefile.target b/Makefile.target
index 51ddbb90bc..ee2cff06ce 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -190,7 +190,7 @@ obj-i386-y += device-hotplug.o pci-hotplug.o smbios.o wdt_ib700.o
obj-i386-y += debugcon.o multiboot.o
# shared objects
-obj-ppc-y = ppc.o ide/macio.o
+obj-ppc-y = ppc.o
obj-ppc-y += vga.o dma.o openpic.o
# PREP target
obj-ppc-y += pckbd.o i8259.o mc146818rtc.o
diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index 15530be570..88e238a011 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -14,6 +14,7 @@ CONFIG_IDE_QDEV=y
CONFIG_IDE_PCI=y
CONFIG_IDE_ISA=y
CONFIG_IDE_CMD646=y
+CONFIG_IDE_MACIO=y
CONFIG_NE2000_ISA=y
CONFIG_SOUND=y
CONFIG_VIRTIO_PCI=y
diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index 6b905255ef..aabc877ac7 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -14,6 +14,7 @@ CONFIG_IDE_QDEV=y
CONFIG_IDE_PCI=y
CONFIG_IDE_ISA=y
CONFIG_IDE_CMD646=y
+CONFIG_IDE_MACIO=y
CONFIG_NE2000_ISA=y
CONFIG_SOUND=y
CONFIG_VIRTIO_PCI=y
diff --git a/default-configs/ppcemb-softmmu.mak b/default-configs/ppcemb-softmmu.mak
index ceb67b3da0..f7fa1e0547 100644
--- a/default-configs/ppcemb-softmmu.mak
+++ b/default-configs/ppcemb-softmmu.mak
@@ -14,6 +14,7 @@ CONFIG_IDE_QDEV=y
CONFIG_IDE_PCI=y
CONFIG_IDE_ISA=y
CONFIG_IDE_CMD646=y
+CONFIG_IDE_MACIO=y
CONFIG_NE2000_ISA=y
CONFIG_SOUND=y
CONFIG_VIRTIO_PCI=y
diff --git a/hw/ide/macio.c b/hw/ide/macio.c
index d1bdb4967f..639f3f6a65 100644
--- a/hw/ide/macio.c
+++ b/hw/ide/macio.c
@@ -40,6 +40,8 @@ typedef struct MACIOIDEState {
BlockDriverAIOCB *aiocb;
} MACIOIDEState;
+#define MACIO_PAGE_SIZE 4096
+
static void pmac_ide_atapi_transfer_cb(void *opaque, int ret)
{
DBDMA_io *io = opaque;
@@ -77,7 +79,7 @@ static void pmac_ide_atapi_transfer_cb(void *opaque, int ret)
s->io_buffer_size = io->len;
- qemu_sglist_init(&s->sg, io->len / TARGET_PAGE_SIZE + 1);
+ qemu_sglist_init(&s->sg, io->len / MACIO_PAGE_SIZE + 1);
qemu_sglist_add(&s->sg, io->addr, io->len);
io->addr += io->len;
io->len = 0;
@@ -139,7 +141,7 @@ static void pmac_ide_transfer_cb(void *opaque, int ret)
s->io_buffer_index = 0;
s->io_buffer_size = io->len;
- qemu_sglist_init(&s->sg, io->len / TARGET_PAGE_SIZE + 1);
+ qemu_sglist_init(&s->sg, io->len / MACIO_PAGE_SIZE + 1);
qemu_sglist_add(&s->sg, io->addr, io->len);
io->addr += io->len;
io->len = 0;
@@ -223,9 +225,7 @@ static void pmac_ide_writew (void *opaque,
MACIOIDEState *d = opaque;
addr = (addr & 0xFFF) >> 4;
-#ifdef TARGET_WORDS_BIGENDIAN
val = bswap16(val);
-#endif
if (addr == 0) {
ide_data_writew(&d->bus, 0, val);
}
@@ -242,9 +242,7 @@ static uint32_t pmac_ide_readw (void *opaque,target_phys_addr_t addr)
} else {
retval = 0xFFFF;
}
-#ifdef TARGET_WORDS_BIGENDIAN
retval = bswap16(retval);
-#endif
return retval;
}
@@ -254,9 +252,7 @@ static void pmac_ide_writel (void *opaque,
MACIOIDEState *d = opaque;
addr = (addr & 0xFFF) >> 4;
-#ifdef TARGET_WORDS_BIGENDIAN
val = bswap32(val);
-#endif
if (addr == 0) {
ide_data_writel(&d->bus, 0, val);
}
@@ -273,9 +269,7 @@ static uint32_t pmac_ide_readl (void *opaque,target_phys_addr_t addr)
} else {
retval = 0xFFFFFFFF;
}
-#ifdef TARGET_WORDS_BIGENDIAN
retval = bswap32(retval);
-#endif
return retval;
}