From: Manali Shukla <manali.shukla@amd.com>
To: <pbonzini@redhat.com>, <seanjc@google.com>
Cc: <kvm@vger.kernel.org>
Subject: [kvm-unit-tests PATCH v4 0/8] Move npt test cases and NPT code improvements
Date: Thu, 28 Apr 2022 07:08:43 +0000 [thread overview]
Message-ID: <20220428070851.21985-1-manali.shukla@amd.com> (raw)
If __setup_vm() is changed to setup_vm(), KUT will build tests with
PT_USER_MASK set on all PTEs. It is a better idea to move nNPT tests to their
own file so that tests don't need to fiddle with page tables midway.
The quick approach to do this would be to turn the current main into a small
helper, without calling __setup_vm() from helper.
setup_mmu_range() function in vm.c was modified to allocate new user pages to
implement nested page table.
Current implementation of nested page table does the page table build up
statistically with 2048 PTEs and one pml4 entry. With newly implemented
routine, nested page table can be implemented dynamically based on the RAM size
of VM which enables us to have separate memory ranges to test various npt test
cases.
Based on this implementation, minimal changes were required to be done in below
mentioned existing APIs:
npt_get_pde(), npt_get_pte(), npt_get_pdpe().
v1 -> v2
Added new patch for building up a nested page table dynamically and did minimal
changes required to make it adaptable with old test cases.
v2 -> v3
Added new patch to change setup_mmu_range to use it in implementation of nested
page table.
Added new patches to correct indentation errors in svm.c, svm_npt.c and
svm_tests.c.
Used scripts/Lindent from linux source code to fix indentation errors.
v3 -> v4
Lindent script was not working as expected. So corrected indentation errors in
svm.c and svm_tests.c without using Lindent
Manali Shukla (8):
x86: nSVM: Move common functionality of the main() to helper
run_svm_tests
x86: nSVM: Move all nNPT test cases from svm_tests.c to a separate
file.
x86: nSVM: Allow nSVM tests run with PT_USER_MASK enabled
x86: Improve set_mmu_range() to implement npt
x86: nSVM: Build up the nested page table dynamically
x86: nSVM: Correct indentation for svm.c
x86: nSVM: Correct indentation for svm_tests.c part-1
x86: nSVM: Correct indentation for svm_tests.c part-2
lib/x86/vm.c | 37 +-
lib/x86/vm.h | 3 +
x86/Makefile.common | 2 +
x86/Makefile.x86_64 | 2 +
x86/svm.c | 227 ++-
x86/svm.h | 5 +-
x86/svm_npt.c | 391 +++++
x86/svm_tests.c | 3365 +++++++++++++++++++------------------------
x86/unittests.cfg | 6 +
9 files changed, 2035 insertions(+), 2003 deletions(-)
create mode 100644 x86/svm_npt.c
--
2.30.2
next reply other threads:[~2022-04-28 7:09 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-28 7:08 Manali Shukla [this message]
2022-04-28 7:08 ` [kvm-unit-tests PATCH v4 1/8] x86: nSVM: Move common functionality of the main() to helper run_svm_tests Manali Shukla
2022-04-28 7:08 ` [kvm-unit-tests PATCH v4 2/8] x86: nSVM: Move all nNPT test cases from svm_tests.c to a separate file Manali Shukla
2022-06-15 23:43 ` Sean Christopherson
2022-06-20 2:03 ` Shukla, Manali
2022-04-28 7:08 ` [kvm-unit-tests PATCH v4 3/8] x86: nSVM: Allow nSVM tests run with PT_USER_MASK enabled Manali Shukla
2022-06-15 23:47 ` Sean Christopherson
2022-04-28 7:08 ` [kvm-unit-tests PATCH v4 4/8] x86: Improve set_mmu_range() to implement npt Manali Shukla
2022-06-15 23:58 ` Sean Christopherson
2022-06-16 0:04 ` Sean Christopherson
2022-06-22 15:32 ` Shukla, Manali
2022-06-24 0:46 ` Sean Christopherson
2022-04-28 7:08 ` [kvm-unit-tests PATCH v4 5/8] x86: nSVM: Build up the nested page table dynamically Manali Shukla
2022-06-16 0:06 ` Sean Christopherson
2022-04-28 7:08 ` [kvm-unit-tests PATCH v4 6/8] x86: nSVM: Correct indentation for svm.c Manali Shukla
2022-04-28 7:16 ` [kvm-unit-tests PATCH v4 7/8] x86: nSVM: Correct indentation for svm_tests.c part-1 Manali Shukla
2022-04-28 8:05 ` [kvm-unit-tests PATCH v4 8/8] x86: nSVM: Correct indentation for svm_tests.c part-2 Manali Shukla
2022-05-09 4:12 ` [kvm-unit-tests PATCH v4 0/8] Move npt test cases and NPT code improvements Shukla, Manali
2022-05-16 4:45 ` Shukla, Manali
2022-06-09 7:29 ` Shukla, Manali
2022-06-14 0:56 ` Sean Christopherson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220428070851.21985-1-manali.shukla@amd.com \
--to=manali.shukla@amd.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.