[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 15/16] system/memory: make compilation unit common
From: |
Pierrick Bouvier |
Subject: |
[PATCH 15/16] system/memory: make compilation unit common |
Date: |
Sun, 9 Mar 2025 21:58:41 -0700 |
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
system/memory.c | 22 +++++++++++++++-------
system/meson.build | 2 +-
2 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/system/memory.c b/system/memory.c
index 4c829793a0a..b401be8b5f1 100644
--- a/system/memory.c
+++ b/system/memory.c
@@ -355,11 +355,11 @@ static void flatview_simplify(FlatView *view)
static bool memory_region_big_endian(MemoryRegion *mr)
{
-#if TARGET_BIG_ENDIAN
- return mr->ops->endianness != DEVICE_LITTLE_ENDIAN;
-#else
- return mr->ops->endianness == DEVICE_BIG_ENDIAN;
-#endif
+ if (target_words_bigendian()) {
+ return mr->ops->endianness != DEVICE_LITTLE_ENDIAN;
+ } else {
+ return mr->ops->endianness == DEVICE_BIG_ENDIAN;
+ }
}
static void adjust_endianness(MemoryRegion *mr, uint64_t *data, MemOp op)
@@ -2584,7 +2584,11 @@ void memory_region_add_eventfd(MemoryRegion *mr,
unsigned i;
if (size) {
- adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+ if (target_words_bigendian()) {
+ adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_BE);
+ } else {
+ adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_LE);
+ }
}
memory_region_transaction_begin();
for (i = 0; i < mr->ioeventfd_nb; ++i) {
@@ -2619,7 +2623,11 @@ void memory_region_del_eventfd(MemoryRegion *mr,
unsigned i;
if (size) {
- adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_TE);
+ if (target_words_bigendian()) {
+ adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_BE);
+ } else {
+ adjust_endianness(mr, &mrfd.data, size_memop(size) | MO_LE);
+ }
}
memory_region_transaction_begin();
for (i = 0; i < mr->ioeventfd_nb; ++i) {
diff --git a/system/meson.build b/system/meson.build
index 9d0b0122e54..881cb2736fe 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -1,7 +1,6 @@
specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: [files(
'arch_init.c',
'ioport.c',
- 'memory.c',
)])
system_ss.add(files(
@@ -14,6 +13,7 @@ system_ss.add(files(
'dma-helpers.c',
'globals.c',
'memory_mapping.c',
+ 'memory.c',
'physmem.c',
'qdev-monitor.c',
'qtest.c',
--
2.39.5
- [PATCH 04/16] exec/memory.h: make devend_memop target agnostic, (continued)
- [PATCH 04/16] exec/memory.h: make devend_memop target agnostic, Pierrick Bouvier, 2025/03/10
- [PATCH 06/16] exec/cpu-all.h: we can now remove ld/st macros, Pierrick Bouvier, 2025/03/10
- [PATCH 05/16] qemu/bswap: implement {ld,st}.*_p as functions, Pierrick Bouvier, 2025/03/10
- [PATCH 07/16] codebase: prepare to remove cpu.h from exec/exec-all.h, Pierrick Bouvier, 2025/03/10
- [PATCH 09/16] exec/memory-internal: remove dependency on cpu.h, Pierrick Bouvier, 2025/03/10
- [PATCH 10/16] exec/ram_addr: remove dependency on cpu.h, Pierrick Bouvier, 2025/03/10
- [PATCH 12/16] exec/ram_addr: call xen_hvm_modified_memory only if xen is enabled, Pierrick Bouvier, 2025/03/10
- [PATCH 08/16] exec/exec-all: remove dependency on cpu.h, Pierrick Bouvier, 2025/03/10
- [PATCH 11/16] system/kvm: make kvm_flush_coalesced_mmio_buffer() accessible for common code, Pierrick Bouvier, 2025/03/10
- [PATCH 13/16] hw/xen: add stubs for various functions, Pierrick Bouvier, 2025/03/10
- [PATCH 15/16] system/memory: make compilation unit common,
Pierrick Bouvier <=
- [PATCH 14/16] system/physmem: compilation unit is now common to all targets, Pierrick Bouvier, 2025/03/10
- [PATCH 16/16] system/ioport: make compilation unit common, Pierrick Bouvier, 2025/03/10
- Re: [PATCH 00/16] make system memory API available for common code, BALATON Zoltan, 2025/03/10