selftests: KVM: avoid failures due to reserved HyperTransport region
AMD proceessors define an address range that is reserved by HyperTransport and causes a failure if used for guest physical addresses. Avoid selftests failures by reserving those guest physical addresses; the rules are: - On parts with <40 bits, its fully hidden from software. - Before Fam17h, it was always 12G just below 1T, even if there was more RAM above this location. In this case we just not use any RAM above 1T. - On Fam17h and later, it is variable based on SME, and is either just below 2^48 (no encryption) or 2^43 (encryption). Fixes: ef4c9f4f ("KVM: selftests: Fix 32-bit truncation of vm_get_max_gfn()") Cc: stable@vger.kernel.org Cc: David Matlack <dmatlack@google.com> Reported-by:Maxim Levitsky <mlevitsk@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20210805105423.412878-1-pbonzini@redhat.com> Reviewed-by:
Sean Christopherson <seanjc@google.com> Tested-by:
Sean Christopherson <seanjc@google.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
Showing
- tools/testing/selftests/kvm/include/kvm_util.h 9 additions, 0 deletionstools/testing/selftests/kvm/include/kvm_util.h
- tools/testing/selftests/kvm/lib/kvm_util.c 1 addition, 1 deletiontools/testing/selftests/kvm/lib/kvm_util.c
- tools/testing/selftests/kvm/lib/x86_64/processor.c 68 additions, 0 deletionstools/testing/selftests/kvm/lib/x86_64/processor.c
Please register or sign in to comment