mirror of https://github.com/xqemu/xqemu.git
kvm: use start + size for memory ranges
Convert kvm_lookup_matching_slot(). Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170911174933.20789-4-david@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
5ea69c2e36
commit
2747e71672
|
@ -172,7 +172,7 @@ static KVMSlot *kvm_alloc_slot(KVMMemoryListener *kml)
|
||||||
|
|
||||||
static KVMSlot *kvm_lookup_matching_slot(KVMMemoryListener *kml,
|
static KVMSlot *kvm_lookup_matching_slot(KVMMemoryListener *kml,
|
||||||
hwaddr start_addr,
|
hwaddr start_addr,
|
||||||
hwaddr end_addr)
|
hwaddr size)
|
||||||
{
|
{
|
||||||
KVMState *s = kvm_state;
|
KVMState *s = kvm_state;
|
||||||
int i;
|
int i;
|
||||||
|
@ -180,8 +180,7 @@ static KVMSlot *kvm_lookup_matching_slot(KVMMemoryListener *kml,
|
||||||
for (i = 0; i < s->nr_slots; i++) {
|
for (i = 0; i < s->nr_slots; i++) {
|
||||||
KVMSlot *mem = &kml->slots[i];
|
KVMSlot *mem = &kml->slots[i];
|
||||||
|
|
||||||
if (start_addr == mem->start_addr &&
|
if (start_addr == mem->start_addr && size == mem->memory_size) {
|
||||||
end_addr == mem->start_addr + mem->memory_size) {
|
|
||||||
return mem;
|
return mem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -414,7 +413,7 @@ static int kvm_section_update_flags(KVMMemoryListener *kml,
|
||||||
{
|
{
|
||||||
hwaddr phys_addr = section->offset_within_address_space;
|
hwaddr phys_addr = section->offset_within_address_space;
|
||||||
ram_addr_t size = int128_get64(section->size);
|
ram_addr_t size = int128_get64(section->size);
|
||||||
KVMSlot *mem = kvm_lookup_matching_slot(kml, phys_addr, phys_addr + size);
|
KVMSlot *mem = kvm_lookup_matching_slot(kml, phys_addr, size);
|
||||||
|
|
||||||
if (mem == NULL) {
|
if (mem == NULL) {
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue