Loading accel/kvm/kvm-all.c +6 −12 Original line number Diff line number Diff line Loading @@ -197,26 +197,20 @@ static hwaddr kvm_align_section(MemoryRegionSection *section, hwaddr *start) { hwaddr size = int128_get64(section->size); hwaddr delta; *start = section->offset_within_address_space; hwaddr delta, aligned; /* kvm works in page size chunks, but the function may be called with sub-page size and unaligned start address. Pad the start address to next and truncate size to previous page boundary. */ delta = qemu_real_host_page_size - (*start & ~qemu_real_host_page_mask); delta &= ~qemu_real_host_page_mask; *start += delta; aligned = ROUND_UP(section->offset_within_address_space, qemu_real_host_page_size); delta = aligned - section->offset_within_address_space; *start = aligned; if (delta > size) { return 0; } size -= delta; size &= qemu_real_host_page_mask; if (*start & ~qemu_real_host_page_mask) { return 0; } return size; return (size - delta) & qemu_real_host_page_mask; } int kvm_physical_memory_addr_from_host(KVMState *s, void *ram, Loading Loading
accel/kvm/kvm-all.c +6 −12 Original line number Diff line number Diff line Loading @@ -197,26 +197,20 @@ static hwaddr kvm_align_section(MemoryRegionSection *section, hwaddr *start) { hwaddr size = int128_get64(section->size); hwaddr delta; *start = section->offset_within_address_space; hwaddr delta, aligned; /* kvm works in page size chunks, but the function may be called with sub-page size and unaligned start address. Pad the start address to next and truncate size to previous page boundary. */ delta = qemu_real_host_page_size - (*start & ~qemu_real_host_page_mask); delta &= ~qemu_real_host_page_mask; *start += delta; aligned = ROUND_UP(section->offset_within_address_space, qemu_real_host_page_size); delta = aligned - section->offset_within_address_space; *start = aligned; if (delta > size) { return 0; } size -= delta; size &= qemu_real_host_page_mask; if (*start & ~qemu_real_host_page_mask) { return 0; } return size; return (size - delta) & qemu_real_host_page_mask; } int kvm_physical_memory_addr_from_host(KVMState *s, void *ram, Loading