On 21.06.2013, at 14:03, Benjamin Herrenschmidt wrote:
> On Fri, 2013-06-21 at 12:33 +0200, Alexander Graf wrote:
>>> +int kvm_arch_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
>>> +{
>>> + if (!kvm_msi_via_irqfd_allowed)
>>> + return -1;
>>> +
>>> + msg.address -= spapr->msi_win_addr;
>>> + return (msg.address >> 2) + msg.data;
>>
>> This breaks BookE.
>
> It might be a bit more constructive to explain why and maybe propose a
> solution... Alexey doesn't necessarily know the specifics of the BookE
> stuff :-)
Oh, I thought that was obvious. BookE also has in-kernel emulation and also
does set kvm_msi_via_irqfd_allowed. The code above is spapr specific and would
simply rewrite valid BookE MPIC addresses into something broken.
In fact, where does the spapr variable come from at all here?
Alex