On Thu, 18 Mar 2021 at 10:18, Dr. David Alan Gilbert <dgilb...@redhat.com> wrote: > diff --git a/migration/ram.c b/migration/ram.c > index 1ee7ff9c6d..f053d45f3c 100644 > --- a/migration/ram.c > +++ b/migration/ram.c > @@ -81,6 +81,8 @@ > /* 0x80 is reserved in migration.h start with 0x100 next */ > #define RAM_SAVE_FLAG_COMPRESS_PAGE 0x100 > > +#define RAM_SAVE_FLAG__MAX RAM_SAVE_FLAG_COMPRESS_PAGE > + > static inline bool is_zero_range(uint8_t *p, uint64_t size) > { > return buffer_is_zero(p, size); > @@ -4101,5 +4103,10 @@ static SaveVMHandlers savevm_ram_handlers = { > void ram_mig_init(void) > { > qemu_mutex_init(&XBZRLE.lock); > +#ifndef TARGET_PAGE_BITS_VARY > + QEMU_BUILD_BUG_ON(RAM_SAVE_FLAG__MAX >= TARGET_PAGE_SIZE); > +#else > + QEMU_BUILD_BUG_ON(RAM_SAVE_FLAG__MAX >= (1 << TARGET_PAGE_BITS_MIN)); > +#endif
You should just be able to check against TARGET_PAGE_BITS_MIN; we set that for both the TARGET_PAGE_BITS_VARY and the don't-vary case. thanks -- PMM