On 08/22/2010 02:44 PM, Avi Kivity wrote:
No more MI diamond and all devices have DeviceStates.
Coincidentally, it matches more closely how hardware works..
Well, I agree, but I honestly lost the context. How does this relate
to the APIC and cpu hotplug?
My original assertion was that the local APIC is not a DeviceState, but
rather it's a CPU feature.
If you look at some of the magic that apic.c has to do in the IO
callbacks, it should be clear that it's special. In the not too distant
future, I'd like to move apic.c to target-i386. There should be no need
to explicitly instantiate it when you instantiate a CPU.
BTW, this gets a bit funky with KVM. If we declare that the lapic is
part of the CPU, then in an ideal world we would have interfaces for the
I/O APIC as part of the KVM interface so we could implement the I/O APIC
in userspace with the lapic implemented in the kernel.
Regards,
Anthony Liguori