On 03/25/19 14:11, Peter Maydell wrote: > On Mon, 25 Mar 2019 at 12:53, Xiang Zheng <zhengxia...@huawei.com> wrote: >> >> Currently we fill the VIRT_FLASH space with two 64MB NOR images when >> using persistent UEFI variables on QEMU. Actually we only use a very >> small part of the memory while the rest significant large part of >> memory is wasted. >> >> This patch creates and maps a variable size of flash device instead of >> a mandatory 64MB one to save memory. >> >> Signed-off-by: Xiang Zheng <zhengxia...@huawei.com> >> --- >> >> This patch might be insufficient since it also needs to modify the flash size >> in ACPI and DTB. >> >> BTW, I don't understand why it requires the two NOR images to be exactly 64MB >> in size when using -pflash. > > I don't think we should do this. The board should in general > create the same hardware visible to the guest, not change > it based on subtle things like the size of the image files.
I consider this question/behavior board-specific. For the "virt" board, I agree with you (Peter), simply because that's how the "virt" board has always worked. (See also the tangentially related series [Qemu-devel] [PATCH v8 0/2] pflash: Require backend size to match device, improve errors at 20190319163551.32499-1-armbru@redhat.com">http://mid.mail-archive.com/20190319163551.32499-1-armbru@redhat.com . This series still lets each board decide the question for itself, but it improves error detection and reporting.) Thanks, Laszlo > The reason why the flash images must be 64MB in size > when using -pflash is that they are the backing store > for a writable device. Suppose you have 1MB of data in your > backing image that you pass to QEMU and then the guest writes > to the last block of the flash device. The new data > written by the guest to the end of the device has to be > stored somewhere, so the file has to be large enough > to cover the whole of the flash area. > > thanks > -- PMM >