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