FAILED: patch "[PATCH] KVM: selftests: introduce P47V64 for s390x" failed to apply to 5.12-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 1bc603af73dd8fb2934306e861009c54f973dcc2 Mon Sep 17 00:00:00 2001
From: Christian Borntraeger <[email protected]>
Date: Tue, 8 Jun 2021 14:39:54 +0200
Subject: [PATCH] KVM: selftests: introduce P47V64 for s390x
s390x can have up to 47bits of physical guest and 64bits of virtual address bits. Add a new address mode to avoid errors of testcases going beyond 47bits.
Signed-off-by Christian Borntraeger <[email protected]>
Message-Id: <[email protected]>
Fixes ef4c9f4f6546 ("KVM: selftests: Fix 32-bit truncation of vm_get_max_gfn()")
Reviewed-by David Matlack <[email protected]>
Signed-off-by Paolo Bonzini <[email protected]>
tools/testing/selftests/kvm/include/kvm_util.h +2 -1
@@ -43,6 +43,7 @@ enum vm_guest_mode {VM_MODE_P40V48_4K ,VM_MODE_P40V48_64K ,VM_MODE_PXXV48_4K ,/* For 48bits VA but ANY bits PA */ +VM_MODE_P47V64_4K , NUM_VM_MODES, };
@@ -60,7 +61,7 @@ enum vm_guest_mode {#elif defined(__s390x__) -#define VM_MODE_DEFAULT VM_MODE_P52V48_4K +#define VM_MODE_DEFAULT VM_MODE_P47V64_4K#define MIN_PAGE_SHIFT 12U#define ptes_per_page (page_size) ((page_size) / 16)
tools/testing/selftests/kvm/lib/kvm_util.c +5 -0
@@ -175,6 +175,7 @@ const char *vm_guest_mode_string(uint32_t i) [VM_MODE_P40V48_4K] = "PA-bits:40, VA-bits:48, 4K pages", [VM_MODE_P40V48_64K] = "PA-bits:40, VA-bits:48, 64K pages", [VM_MODE_PXXV48_4K] = "PA-bits:ANY, VA-bits:48, 4K pages", + [VM_MODE_P47V64_4K ] ="PA-bits:47, VA-bits:64, 4K pages" , };_Static_assert (sizeof (strings)/sizeof (char *) ==NUM_VM_MODES ,"Missing new mode strings?" );
@@ -192,6 +193,7 @@ const struct vm_guest_mode_params vm_guest_mode_params[] = { { 40, 48, 0x1000, 12 }, { 40, 48, 0x10000, 16 }, { 0, 0, 0x1000, 12 }, + { 47, 64, 0x1000, 12 }, };_Static_assert (sizeof (vm_guest_mode_params)/sizeof (struct vm_guest_mode_params ) ==NUM_VM_MODES ,"Missing new mode params?" );
@@ -277,6 +279,9 @@ struct kvm_vm *vm_create(enum vm_guest_mode mode, uint64_t phy_pages, int perm)TEST_FAIL ("VM_MODE_PXXV48_4K not supported on non-x86 platforms" );#endif break ; +case VM_MODE_P47V64_4K : + vm->pgtable_levels =5 ; +break ;default :TEST_FAIL ("Unknown guest mode, mode: 0x%x" , mode); }