Avi Kivity wrote: > On 08/23/2010 12:06 AM, Anthony Liguori wrote: >> On 08/22/2010 03:33 PM, Avi Kivity wrote: >>> On 08/22/2010 11:03 PM, Anthony Liguori wrote: >>>> 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. >>> >>> It's special in that it is connected to a cpu core. So's the RTL8139 >>> device, on one hand connected to a PCI bus, on the other hand >>> connected to a PHY (netdev in qemu). >>> >>>> 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. >>> >>> But then there's a need explicitly not to instantiate it when using >>> -isapc. >> >> No. isapc has nothing to do with whether a CPU has a local APIC. >> >> You don't instantiate the local APIC if you create a 486 CPU. If you >> create an isapc with a pentium processor, it's going to have a local >> APIC although it's irrelevant as it's fully compatible with the 486. >> > > Okay, okay. "But then there's a need explicitly not to instantiate it > when modelling a 486 or lower".
...plus the need to instantiate it (as a dedicated device) when modeling 486 SMP. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux