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