All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Robert Hoo <robert.hu@linux.intel.com>
Cc: kvm@vger.kernel.org, bsd@redhat.com
Subject: Re: [kvm-unit-tests PATCH] x86: vmx_tests: pml: Skip PML test if it's not enabled in underlying
Date: Tue, 27 Jul 2021 00:20:14 +0000	[thread overview]
Message-ID: <YP9RPhWwI1At3fLX@google.com> (raw)
In-Reply-To: <1627179854-1878-1-git-send-email-robert.hu@linux.intel.com>

On Sun, Jul 25, 2021, Robert Hoo wrote:
> PML in VM depends on "enable PML" in VM-execution control, check this
> before vmwrite to PMLADDR, because this field doesn't exist if PML is
> disabled in VM-execution control.

No, the field doesn't exist if the CPU doesn't support PML.  Whether or not PML
is enabled in the execution controls is irrelevant.  pml_init() checks for both
secondary execution controls and PML support (with bad indentation).

	if (!(ctrl_cpu_rev[0].clr & CPU_SECONDARY) ||
		!(ctrl_cpu_rev[1].clr & CPU_PML)) {
		printf("\tPML is not supported");
		return VMX_TEST_EXIT;
	}

	pml_log = alloc_page();
	vmcs_write(PMLADDR, (u64)pml_log);
	vmcs_write(GUEST_PML_INDEX, PML_INDEX - 1);

> Signed-off-by: Robert Hoo <robert.hu@linux.intel.com>
> ---
>  x86/vmx_tests.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c
> index 4f712eb..8663112 100644
> --- a/x86/vmx_tests.c
> +++ b/x86/vmx_tests.c
> @@ -1502,13 +1502,16 @@ static int pml_init(struct vmcs *vmcs)
>  		return VMX_TEST_EXIT;
>  	}
>  
> +	ctrl_cpu = vmcs_read(CPU_EXEC_CTRL1) & CPU_PML;
> +	if (!ctrl_cpu) {
> +		printf("\tPML is not enabled\n");
> +		return VMX_TEST_EXIT;
> +	}
> +
>  	pml_log = alloc_page();
>  	vmcs_write(PMLADDR, (u64)pml_log);
>  	vmcs_write(GUEST_PML_INDEX, PML_INDEX - 1);
>  
> -	ctrl_cpu = vmcs_read(CPU_EXEC_CTRL1) | CPU_PML;
> -	vmcs_write(CPU_EXEC_CTRL1, ctrl_cpu);
> -
>  	return VMX_TEST_START;
>  }
>  
> -- 
> 1.8.3.1
> 

  reply	other threads:[~2021-07-27  0:20 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-25  2:24 [kvm-unit-tests PATCH] x86: vmx_tests: pml: Skip PML test if it's not enabled in underlying Robert Hoo
2021-07-27  0:20 ` Sean Christopherson [this message]
2021-07-27  3:12   ` Robert Hoo

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=YP9RPhWwI1At3fLX@google.com \
    --to=seanjc@google.com \
    --cc=bsd@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=robert.hu@linux.intel.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.