From: Sean Christopherson <seanjc@google.com>
To: Maxim Levitsky <mlevitsk@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
Marc Orr <marcorr@google.com>, Ben Gardon <bgardon@google.com>,
Venkatesh Srinivas <venkateshs@chromium.org>
Subject: Re: [PATCH 5/6] KVM: VMX: Always intercept accesses to unsupported "extended" x2APIC regs
Date: Mon, 9 Jan 2023 16:32:57 +0000 [thread overview]
Message-ID: <Y7xBuYBYCfEgS9sI@google.com> (raw)
In-Reply-To: <5e50b87a4c7d19f9386bac1aa7061675018a2caa.camel@redhat.com>
On Sun, Jan 08, 2023, Maxim Levitsky wrote:
> On Sat, 2023-01-07 at 01:10 +0000, Sean Christopherson wrote:
> > static void vmx_update_msr_bitmap_x2apic(struct kvm_vcpu *vcpu)
> > {
> > + /*
> > + * x2APIC indices for 64-bit accesses into the RDMSR and WRMSR halves
> > + * of the MSR bitmap. KVM emulates APIC registers up through 0x3f0,
> > + * i.e. MSR 0x83f, and so only needs to dynamically manipulate 64 bits.
> > + */
> The above comment is better to be placed down below, near the actual write,
> otherwise it is confusing.
Can you elaborate on why it's confusing? The intent of this specific comment is
to capture why the index calculations use BITS_PER_LONG_LONG and sizeof(u64).
> > + const int read_idx = APIC_BASE_MSR / BITS_PER_LONG_LONG;
> > + const int write_idx = read_idx + (0x800 / sizeof(u64));
> > struct vcpu_vmx *vmx = to_vmx(vcpu);
> > + u64 *msr_bitmap = (u64 *)vmx->vmcs01.msr_bitmap;
> > u8 mode;
> >
> > if (!cpu_has_vmx_msr_bitmap())
> > @@ -4058,7 +4049,18 @@ static void vmx_update_msr_bitmap_x2apic(struct kvm_vcpu *vcpu)
> >
> > vmx->x2apic_msr_bitmap_mode = mode;
> >
> > - vmx_reset_x2apic_msrs(vcpu, mode);
> > + /*
> > + * Reset the bitmap for MSRs 0x800 - 0x83f. Leave AMD's uber-extended
> > + * registers (0x840 and above) intercepted, KVM doesn't support them.
>
> I don't think AMD calls them uber-extended. Just extended.
Yeah, I took some creative liberaties. I want to avoid confusion with the more
common use of Extended APIC (x2APIC).
next prev parent reply other threads:[~2023-01-09 16:33 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-07 1:10 [PATCH 0/6] KVM: x86: x2APIC reserved bits/regs fixes Sean Christopherson
2023-01-07 1:10 ` [PATCH 1/6] KVM: x86: Inject #GP if WRMSR sets reserved bits in APIC Self-IPI Sean Christopherson
2023-01-08 16:40 ` Maxim Levitsky
2023-01-07 1:10 ` [PATCH 2/6] KVM: x86: Inject #GP on x2APIC WRMSR that sets reserved bits 63:32 Sean Christopherson
2023-01-08 16:41 ` Maxim Levitsky
2023-01-07 1:10 ` [PATCH 3/6] KVM: x86: Mark x2APIC DFR reg as non-existent for x2APIC Sean Christopherson
2023-01-08 16:43 ` Maxim Levitsky
2023-01-07 1:10 ` [PATCH 4/6] KVM: x86: Split out logic to generate "readable" APIC regs mask to helper Sean Christopherson
2023-01-08 17:38 ` Maxim Levitsky
2023-01-07 1:10 ` [PATCH 5/6] KVM: VMX: Always intercept accesses to unsupported "extended" x2APIC regs Sean Christopherson
2023-01-08 18:07 ` Maxim Levitsky
2023-01-09 16:32 ` Sean Christopherson [this message]
2023-01-09 17:25 ` Jim Mattson
2023-01-07 1:10 ` [PATCH 6/6] KVM: VMX: Intercept reads to invalid and write-only x2APIC registers Sean Christopherson
2023-01-08 18:09 ` Maxim Levitsky
2023-01-13 18:06 ` [PATCH 0/6] KVM: x86: x2APIC reserved bits/regs fixes Paolo Bonzini
2023-01-13 18:41 ` Sean Christopherson
2023-01-20 0:19 ` 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=Y7xBuYBYCfEgS9sI@google.com \
--to=seanjc@google.com \
--cc=bgardon@google.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcorr@google.com \
--cc=mlevitsk@redhat.com \
--cc=pbonzini@redhat.com \
--cc=venkateshs@chromium.org \
/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.