[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 34/43] RFC: softmmu/memory: Add ops to memory_region_ram_init_
From: |
Jonathan Cameron |
Subject: |
[PATCH v6 34/43] RFC: softmmu/memory: Add ops to memory_region_ram_init_from_file |
Date: |
Fri, 11 Feb 2022 12:07:38 +0000 |
From: Jonathan Cameron <jonathan.cameron@huawei.com>
Inorder to implement memory interleaving we need a means to proxy
the calls. Adding mem_ops allows such proxying.
Note should have no impact on use cases not using _dispatch_read/write.
For now, only file backed hostmem is considered to seek feedback on
the approach before considering other hostmem backends.
Signed-off-by: Jonathan Cameron <jonathan.cameron@huawei.com>
---
softmmu/memory.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/softmmu/memory.c b/softmmu/memory.c
index 678dc62f06..d537091c63 100644
--- a/softmmu/memory.c
+++ b/softmmu/memory.c
@@ -1606,6 +1606,15 @@ void memory_region_init_ram_from_file(MemoryRegion *mr,
Error *err = NULL;
memory_region_init(mr, owner, name, size);
mr->ram = true;
+
+ /*
+ * ops used only when directly accessing via
+ * - memory_region_dispatch_read()
+ * - memory_region_dispatch_write()
+ */
+ mr->ops = &ram_device_mem_ops;
+ mr->opaque = mr;
+
mr->readonly = readonly;
mr->terminates = true;
mr->destructor = memory_region_destructor_ram;
--
2.32.0
- [PATCH v6 24/43] acpi/cxl: Add _OSC implementation (9.14.2), (continued)
- [PATCH v6 24/43] acpi/cxl: Add _OSC implementation (9.14.2), Jonathan Cameron, 2022/02/11
- [PATCH v6 25/43] acpi/cxl: Create the CEDT (9.14.1), Jonathan Cameron, 2022/02/11
- [PATCH v6 26/43] hw/cxl/component: Add utils for interleave parameter encoding/decoding, Jonathan Cameron, 2022/02/11
- [PATCH v6 27/43] hw/cxl/host: Add support for CXL Fixed Memory Windows., Jonathan Cameron, 2022/02/11
- [PATCH v6 28/43] acpi/cxl: Introduce CFMWS structures in CEDT, Jonathan Cameron, 2022/02/11
- [PATCH v6 29/43] hw/pci-host/gpex-acpi: Add support for dsdt construction for pxb-cxl, Jonathan Cameron, 2022/02/11
- [PATCH v6 30/43] pci/pcie_port: Add pci_find_port_by_pn(), Jonathan Cameron, 2022/02/11
- [PATCH v6 31/43] CXL/cxl_component: Add cxl_get_hb_cstate(), Jonathan Cameron, 2022/02/11
- [PATCH v6 32/43] mem/cxl_type3: Add read and write functions for associated hostmem., Jonathan Cameron, 2022/02/11
- [PATCH v6 33/43] cxl/cxl-host: Add memops for CFMWS region., Jonathan Cameron, 2022/02/11
- [PATCH v6 34/43] RFC: softmmu/memory: Add ops to memory_region_ram_init_from_file,
Jonathan Cameron <=
- [PATCH v6 35/43] hw/cxl/component Add a dumb HDM decoder handler, Jonathan Cameron, 2022/02/11
- [PATCH v6 36/43] i386/pc: Enable CXL fixed memory windows, Jonathan Cameron, 2022/02/11
- [PATCH v6 37/43] tests/acpi: q35: Allow addition of a CXL test., Jonathan Cameron, 2022/02/11
- [PATCH v6 38/43] qtests/bios-tables-test: Add a test for CXL emulation., Jonathan Cameron, 2022/02/11
- [PATCH v6 39/43] tests/acpi: Add tables for CXL emulation., Jonathan Cameron, 2022/02/11
- [PATCH v6 40/43] qtest/cxl: Add more complex test cases with CFMWs, Jonathan Cameron, 2022/02/11
- [PATCH v6 41/43] hw/arm/virt: Basic CXL enablement on pci_expander_bridge instances pxb-cxl, Jonathan Cameron, 2022/02/11
- [PATCH v6 42/43] qtest/cxl: Add aarch64 virt test for CXL, Jonathan Cameron, 2022/02/11
- [PATCH v6 43/43] docs/cxl: Add initial Compute eXpress Link (CXL) documentation., Jonathan Cameron, 2022/02/11
- Re: [PATCH v6 00/43] CXl 2.0 emulation Support, Jonathan Cameron, 2022/02/18