From: "Radim Krčmář" <rkrcmar@redhat.com>
To: Wanpeng Li <kernellwp@gmail.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
kvm <kvm@vger.kernel.org>, Paolo Bonzini <pbonzini@redhat.com>,
Wanpeng Li <wanpeng.li@hotmail.com>
Subject: Re: [PATCH v2 4/4] KVM: LAPIC: Don't silently accept bad vectors
Date: Fri, 13 Oct 2017 22:31:11 +0200 [thread overview]
Message-ID: <20171013203110.GA30745@flask> (raw)
In-Reply-To: <20171013173620.GB16116@flask>
2017-10-13 19:36+0200, Radim Krčmář:
> 2017-10-13 09:17+0800, Wanpeng Li:
> > 2017-10-04 22:44 GMT+08:00 Radim Krčmář <rkrcmar@redhat.com>:
> > > 2017-10-04 22:16+0800, Wanpeng Li:
> > >> 2017-10-04 20:01 GMT+08:00 Radim Krčmář <rkrcmar@redhat.com>:
> > >> > 2017-10-04 15:56+0800, Wanpeng Li:
> > >> >> 2017-10-04 1:53 GMT+08:00 Radim Krčmář <rkrcmar@redhat.com>:
> > >> >> > 2017-09-28 18:04-0700, Wanpeng Li:
> > >> >> >> @@ -946,6 +965,11 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode,
> > >> >> >> int result = 0;
> > >> >> >> struct kvm_vcpu *vcpu = apic->vcpu;
> > >> >> >>
> > >> >> >> + if (unlikely(vector < 16) && delivery_mode == APIC_DM_FIXED) {
> > >> >> >> + apic_error(apic, APIC_ESR_RECVILL);
> > >> >> >
> > >> >> > The error is also triggered if lowest priority is supported and tries to
> > >> >> > deliver an invalid vector.
> > >> >>
> > >> >> Could you point out this in SDM? :)
> > >> >
> > >> > In section 10.5.3 Error Handling:
> > >> >
> > >> > If the local APIC does not support the sending of lowest-priority IPIs
> > >> > and software writes the ICR to send a lowest-priority IPI with an
> > >> > illegal vector, the local APIC sets only the “redirectible IPI” error
> > >> > bit.
> > >> >
> > >> > Hence, if local APIC does support lowest-priority, then it throws the
> > >> > same error as fixed. (KVM does support lowest-priority.)
> > >>
> > >> Yeah, I read the section before but I misunderstand it. It seems that
> > >> the section means it just occurs when the local APIC does not support
> > >> the sending of lowest-priority IPIs?
> > >
> > > I think so.
> >
> > I see Virtualbox just captures Fixed delivery mode for error handling.
>
> Hm, it doesn't even inject an error on destination of the
> lowest-priority interrupt and just drop it?
>
> I can't interpret the SDM in any other way, though:
>
> When an interrupt vector in the range of 0 to 15 is sent or received
> through the local APIC, the APIC indicates an illegal vector in its
> Error Status Register (see Section 10.5.3, “Error Handling”).
>
> and we support lowest-priority interrupts, because if we didn't, then
>
> The interrupt is not processed and hence the “Send Illegal Vector” bit
> is not set in the ESR.
>
> I'll go for a quick bare-metal test ...
Turns out my machine doesn't support for lowest priority IPIs (probably
got killed with FSB), so all I get is error 0x10.
next prev parent reply other threads:[~2017-10-13 20:31 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-29 1:04 [PATCH v2 0/4] KVM: LAPIC: Rework lapic timer to behave more like real-hardware Wanpeng Li
2017-09-29 1:04 ` [PATCH v2 1/4] KVM: LAPIC: Fix lapic timer mode transition Wanpeng Li
2017-10-03 17:05 ` Radim Krčmář
2017-10-04 1:45 ` Wanpeng Li
2017-10-04 13:21 ` Radim Krčmář
2017-10-04 13:50 ` Wanpeng Li
2017-10-04 14:02 ` Wanpeng Li
2017-09-29 1:04 ` [PATCH v2 2/4] KVM: LAPIC: Keep timer running when switching between one-shot and periodic mode Wanpeng Li
2017-10-03 17:06 ` Radim Krčmář
2017-10-04 1:46 ` Wanpeng Li
2017-10-04 13:33 ` Radim Krčmář
2017-10-04 13:57 ` Wanpeng Li
2017-09-29 1:04 ` [PATCH v2 3/4] KVM: LAPIC: Apply change to TDCR right away to the timer Wanpeng Li
2017-10-03 17:28 ` Radim Krčmář
2017-10-04 1:59 ` Wanpeng Li
2017-10-04 12:43 ` Radim Krčmář
2017-09-29 1:04 ` [PATCH v2 4/4] KVM: LAPIC: Don't silently accept bad vectors Wanpeng Li
2017-10-03 17:53 ` Radim Krčmář
2017-10-04 7:56 ` Wanpeng Li
2017-10-04 12:01 ` Radim Krčmář
2017-10-04 14:16 ` Wanpeng Li
2017-10-04 14:44 ` Radim Krčmář
2017-10-13 1:17 ` Wanpeng Li
2017-10-13 17:36 ` Radim Krčmář
2017-10-13 20:31 ` Radim Krčmář [this message]
2017-10-15 2:41 ` Wanpeng Li
2017-10-05 10:57 ` [PATCH v2 0/4] KVM: LAPIC: Rework lapic timer to behave more like real-hardware Wanpeng Li
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=20171013203110.GA30745@flask \
--to=rkrcmar@redhat.com \
--cc=kernellwp@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=wanpeng.li@hotmail.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.