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