Re: [kvm-unit-tests PATCH 0/5] Collection of tests for canonical checks on LA57 enabled CPUs

Sean Christopherson
2025-02-14T21:25:25Z

On Fri, Sep 06, 2024, Maxim Levitsky wrote:
> This is a set of tests that checks KVM and CPU behaviour in regard to
> canonical checks of various msrs, segment bases, instructions that
> were found to ignore CR4.LA57 on CPUs that support 5 level paging.

I have a variety of comments, but nothing that meaningfully changes the
functionality of the testcases (mostly cosmetic stuff). I have very limited
cycles for KUT right now, so I'm going to send a v2 with my changes, but I'll
respond to each patch with my feedback/changes. Please holler if anything is
too objectionable.

> Maxim Levitsky (5):
> x86: add _safe and _fep_safe variants to segment base load
> instructions
> x86: add a few functions for gdt manipulation
> x86: move struct invpcid_desc descriptor to processor.h
> Add a test for writing canonical values to various msrs and fields
> nVMX: add a test for canonical checks of various host state vmcs12
> fields.
>
> lib/x86/desc.c | 39 ++++-
> lib/x86/desc.h | 9 +-
> lib/x86/msr.h | 42 ++++++
> lib/x86/processor.h | 58 +++++++-
> x86/Makefile.x86_64 | 1 +
> x86/canonical_57.c | 346 ++++++++++++++++++++++++++++++++++++++++++++
> x86/pcid.c | 6 -
> x86/vmx_tests.c | 183 +++++++++++++++++++++++

There's no unittest.cfg change, which makes it annoyingly difficult to run the
new tests.

And there's already kinda sorta an LA57 test, la57.c, which just needs minor
tweaking to play nice with x86-64, so I think the easiest approach is to modify
la57.c to run on x86-64 and then lands these testcases there.

> 8 files changed, 667 insertions(+), 17 deletions(-)
> create mode 100644 x86/canonical_57.c