qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 0/7] APIC/IOAPIC cleanup


From: Avi Kivity
Subject: Re: [Qemu-devel] [PATCH v2 0/7] APIC/IOAPIC cleanup
Date: Sun, 22 Aug 2010 23:33:18 +0300
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100806 Fedora/3.1.2-1.fc13 Thunderbird/3.1.2

 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.


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.

We discussed that once (or rather, twice), but the conclusion was it was too much work for the gain, especially as we'd have to keep supporting the old interface forever.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]