[S390] kvm_s390: Fix oops in virtio device detection with "mem="
The current virtio model on s390 has the descriptor page above the main memory. The guest virtio detection will oops if the mem= parameter is used to reduce/change the memory size. We have to use real_memory_size instead of max_pfn to detect the virtio descriptor pages. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
This commit is contained in:
parent
675be97a32
commit
cc835f7872
@ -322,13 +322,13 @@ static int __init kvm_devices_init(void)
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = vmem_add_mapping(PFN_PHYS(max_pfn), PAGE_SIZE);
|
rc = vmem_add_mapping(real_memory_size, PAGE_SIZE);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
s390_root_dev_unregister(kvm_root);
|
s390_root_dev_unregister(kvm_root);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
kvm_devices = (void *) PFN_PHYS(max_pfn);
|
kvm_devices = (void *) real_memory_size;
|
||||||
|
|
||||||
ctl_set_bit(0, 9);
|
ctl_set_bit(0, 9);
|
||||||
register_external_interrupt(0x2603, kvm_extint_handler);
|
register_external_interrupt(0x2603, kvm_extint_handler);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user