On Wed, Oct 25, 2023 at 11:07:33AM -0300, Fabiano Rosas wrote: > >> +static int parse_ramblock_fixed_ram(QEMUFile *f, RAMBlock *block, > >> ram_addr_t length) > >> +{ > >> + g_autofree unsigned long *bitmap = NULL; > >> + struct FixedRamHeader header; > >> + size_t bitmap_size; > >> + long num_pages; > >> + int ret = 0; > >> + > >> + ret = fixed_ram_read_header(f, &header); > >> + if (ret < 0) { > >> + error_report("Error reading fixed-ram header"); > >> + return -EINVAL; > >> + } > >> + > >> + block->pages_offset = header.pages_offset; > > > > Do you think it is worth sanity checking that 'pages_offset' is aligned > > in some way. > > > > It is nice that we have flexibility to change the alignment in future > > if we find 1 MB is not optimal, so I wouldn't want to force 1MB align > > check htere. Perhaps we could at least sanity check for alignment at > > TARGET_PAGE_SIZE, to detect a gross data corruption problem ? > > > > I don't see why not. I'll add it.
Is there any explanation on why that 1MB offset, and how the number is chosen? Thanks, -- Peter Xu