> > I think a lightweight q35 platform that can run the usual firmware could > be acceptable in QEMU.
After re-thought the target usage model, I'm not sure if this is a good idea. The original usage model is to replace kvm-tool with QEMU for Clear Containers (https://clearlinux.org/features/clear-containers). It's not going to present the guest a real PC platform, but instead, a totally virtual platform. Every little bit boot time saving is important because we are trying to achieve comparable result with that for Linux native container. With this usage model, I doubt introducing a firmware layer is a good idea: On one side, even with optimized and compact qboot it still takes us ~15ms. This is not a small value because current Linux kernel takes only ~50ms (and we are still on the way to optimize it). And when you look at the SeaBIOS or qboot, almost all the code are useless for this usage model. They are doing things that is important for traditional PC booting but cost 15ms doing useless things for us (It is really not easy to save 15ms in other place, for example, in Linux. Personally I tend to change the architecture for this new usage model, e.g. eliminate firmware). On the other side, even boot the new pc-lite platform with firmware, it does not mean it can support non-Linux system like Windows. So generally I don't see the benefit of introducing a firmware layer. Besides, I'm also not quite sure if build around Q35 is the best solution: The problem with Q35 is some features like SMM/SMRAM/PAM slow done the booting even we actually never use them. While removing these features can cause guest see different feature set for a same device and it also prevents us to do further optimizations on that in guest. Really appreciate if you could give some more suggestions or other usage models if you have. Thanks, Chao