On 19.11.2012, at 23:47, David Gibson wrote:
> On Tue, Nov 20, 2012 at 06:54:20AM +1100, Benjamin Herrenschmidt wrote:
>> On Mon, 2012-11-19 at 17:22 +0100, Alexander Graf wrote:
>>>> Currently, the pseries machine initializes the cpus, then the XICS
>>>> interrupt controller. However, to support the upcoming in-kernel XICS
>>>> implementation we will need to initialize the irq controller before the
>>>> vcpus. This patch makes the necesssary rearrangement. This means the
>>>> xics init code can no longer auto-detect the number of cpus ("interrupt
>>>> servers" in XICS terminology) and so we must pass that in explicitly from
>>>> the platform code.
>>>
>>> Does this still hold true with the new in-kernel interrupt controller
>>> workflow?
>>
>> We need to look into this. The in-kernel ICPs will still certainly be
>> created early along with the VCPUs, however we might be able to delay
>> the creation of the qemu emulation when not using the former.
>
> I'd really prefer not to have two different initialization orders in
> qemu though. I think we'll want the ICP initialization first for CPU
> hotplug one day anyway.
I'd just leave this patch out until you have an implementation of the new
in-kernel interrupt controller model as discussed during KVM Forum. If it still
makes sense by then, we can always apply it along with it :). You most likely
want to reshuffle code by then anyway, so this patch would just be needless
churn.
Alex