On target-ppc, the kvm-openpic memory region is part of the E500-CCSR memory region. On the kernel side, the MPIC is mapped at the same offset as the kvm-openpic within the address space.
When adding the PCI BAR0 memory region, an alias is created to point to the E500-CCSR memory region. This results in firing the kvm_openpic_region_add once more, since kvm-openpic is part of the latter. Only this time, the offset is wrong - it's part of the PCI memory region. This leads to the in-kernel MPIC to be remapped at a wrong address, and thus all traps to the kvm-openpic address to be emulated in userspace. The fix consists in an additional filter in kvm_openpic_region_add to consider only addresses matching the start of the kvm-openpic memory region.