From bf90a4aa5e3b4823f139d7ea4567b0e162316098 Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Fri, 29 May 2026 11:21:21 +0200 Subject: [PATCH] tools/bitops: adjust bitmap_or() interface to match hypervisor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adjust the only toolstack caller to use the new interface. No functional change intended. Signed-off-by: Roger Pau Monné Acked-by: Anthony PERARD Release-Acked-by: Oleksii Kurochko --- tools/include/xen-tools/bitops.h | 7 ++++--- tools/libs/guest/xg_sr_save.c | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/include/xen-tools/bitops.h b/tools/include/xen-tools/bitops.h index 3b98fba6d7..29587e89fa 100644 --- a/tools/include/xen-tools/bitops.h +++ b/tools/include/xen-tools/bitops.h @@ -81,14 +81,15 @@ static inline int test_and_set_bit(unsigned long nr, void *addr) return oldbit; } -static inline void bitmap_or(void *_dst, const void *_other, +static inline void bitmap_or(void *_dst, const void *_src1, const void *_src2, unsigned long nr_bits) { char *dst = _dst; - const char *other = _other; + const char *src1 = _src1, *src2 = _src2; unsigned long i; + for ( i = 0; i < bitmap_size(nr_bits); ++i ) - dst[i] |= other[i]; + dst[i] = src1[i] | src2[i]; } #endif /* __XEN_TOOLS_BITOPS_H__ */ diff --git a/tools/libs/guest/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c index 3b2c5222e4..fdbceab52e 100644 --- a/tools/libs/guest/xg_sr_save.c +++ b/tools/libs/guest/xg_sr_save.c @@ -668,7 +668,8 @@ static int suspend_and_send_dirty(struct xc_sr_context *ctx) else xc_set_progress_prefix(xch, "Checkpointed save"); - bitmap_or(dirty_bitmap, ctx->save.deferred_pages, ctx->save.p2m_size); + bitmap_or(dirty_bitmap, dirty_bitmap, ctx->save.deferred_pages, + ctx->save.p2m_size); if ( !ctx->save.live && ctx->stream_type == XC_STREAM_COLO ) {