From: Sheng Yang <sheng@linux.intel.com>
To: Avi Kivity <avi@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>, kvm@vger.kernel.org
Subject: Re: [PATCH 1/2] KVM: Discard shadow_mt_mask
Date: Mon, 27 Apr 2009 19:44:51 +0800 [thread overview]
Message-ID: <200904271944.51775.sheng@linux.intel.com> (raw)
In-Reply-To: <1240825665-15016-1-git-send-email-sheng@linux.intel.com>
On Monday 27 April 2009 17:47:44 Sheng Yang wrote:
> mt_mask is out of date, now it have only been used as a flag to indicate if
> TDP enabled. Get rid of it and use tdp_enabled instead.
>
(seems my gmail account delayed?)
This one break SVM bisect. Would update soon.
--
regards
Yang, Sheng
> Signed-off-by: Sheng Yang <sheng@linux.intel.com>
> ---
> arch/x86/include/asm/kvm_host.h | 2 +-
> arch/x86/kvm/mmu.c | 8 +++-----
> arch/x86/kvm/vmx.c | 3 +--
> arch/x86/kvm/x86.c | 2 +-
> 4 files changed, 6 insertions(+), 9 deletions(-)
>
> diff --git a/arch/x86/include/asm/kvm_host.h
> b/arch/x86/include/asm/kvm_host.h index cb306cf..ba6906f 100644
> --- a/arch/x86/include/asm/kvm_host.h
> +++ b/arch/x86/include/asm/kvm_host.h
> @@ -537,7 +537,7 @@ int kvm_mmu_setup(struct kvm_vcpu *vcpu);
> void kvm_mmu_set_nonpresent_ptes(u64 trap_pte, u64 notrap_pte);
> void kvm_mmu_set_base_ptes(u64 base_pte);
> void kvm_mmu_set_mask_ptes(u64 user_mask, u64 accessed_mask,
> - u64 dirty_mask, u64 nx_mask, u64 x_mask, u64 mt_mask);
> + u64 dirty_mask, u64 nx_mask, u64 x_mask);
>
> int kvm_mmu_reset_context(struct kvm_vcpu *vcpu);
> void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot);
> diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
> index 5b79afa..55c6923 100644
> --- a/arch/x86/kvm/mmu.c
> +++ b/arch/x86/kvm/mmu.c
> @@ -178,7 +178,6 @@ static u64 __read_mostly shadow_x_mask; /* mutual
> exclusive with nx_mask */ static u64 __read_mostly shadow_user_mask;
> static u64 __read_mostly shadow_accessed_mask;
> static u64 __read_mostly shadow_dirty_mask;
> -static u64 __read_mostly shadow_mt_mask;
>
> static inline u64 rsvd_bits(int s, int e)
> {
> @@ -199,14 +198,13 @@ void kvm_mmu_set_base_ptes(u64 base_pte)
> EXPORT_SYMBOL_GPL(kvm_mmu_set_base_ptes);
>
> void kvm_mmu_set_mask_ptes(u64 user_mask, u64 accessed_mask,
> - u64 dirty_mask, u64 nx_mask, u64 x_mask, u64 mt_mask)
> + u64 dirty_mask, u64 nx_mask, u64 x_mask)
> {
> shadow_user_mask = user_mask;
> shadow_accessed_mask = accessed_mask;
> shadow_dirty_mask = dirty_mask;
> shadow_nx_mask = nx_mask;
> shadow_x_mask = x_mask;
> - shadow_mt_mask = mt_mask;
> }
> EXPORT_SYMBOL_GPL(kvm_mmu_set_mask_ptes);
>
> @@ -1670,7 +1668,7 @@ static int set_spte(struct kvm_vcpu *vcpu, u64
> *shadow_pte, {
> u64 spte;
> int ret = 0;
> - u64 mt_mask = shadow_mt_mask;
> + u64 mt_mask;
>
> /*
> * We don't set the accessed bit, since we sometimes want to see
> @@ -1690,7 +1688,7 @@ static int set_spte(struct kvm_vcpu *vcpu, u64
> *shadow_pte, spte |= shadow_user_mask;
> if (largepage)
> spte |= PT_PAGE_SIZE_MASK;
> - if (mt_mask) {
> + if (tdp_enabled) {
> if (!kvm_is_mmio_pfn(pfn)) {
> mt_mask = get_memory_type(vcpu, gfn) <<
> kvm_x86_ops->get_mt_mask_shift();
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index c6997c0..85db8b2 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -3796,8 +3796,7 @@ static int __init vmx_init(void)
> kvm_mmu_set_base_ptes(VMX_EPT_READABLE_MASK |
> VMX_EPT_WRITABLE_MASK);
> kvm_mmu_set_mask_ptes(0ull, 0ull, 0ull, 0ull,
> - VMX_EPT_EXECUTABLE_MASK,
> - VMX_EPT_DEFAULT_MT << VMX_EPT_MT_EPTE_SHIFT);
> + VMX_EPT_EXECUTABLE_MASK);
> kvm_enable_tdp();
> } else
> kvm_disable_tdp();
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 8cb8542..76adda4 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -2768,7 +2768,7 @@ int kvm_arch_init(void *opaque)
> kvm_mmu_set_nonpresent_ptes(0ull, 0ull);
> kvm_mmu_set_base_ptes(PT_PRESENT_MASK);
> kvm_mmu_set_mask_ptes(PT_USER_MASK, PT_ACCESSED_MASK,
> - PT_DIRTY_MASK, PT64_NX_MASK, 0, 0);
> + PT_DIRTY_MASK, PT64_NX_MASK, 0);
>
> for_each_possible_cpu(cpu)
> per_cpu(cpu_tsc_khz, cpu) = tsc_khz;
next prev parent reply other threads:[~2009-04-27 11:45 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-27 9:47 [PATCH 1/2] KVM: Discard shadow_mt_mask Sheng Yang
2009-04-27 9:47 ` [PATCH 2/2] KVM: Enable snooping control for supported hardware Sheng Yang
2009-04-27 11:30 ` [PATCH 1/2] KVM: Discard shadow_mt_mask Sheng Yang
2009-04-27 11:44 ` Sheng Yang [this message]
2009-04-27 22:27 ` Marcelo Tosatti
2009-04-28 0:54 ` Sheng Yang
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=200904271944.51775.sheng@linux.intel.com \
--to=sheng@linux.intel.com \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.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.