@samitouri / QOSamiQemu / commits / 49a159baae

system/memory: constify section arguments

The sections shouldn't be modified. Reviewed-by: Peter Xu <peterx@redhat.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Acked-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> # for CPR Acked-by: David Hildenbrand (Arm) <david@kernel.org> Link: https://lore.kernel.org/r/20260604-rdm5-v5-3-5768e6a0943d@redhat.com Signed-off-by: Peter Xu <peterx@redhat.com>

Marc-André Lureau committed Jun 4, 2026 at 17:43 UTC 49a159baae1c8cf8a0957c09a4753938d58f486b
10 files changed +35 -35
hw/vfio/cpr-legacy.c
+2 -2
@@ -226,7 +226,7 @@ void vfio_cpr_giommu_remap(VFIOContainer *bcontainer,
226 memory_region_iommu_replay(giommu->iommu_mr, &giommu->n);
227 }
228
229 -static int vfio_cpr_rdm_remap(MemoryRegionSection *section, void *opaque)
229 +static int vfio_cpr_rdm_remap(const MemoryRegionSection *section, void *opaque)
230 {
231 RamDiscardListener *rdl = opaque;
232
@@ -242,7 +242,7 @@ static int vfio_cpr_rdm_remap(MemoryRegionSection *section, void *opaque)
242 * directly, which calls vfio_legacy_cpr_dma_map.
243 */
244 bool vfio_cpr_ram_discard_replay_populated(VFIOContainer *bcontainer,
245 - MemoryRegionSection *section)
245 + const MemoryRegionSection *section)
246 {
247 RamDiscardManager *rdm = memory_region_get_ram_discard_manager(section->mr);
248 VFIORamDiscardListener *vrdl =
hw/vfio/listener.c
+5 -5
@@ -201,7 +201,7 @@ out:
201 }
202
203 static void vfio_ram_discard_notify_discard(RamDiscardListener *rdl,
204 - MemoryRegionSection *section)
204 + const MemoryRegionSection *section)
205 {
206 VFIORamDiscardListener *vrdl = container_of(rdl, VFIORamDiscardListener,
207 listener);
@@ -219,7 +219,7 @@ static void vfio_ram_discard_notify_discard(RamDiscardListener *rdl,
219 }
220
221 static int vfio_ram_discard_notify_populate(RamDiscardListener *rdl,
222 - MemoryRegionSection *section)
222 + const MemoryRegionSection *section)
223 {
224 VFIORamDiscardListener *vrdl = container_of(rdl, VFIORamDiscardListener,
225 listener);
@@ -461,7 +461,7 @@ static void vfio_device_error_append(VFIODevice *vbasedev, Error **errp)
461 }
462
463 VFIORamDiscardListener *vfio_find_ram_discard_listener(
464 - VFIOContainer *bcontainer, MemoryRegionSection *section)
464 + VFIOContainer *bcontainer, const MemoryRegionSection *section)
465 {
466 VFIORamDiscardListener *vrdl;
467
@@ -1149,8 +1149,8 @@ out:
1149 }
1150 }
1151
1152 -static int vfio_ram_discard_query_dirty_bitmap(MemoryRegionSection *section,
1153 - void *opaque)
1152 +static int vfio_ram_discard_query_dirty_bitmap(const MemoryRegionSection *section,
1153 + void *opaque)
1154 {
1155 const hwaddr size = int128_get64(section->size);
1156 const hwaddr iova = section->offset_within_address_space;
hw/virtio/virtio-mem.c
+5 -5
@@ -262,7 +262,7 @@ static int virtio_mem_for_each_plugged_range(VirtIOMEM *vmem, void *arg,
262 typedef int (*virtio_mem_section_cb)(MemoryRegionSection *s, void *arg);
263
264 static int virtio_mem_for_each_plugged_section(const VirtIOMEM *vmem,
265 - MemoryRegionSection *s,
265 + const MemoryRegionSection *s,
266 void *arg,
267 virtio_mem_section_cb cb)
268 {
@@ -294,7 +294,7 @@ static int virtio_mem_for_each_plugged_section(const VirtIOMEM *vmem,
294 }
295
296 static int virtio_mem_for_each_unplugged_section(const VirtIOMEM *vmem,
297 - MemoryRegionSection *s,
297 + const MemoryRegionSection *s,
298 void *arg,
299 virtio_mem_section_cb cb)
300 {
@@ -1680,7 +1680,7 @@ static int virtio_mem_rds_replay_cb(MemoryRegionSection *s, void *arg)
1680 }
1681
1682 static int virtio_mem_rds_replay_populated(const RamDiscardSource *rds,
1683 - MemoryRegionSection *s,
1683 + const MemoryRegionSection *s,
1684 ReplayRamDiscardState replay_fn,
1685 void *opaque)
1686 {
@@ -1692,11 +1692,11 @@ static int virtio_mem_rds_replay_populated(const RamDiscardSource *rds,
1692
1693 g_assert(s->mr == &vmem->memdev->mr);
1694 return virtio_mem_for_each_plugged_section(vmem, s, &data,
1695 - virtio_mem_rds_replay_cb);
1695 + virtio_mem_rds_replay_cb);
1696 }
1697
1698 static int virtio_mem_rds_replay_discarded(const RamDiscardSource *rds,
1699 - MemoryRegionSection *s,
1699 + const MemoryRegionSection *s,
1700 ReplayRamDiscardState replay_fn,
1701 void *opaque)
1702 {
include/hw/vfio/vfio-container.h
+1 -1
@@ -277,7 +277,7 @@ struct VFIOIOMMUClass {
277 };
278
279 VFIORamDiscardListener *vfio_find_ram_discard_listener(
280 - VFIOContainer *bcontainer, MemoryRegionSection *section);
280 + VFIOContainer *bcontainer, const MemoryRegionSection *section);
281
282 void vfio_container_region_add(VFIOContainer *bcontainer,
283 MemoryRegionSection *section, bool cpr_remap);
include/hw/vfio/vfio-cpr.h
+1 -1
@@ -69,7 +69,7 @@ void vfio_cpr_giommu_remap(struct VFIOContainer *bcontainer,
69 MemoryRegionSection *section);
70
71 bool vfio_cpr_ram_discard_replay_populated(
72 - struct VFIOContainer *bcontainer, MemoryRegionSection *section);
72 + struct VFIOContainer *bcontainer, const MemoryRegionSection *section);
73
74 void vfio_cpr_save_vector_fd(struct VFIOPCIDevice *vdev, const char *name,
75 int nr, int fd);
include/system/ram-discard-manager.h
+7 -7
@@ -26,9 +26,9 @@ DECLARE_OBJ_CHECKERS(RamDiscardSource, RamDiscardSourceClass,
26
27 typedef struct RamDiscardListener RamDiscardListener;
28 typedef int (*NotifyRamPopulate)(RamDiscardListener *rdl,
29 - MemoryRegionSection *section);
29 + const MemoryRegionSection *section);
30 typedef void (*NotifyRamDiscard)(RamDiscardListener *rdl,
31 - MemoryRegionSection *section);
31 + const MemoryRegionSection *section);
32
33 struct RamDiscardListener {
34 /*
@@ -86,7 +86,7 @@ static inline void ram_discard_listener_init(RamDiscardListener *rdl,
86 *
87 * Returns 0 on success, or a negative error if failed.
88 */
89 -typedef int (*ReplayRamDiscardState)(MemoryRegionSection *section,
89 +typedef int (*ReplayRamDiscardState)(const MemoryRegionSection *section,
90 void *opaque);
91
92 /*
@@ -151,7 +151,7 @@ struct RamDiscardSourceClass {
151 * Returns 0 on success, or a negative error if any notification failed.
152 */
153 int (*replay_populated)(const RamDiscardSource *rds,
154 - MemoryRegionSection *section,
154 + const MemoryRegionSection *section,
155 ReplayRamDiscardState replay_fn, void *opaque);
156
157 /**
@@ -168,7 +168,7 @@ struct RamDiscardSourceClass {
168 * Returns 0 on success, or a negative error if any notification failed.
169 */
170 int (*replay_discarded)(const RamDiscardSource *rds,
171 - MemoryRegionSection *section,
171 + const MemoryRegionSection *section,
172 ReplayRamDiscardState replay_fn, void *opaque);
173 };
174
@@ -237,7 +237,7 @@ bool ram_discard_manager_is_populated(const RamDiscardManager *rdm,
237 * Returns 0 on success, or a negative error if any notification failed.
238 */
239 int ram_discard_manager_replay_populated(const RamDiscardManager *rdm,
240 - MemoryRegionSection *section,
240 + const MemoryRegionSection *section,
241 ReplayRamDiscardState replay_fn,
242 void *opaque);
243
@@ -255,7 +255,7 @@ int ram_discard_manager_replay_populated(const RamDiscardManager *rdm,
255 * Returns 0 on success, or a negative error if any notification failed.
256 */
257 int ram_discard_manager_replay_discarded(const RamDiscardManager *rdm,
258 - MemoryRegionSection *section,
258 + const MemoryRegionSection *section,
259 ReplayRamDiscardState replay_fn,
260 void *opaque);
261
migration/ram.c
+3 -3
@@ -860,7 +860,7 @@ static inline bool migration_bitmap_clear_dirty(RAMState *rs,
860 return ret;
861 }
862
863 -static int dirty_bitmap_clear_section(MemoryRegionSection *section,
863 +static int dirty_bitmap_clear_section(const MemoryRegionSection *section,
864 void *opaque)
865 {
866 const hwaddr offset = section->offset_within_region;
@@ -1588,7 +1588,7 @@ static inline void populate_read_range(RAMBlock *block, ram_addr_t offset,
1588 }
1589 }
1590
1591 -static inline int populate_read_section(MemoryRegionSection *section,
1591 +static inline int populate_read_section(const MemoryRegionSection *section,
1592 void *opaque)
1593 {
1594 const hwaddr size = int128_get64(section->size);
@@ -1663,7 +1663,7 @@ void ram_write_tracking_prepare(void)
1663 }
1664 }
1665
1666 -static inline int uffd_protect_section(MemoryRegionSection *section,
1666 +static inline int uffd_protect_section(const MemoryRegionSection *section,
1667 void *opaque)
1668 {
1669 const hwaddr size = int128_get64(section->size);
system/memory_mapping.c
+2 -2
@@ -196,7 +196,7 @@ typedef struct GuestPhysListener {
196 } GuestPhysListener;
197
198 static void guest_phys_block_add_section(GuestPhysListener *g,
199 - MemoryRegionSection *section)
199 + const MemoryRegionSection *section)
200 {
201 const hwaddr target_start = section->offset_within_address_space;
202 const hwaddr target_end = target_start + int128_get64(section->size);
@@ -248,7 +248,7 @@ static void guest_phys_block_add_section(GuestPhysListener *g,
248 #endif
249 }
250
251 -static int guest_phys_ram_populate_cb(MemoryRegionSection *section,
251 +static int guest_phys_ram_populate_cb(const MemoryRegionSection *section,
252 void *opaque)
253 {
254 GuestPhysListener *g = opaque;
system/ram-block-attributes.c
+4 -4
@@ -37,7 +37,7 @@ typedef int (*ram_block_attributes_section_cb)(MemoryRegionSection *s,
37
38 static int
39 ram_block_attributes_for_each_populated_section(const RamBlockAttributes *attr,
40 - MemoryRegionSection *section,
40 + const MemoryRegionSection *section,
41 void *arg,
42 ram_block_attributes_section_cb cb)
43 {
@@ -78,7 +78,7 @@ ram_block_attributes_for_each_populated_section(const RamBlockAttributes *attr,
78
79 static int
80 ram_block_attributes_for_each_discarded_section(const RamBlockAttributes *attr,
81 - MemoryRegionSection *section,
81 + const MemoryRegionSection *section,
82 void *arg,
83 ram_block_attributes_section_cb cb)
84 {
@@ -161,7 +161,7 @@ ram_block_attributes_rds_is_populated(const RamDiscardSource *rds,
161
162 static int
163 ram_block_attributes_rds_replay_populated(const RamDiscardSource *rds,
164 - MemoryRegionSection *section,
164 + const MemoryRegionSection *section,
165 ReplayRamDiscardState replay_fn,
166 void *opaque)
167 {
@@ -175,7 +175,7 @@ ram_block_attributes_rds_replay_populated(const RamDiscardSource *rds,
175
176 static int
177 ram_block_attributes_rds_replay_discarded(const RamDiscardSource *rds,
178 - MemoryRegionSection *section,
178 + const MemoryRegionSection *section,
179 ReplayRamDiscardState replay_fn,
180 void *opaque)
181 {
system/ram-discard-manager.c
+5 -5
@@ -28,7 +28,7 @@ static bool ram_discard_source_is_populated(const RamDiscardSource *rds,
28 }
29
30 static int ram_discard_source_replay_populated(const RamDiscardSource *rds,
31 - MemoryRegionSection *section,
31 + const MemoryRegionSection *section,
32 ReplayRamDiscardState replay_fn,
33 void *opaque)
34 {
@@ -39,7 +39,7 @@ static int ram_discard_source_replay_populated(const RamDiscardSource *rds,
39 }
40
41 static int ram_discard_source_replay_discarded(const RamDiscardSource *rds,
42 - MemoryRegionSection *section,
42 + const MemoryRegionSection *section,
43 ReplayRamDiscardState replay_fn,
44 void *opaque)
45 {
@@ -74,7 +74,7 @@ bool ram_discard_manager_is_populated(const RamDiscardManager *rdm,
74 }
75
76 int ram_discard_manager_replay_populated(const RamDiscardManager *rdm,
77 - MemoryRegionSection *section,
77 + const MemoryRegionSection *section,
78 ReplayRamDiscardState replay_fn,
79 void *opaque)
80 {
@@ -83,7 +83,7 @@ int ram_discard_manager_replay_populated(const RamDiscardManager *rdm,
83 }
84
85 int ram_discard_manager_replay_discarded(const RamDiscardManager *rdm,
86 - MemoryRegionSection *section,
86 + const MemoryRegionSection *section,
87 ReplayRamDiscardState replay_fn,
88 void *opaque)
89 {
@@ -164,7 +164,7 @@ void ram_discard_manager_notify_discard_all(RamDiscardManager *rdm)
164 }
165 }
166
167 -static int rdm_populate_cb(MemoryRegionSection *section, void *opaque)
167 +static int rdm_populate_cb(const MemoryRegionSection *section, void *opaque)
168 {
169 RamDiscardListener *rdl = opaque;
170