BIOS doesn't load when read() returns less than the full ROM length
Bug #714629 reported by
Matthew Bloch
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
When qemu is running over a 9p filesystem (e.g. when running underneath -virtfs of another qemu), and probably some other network filesystems, it fails to read its BIOS image. This is because it uses a single low-level read() call on the bios.bin, asking for the full file. However read() may return less than the full length, and it's the caller's responsibility to call it repeatedly if necessary. When read does come up short, qemu doesn't repeat the call, and reports an error instead. The attached patch fixes the one problem I saw, but I haven't tried to cover the general case (e.g. extension ROMs).
To post a comment you must log in.
This seems to have been fixed by commit 1f40547f5ce0c13 5faa7d14f066b97 002fd8c204.