pvtime uses ARM_PVTIME_BASE instead of ARM_PVTIME_SIZE for the size of the memory region given to the guest, which causes to the following error when creating a flash device (via the -F/--flash command line argument): Error: RAM (read-only) region [2000000-27fffff] would overlap RAM region [1020000-203ffff] The read-only region represents the guest memory where the flash image is copied by kvmtool. The region starting at 0x102_0000 (ARM_PVTIME_BASE) is the pvtime region, which should be 64K in size. kvmtool erroneously creates the region to be ARM_PVTIME_BASE in size instead, and the last address becomes: ARM_PVTIME_BASE + ARM_PVTIME_BASE - 1 = 0x102_0000 + 0x102_0000 - 1 = 0x203_ffff which corresponds to the end of the region from the error message. Do the right thing and make the pvtime memory region ARM_PVTIME_SIZE = 64K bytes, as it was intended. Fixes: 7d4671e5d372 ("aarch64: Add stolen time support") Reported-by: Pierre Gondois <pierre.gondois@xxxxxxx> Signed-off-by: Alexandru Elisei <alexandru.elisei@xxxxxxx> --- arm/aarch64/pvtime.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/arm/aarch64/pvtime.c b/arm/aarch64/pvtime.c index a49cf3ed5478..2933ac7ca959 100644 --- a/arm/aarch64/pvtime.c +++ b/arm/aarch64/pvtime.c @@ -14,15 +14,15 @@ static int pvtime__alloc_region(struct kvm *kvm) char *mem; int ret = 0; - mem = mmap(NULL, ARM_PVTIME_BASE, PROT_RW, + mem = mmap(NULL, ARM_PVTIME_SIZE, PROT_RW, MAP_ANON_NORESERVE, -1, 0); if (mem == MAP_FAILED) return -errno; ret = kvm__register_ram(kvm, ARM_PVTIME_BASE, - ARM_PVTIME_BASE, mem); + ARM_PVTIME_SIZE, mem); if (ret) { - munmap(mem, ARM_PVTIME_BASE); + munmap(mem, ARM_PVTIME_SIZE); return ret; } @@ -36,8 +36,8 @@ static int pvtime__teardown_region(struct kvm *kvm) return 0; kvm__destroy_mem(kvm, ARM_PVTIME_BASE, - ARM_PVTIME_BASE, usr_mem); - munmap(usr_mem, ARM_PVTIME_BASE); + ARM_PVTIME_SIZE, usr_mem); + munmap(usr_mem, ARM_PVTIME_SIZE); usr_mem = NULL; return 0; } -- 2.36.1 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm