On Mon, Apr 29, 2013 at 2:10 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: > Il 29/04/2013 20:23, Jordan Justen ha scritto: >> On Mon, Apr 29, 2013 at 1:20 AM, Paolo Bonzini <pbonz...@redhat.com> wrote: >>> Il 28/04/2013 10:32, Jordan Justen ha scritto: >>>> Now KVM can support a flash memory. This feature depends on >>>> KVM_CAP_READONLY_MEM, which was introduced in Linux 3.7. >>> >>> I don't think we can require such a new kernel to run KVM. IIUC, an >>> older kernel would just fail to start, right? >> >> Would it also be unacceptable to alter the behavior based on the kvm >> capabilities? So, we can't use rom-mode for old kvm, but flash mode >> for new kvm? (In other words, behave similarly to qemu 1.2-1.4 in kvm >> vs. non-kvm mode.) > > No, unfortunately the host versions must not affect the hardware.
I don't think this is as black & white as you guys are claiming. The rom in qemu is read-only. In kvm, it has been read-write. That is different behavior. I assume with kvm readonly support, at some point the rom may be read-only or read/write under kvm depending on the capabilities. Anyway, would this work: if (-pflash is not used) { qemu and kvm always use a 'rom' mode } else if (non-kvm or kvm read-only capable) { PC flash used } else { die "kvm+pflash requires read-only capability" } Someone could create a flash capable VM on qemu or newer kvm, and then have trouble with it on an older kvm, but the chance of potential issues seems greatly reduced. For people using rom firmware, this should have no impact. -Jordan