From: Alexander Graf Date: Wed, 2 Apr 2014 09:41:58 +0000 (+0200) Subject: PPC: openpic_kvm: Filter memory events properly X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.1~386^2~42^2~36 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=87d8354de3560eb705bcee83142d775f703177a6;p=sdk%2Femulator%2Fqemu.git PPC: openpic_kvm: Filter memory events properly Commit 6f1834a2b exposed a bug in openpic_kvm where we don't filter for memory events that only happen to the region we want to know events about. Add proper filtering, fixing the e500plat target with KVM. Signed-off-by: Alexander Graf Message-id: 1396431718-14908-1-git-send-email-agraf@suse.de Signed-off-by: Peter Maydell --- diff --git a/hw/intc/openpic_kvm.c b/hw/intc/openpic_kvm.c index afa604d59b..6635407b8b 100644 --- a/hw/intc/openpic_kvm.c +++ b/hw/intc/openpic_kvm.c @@ -118,6 +118,11 @@ static void kvm_openpic_region_add(MemoryListener *listener, abort(); } + /* Ignore events on regions that are not us */ + if (section->mr != &opp->mem) { + return; + } + reg_base = section->offset_within_address_space; attr.group = KVM_DEV_MPIC_GRP_MISC; @@ -140,6 +145,11 @@ static void kvm_openpic_region_del(MemoryListener *listener, uint64_t reg_base = 0; int ret; + /* Ignore events on regions that are not us */ + if (section->mr != &opp->mem) { + return; + } + attr.group = KVM_DEV_MPIC_GRP_MISC; attr.attr = KVM_DEV_MPIC_BASE_ADDR; attr.addr = (uint64_t)(unsigned long)®_base;