Commit e6f4afe029ae21853fd6625d94e9e0b2caa4defd
Committed by
Anthony Liguori
1 parent
582af0da
kvm: Relax aligment check of kvm_set_phys_mem
There is no need to reject an unaligned memory region registration if the region will be I/O memory and it will not split an existing KVM slot. This fixes KVM support on PPC. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing
1 changed file
with
9 additions
and
1 deletions
kvm-all.c
| ... | ... | @@ -583,7 +583,15 @@ void kvm_set_phys_mem(target_phys_addr_t start_addr, |
| 583 | 583 | int err; |
| 584 | 584 | |
| 585 | 585 | if (start_addr & ~TARGET_PAGE_MASK) { |
| 586 | - fprintf(stderr, "Only page-aligned memory slots supported\n"); | |
| 586 | + if (flags >= IO_MEM_UNASSIGNED) { | |
| 587 | + if (!kvm_lookup_overlapping_slot(s, start_addr, | |
| 588 | + start_addr + size)) { | |
| 589 | + return; | |
| 590 | + } | |
| 591 | + fprintf(stderr, "Unaligned split of a KVM memory slot\n"); | |
| 592 | + } else { | |
| 593 | + fprintf(stderr, "Only page-aligned memory slots supported\n"); | |
| 594 | + } | |
| 587 | 595 | abort(); |
| 588 | 596 | } |
| 589 | 597 | ... | ... |