mirror of https://github.com/xemu-project/xemu.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 <agraf@suse.de>
Message-id: 1396431718-14908-1-git-send-email-agraf@suse.de
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
784a5592c9
commit
87d8354de3
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue