> Patches 1-4 are okay, though I think it would be easier to add a -M > q35-lite too that just removes the legacy devices. The -M q35-lite > machine doesn't have to support versioning for now.
Okay, this is also good to have in my mind. > > As you might expect, I don't agree with removing the > firmware. There's > room for much more optimization before duplicating firmware code in > QEMU. I'd rather see numbers for: > > 1) qboot optimizations: adopt the fw_cfg DMA interface instead of the > cbfs flash hack (so that -kernel works), drop PCI bridge > initialization, > copy less than 64K of memory from ROM to 0xf0000; I can do the evaluation on qboot. Also adding Amnon Ilan, to see if there is some thing we can do for SeaBios. > > 2) Linux optimizations: using an uncompressed image to avoid the cost > of > copying and decompressing. QEMU can already load the image at the > right > place and the real mode stub can do little more than GDT/IDT setup. This works surely. I actually followed your suggestion in v1 to make kernel multiboot-compatible and then load that kernel in QEMU directly (Also skipped firmware but some changes in patch 11 would move from QEMU to guest kernel). This way we also gain benefit of doing mmap kernel as you talked below. Not sure if this is something you can accpet. > > 3) PAM optimizations: for -M q35-lite initialize the machine with RAM > from 0xc0000 to 1MB. > > I know that you ultimately would like to mmap the kernel, but I would > like to have a better understanding of where the time is spent. > > Thanks, > > Paolo