[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 4/8] memory: remove code dealing with old_portio
From: |
Hervé Poussineau |
Subject: |
[Qemu-devel] [PATCH v2 4/8] memory: remove code dealing with old_portio |
Date: |
Sun, 9 Jun 2013 01:44:02 +0800 |
Last user of old_portio callbacks has been removed in previous commit.
Signed-off-by: Hervé Poussineau <address@hidden>
---
include/exec/memory.h | 4 ----
memory.c | 60 -------------------------------------------------
2 files changed, 64 deletions(-)
diff --git a/include/exec/memory.h b/include/exec/memory.h
index d53a6a1..3c225c9 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -105,10 +105,6 @@ struct MemoryRegionOps {
bool unaligned;
} impl;
- /* If .read and .write are not present, old_portio may be used for
- * backwards compatibility with old portio registration
- */
- const MemoryRegionPortio *old_portio;
/* If .read and .write are not present, old_mmio may be used for
* backwards compatibility with old mmio registration
*/
diff --git a/memory.c b/memory.c
index f27167c..8ac9e66 100644
--- a/memory.c
+++ b/memory.c
@@ -401,21 +401,6 @@ static void access_with_adjusted_size(hwaddr addr,
}
}
-static const MemoryRegionPortio *find_portio(MemoryRegion *mr, uint64_t offset,
- unsigned width, bool write)
-{
- const MemoryRegionPortio *mrp;
-
- for (mrp = mr->ops->old_portio; mrp->size; ++mrp) {
- if (offset >= mrp->offset && offset < mrp->offset + mrp->len
- && width == mrp->size
- && (write ? (bool)mrp->write : (bool)mrp->read)) {
- return mrp;
- }
- }
- return NULL;
-}
-
static void memory_region_iorange_read(IORange *iorange,
uint64_t offset,
unsigned width,
@@ -426,21 +411,6 @@ static void memory_region_iorange_read(IORange *iorange,
MemoryRegion *mr = mrio->mr;
offset += mrio->offset;
- if (mr->ops->old_portio) {
- const MemoryRegionPortio *mrp = find_portio(mr, offset - mrio->offset,
- width, false);
-
- *data = ((uint64_t)1 << (width * 8)) - 1;
- if (mrp) {
- *data = mrp->read(mr->opaque, offset);
- } else if (width == 2) {
- mrp = find_portio(mr, offset - mrio->offset, 1, false);
- assert(mrp);
- *data = mrp->read(mr->opaque, offset) |
- (mrp->read(mr->opaque, offset + 1) << 8);
- }
- return;
- }
*data = 0;
access_with_adjusted_size(offset, data, width,
mr->ops->impl.min_access_size,
@@ -458,20 +428,6 @@ static void memory_region_iorange_write(IORange *iorange,
MemoryRegion *mr = mrio->mr;
offset += mrio->offset;
- if (mr->ops->old_portio) {
- const MemoryRegionPortio *mrp = find_portio(mr, offset - mrio->offset,
- width, true);
-
- if (mrp) {
- mrp->write(mr->opaque, offset, data);
- } else if (width == 2) {
- mrp = find_portio(mr, offset - mrio->offset, 1, true);
- assert(mrp);
- mrp->write(mr->opaque, offset, data & 0xff);
- mrp->write(mr->opaque, offset + 1, data >> 8);
- }
- return;
- }
access_with_adjusted_size(offset, &data, width,
mr->ops->impl.min_access_size,
mr->ops->impl.max_access_size,
@@ -933,14 +889,6 @@ static uint64_t memory_region_dispatch_read1(MemoryRegion
*mr,
mr->ops->impl.min_access_size,
mr->ops->impl.max_access_size,
memory_region_read_accessor, mr);
- } else if (mr->ops->old_portio) {
- MemoryRegionIORange mrio;
- MemoryRegionSection mrs = memory_region_find(get_system_io(), addr,
- size);
- mrio.mr = mr;
- mrio.offset = mrs.offset_within_region;
- memory_region_iorange_read(&mrio.iorange, addr - mrio.offset, size,
- &data);
} else {
access_with_adjusted_size(addr, &data, size, 1, 4,
memory_region_oldmmio_read_accessor, mr);
@@ -1002,14 +950,6 @@ static bool memory_region_dispatch_write(MemoryRegion *mr,
mr->ops->impl.min_access_size,
mr->ops->impl.max_access_size,
memory_region_write_accessor, mr);
- } else if (mr->ops->old_portio) {
- MemoryRegionIORange mrio;
- MemoryRegionSection mrs = memory_region_find(get_system_io(), addr,
- size);
- mrio.mr = mr;
- mrio.offset = mrs.offset_within_region;
- memory_region_iorange_write(&mrio.iorange, addr - mrio.offset, size,
- data);
} else {
access_with_adjusted_size(addr, &data, size, 1, 4,
memory_region_oldmmio_write_accessor, mr);
--
1.7.10.4
- [Qemu-devel] [PATCH v2 0/8] memory: remove old_portio usage, Hervé Poussineau, 2013/06/08
- [Qemu-devel] [PATCH v2 2/8] memory: handle old_portio accesses in MMIO path, Hervé Poussineau, 2013/06/08
- [Qemu-devel] [PATCH v2 1/8] isa: fix documentation of isa_register_portio_list, Hervé Poussineau, 2013/06/08
- [Qemu-devel] [PATCH v2 3/8] ioport: register memory regions for I/O port lists, Hervé Poussineau, 2013/06/08
- [Qemu-devel] [PATCH v2 4/8] memory: remove code dealing with old_portio,
Hervé Poussineau <=
- [Qemu-devel] [PATCH v2 5/8] ioport: reimplement cpu_in/cpu_out using address_space_rw, Hervé Poussineau, 2013/06/08
- [Qemu-devel] [PATCH v2 6/8] ppc: simplify access to PReP I/O region, Hervé Poussineau, 2013/06/08
- [Qemu-devel] [PATCH v2 7/8] PPC: pseries: Remove hack for PIO window, Hervé Poussineau, 2013/06/08
- [Qemu-devel] [PATCH v2 8/8] isa_mmio: simplify access to system I/O region, Hervé Poussineau, 2013/06/08
- Re: [Qemu-devel] [PATCH v2 0/8] memory: remove old_portio usage, Hervé Poussineau, 2013/06/16