other: 0.806 instruction: 0.766 device: 0.755 network: 0.747 vnc: 0.635 socket: 0.629 mistranslation: 0.619 semantic: 0.591 boot: 0.505 graphic: 0.379 assembly: 0.307 KVM: 0.253 BIOS doesn't load when read() returns less than the full ROM length 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). This seems to have been fixed by commit 1f40547f5ce0c135faa7d14f066b97002fd8c204. Fix included in QEMU v4.0.0.