Avi Kivity wrote:
The problem is, the in-kernel apic is not part of the qemu source
tree. If we add a field to the qemu apic, then we would break the
in-kernel apic and vice-versa. It's far easier to just have the
in-kernel apic as a separate model.
You need to handle it anyway due to save/restore; that is the new
field and whatever functionality it has must be optional.
Not necessarily. If it's a bug fix, we may disable the older versions
of savevm (which we have to do from time to time).
That doesn't mean they need to be separate devices.
But they are. The in-kernel device models are not mere accelerations.
There are features that are only enabled with in-kernel device models
(like PCI passthrough). In fact, in-kernel PIT is not at all an
acceleration, it's there because it's functionally different.
The sync stuff is really ugly too. It would be much cleaner to have a
separate state for the in-kernel device models that saved the structures
from the kernel directly instead of having to translate between
formats. More straight forward code means it's all easier to
understand, easier to debug, etc.
Regards,
Anthony Liguori
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html