summary refs log tree commit diff stats
path: root/include/system/ram_addr.h
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@linaro.org>2025-09-29 13:38:52 +0200
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2025-10-07 05:03:56 +0200
commit62c889eb7dfd4da5e30e9496496917bad53851fe (patch)
tree376b2d3de846abefbd6921a8d1407c6216f584f2 /include/system/ram_addr.h
parent84a8e6399bc06550e41f5b2f7b94e4a2213b2ebc (diff)
downloadfocaccia-qemu-62c889eb7dfd4da5e30e9496496917bad53851fe.tar.gz
focaccia-qemu-62c889eb7dfd4da5e30e9496496917bad53851fe.zip
system/physmem: Un-inline cpu_physical_memory_set_dirty_flag()
Avoid maintaining large functions in header, rely on the
linker to optimize at linking time.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20251001175448.18933-11-philmd@linaro.org>
Diffstat (limited to 'include/system/ram_addr.h')
-rw-r--r--include/system/ram_addr.h19
1 files changed, 1 insertions, 18 deletions
diff --git a/include/system/ram_addr.h b/include/system/ram_addr.h
index 2dcca260b2..81d26eb149 100644
--- a/include/system/ram_addr.h
+++ b/include/system/ram_addr.h
@@ -150,24 +150,7 @@ uint8_t cpu_physical_memory_range_includes_clean(ram_addr_t start,
                                                  ram_addr_t length,
                                                  uint8_t mask);
 
-static inline void cpu_physical_memory_set_dirty_flag(ram_addr_t addr,
-                                                      unsigned client)
-{
-    unsigned long page, idx, offset;
-    DirtyMemoryBlocks *blocks;
-
-    assert(client < DIRTY_MEMORY_NUM);
-
-    page = addr >> TARGET_PAGE_BITS;
-    idx = page / DIRTY_MEMORY_BLOCK_SIZE;
-    offset = page % DIRTY_MEMORY_BLOCK_SIZE;
-
-    RCU_READ_LOCK_GUARD();
-
-    blocks = qatomic_rcu_read(&ram_list.dirty_memory[client]);
-
-    set_bit_atomic(offset, blocks->blocks[idx]);
-}
+void cpu_physical_memory_set_dirty_flag(ram_addr_t addr, unsigned client);
 
 static inline void cpu_physical_memory_set_dirty_range(ram_addr_t start,
                                                        ram_addr_t length,