[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC 1/4] memory: add memory_region_init_io_with_dev interface
From: |
Li Qiang |
Subject: |
[RFC 1/4] memory: add memory_region_init_io_with_dev interface |
Date: |
Tue, 8 Sep 2020 09:41:54 -0700 |
Currently the MR is not explicitly connecting with its device instead of
a opaque. In most situation this opaque is the deivce but it is not an
enforcement. This patch adds a DeviceState member of to MemoryRegion
we will use it in later patch.
Signed-off-by: Li Qiang <liq3ea@163.com>
---
include/exec/memory.h | 9 +++++++++
softmmu/memory.c | 15 +++++++++++++++
2 files changed, 24 insertions(+)
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 0cfe987ab4..620fb12d9b 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -404,6 +404,7 @@ struct MemoryRegion {
const char *name;
unsigned ioeventfd_nb;
MemoryRegionIoeventfd *ioeventfds;
+ DeviceState *dev;
};
struct IOMMUMemoryRegion {
@@ -794,6 +795,14 @@ void memory_region_init_io(MemoryRegion *mr,
const char *name,
uint64_t size);
+void memory_region_init_io_with_dev(MemoryRegion *mr,
+ struct Object *owner,
+ const MemoryRegionOps *ops,
+ void *opaque,
+ const char *name,
+ uint64_t size,
+ DeviceState *dev);
+
/**
* memory_region_init_ram_nomigrate: Initialize RAM memory region. Accesses
* into the region will modify memory
diff --git a/softmmu/memory.c b/softmmu/memory.c
index 70b93104e8..2628c9d2d9 100644
--- a/softmmu/memory.c
+++ b/softmmu/memory.c
@@ -1490,6 +1490,21 @@ void memory_region_init_io(MemoryRegion *mr,
mr->terminates = true;
}
+void memory_region_init_io_with_dev(MemoryRegion *mr,
+ Object *owner,
+ const MemoryRegionOps *ops,
+ void *opaque,
+ const char *name,
+ uint64_t size,
+ DeviceState *dev)
+{
+ memory_region_init(mr, owner, name, size);
+ mr->ops = ops ? ops : &unassigned_mem_ops;
+ mr->opaque = opaque;
+ mr->terminates = true;
+ mr->dev = dev;
+}
+
void memory_region_init_ram_nomigrate(MemoryRegion *mr,
Object *owner,
const char *name,
--
2.17.1
- [RFC 0/4] Add a 'in_mmio' device flag to avoid the DMA to MMIO, Li Qiang, 2020/09/08
- [RFC 3/4] e1000e: use the new memory_region_init_io_with_dev interface, Li Qiang, 2020/09/08
- [RFC 1/4] memory: add memory_region_init_io_with_dev interface,
Li Qiang <=
- Re: [RFC 1/4] memory: add memory_region_init_io_with_dev interface, Jason Wang, 2020/09/08
- Re: [RFC 1/4] memory: add memory_region_init_io_with_dev interface, Li Qiang, 2020/09/09
- Re: [RFC 1/4] memory: add memory_region_init_io_with_dev interface, Gerd Hoffmann, 2020/09/09
- Re: [RFC 1/4] memory: add memory_region_init_io_with_dev interface, Li Qiang, 2020/09/09
- Re: [RFC 1/4] memory: add memory_region_init_io_with_dev interface, Alexander Bulekov, 2020/09/09
- Re: [RFC 1/4] memory: add memory_region_init_io_with_dev interface, Li Qiang, 2020/09/10
- Re: [RFC 1/4] memory: add memory_region_init_io_with_dev interface, Jason Wang, 2020/09/13
Re: [RFC 1/4] memory: add memory_region_init_io_with_dev interface, Paolo Bonzini, 2020/09/20
[RFC 2/4] memory: avoid reenter the device's MMIO handler while processing MMIO, Li Qiang, 2020/09/08
[RFC 4/4] hcd-xhci: use the new memory_region_init_io_with_dev interface, Li Qiang, 2020/09/08