From: Kevin O'Connor <kevin@koconnor.net>
To: "Gonglei (Arei)" <arei.gonglei@huawei.com>
Cc: "Huangweidong (C)" <weidong.huang@huawei.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
Radim Krcmar <rkrcmar@redhat.com>,
"seabios@seabios.org" <seabios@seabios.org>,
"Xulei (Stone)" <stone.xulei@huawei.com>,
qemu-devel <qemu-devel@nongnu.org>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform
Date: Sun, 20 Dec 2015 09:33:20 -0500 [thread overview]
Message-ID: <20151220143320.GA23942@morn.lan> (raw)
In-Reply-To: <33183CC9F5247A488A2544077AF19020B02B7BC2@SZXEMA503-MBS.china.huawei.com>
On Sun, Dec 20, 2015 at 09:49:54AM +0000, Gonglei (Arei) wrote:
> > From: Kevin O'Connor [mailto:kevin@koconnor.net]
> > Sent: Saturday, December 19, 2015 11:12 PM
> > On Sat, Dec 19, 2015 at 12:03:15PM +0000, Gonglei (Arei) wrote:
> > > Maybe the root cause is not NMI but INTR, so yield() can open hardware
> > interrupt,
> > > And then execute interrupt handler, but the interrupt handler make the
> > SeaBIOS
> > > stack broken, so that the BSP can't execute the instruction and occur
> > exception,
> > > VM_EXIT to Kmod, which is an infinite loop. But I don't have any proofs except
> > > the surface phenomenon.
> >
> > I can't see any reason why allowing interrupts at this location would
> > be a problem.
> >
> Does it have any relationship with *extra stack* of SeaBIOS?
None that I can see. Also, the kvm trace seems to show the code
trying to execute at rip=0x03 - that will crash long before the extra
stack is used.
> > > Kevin, can we drop yield() in smp_setup() ?
> >
> > It's possible to eliminate this instance of yield, but I think it
> > would just push the crash to the next time interrupts are enabled.
> >
> Perhaps. I'm not sure.
>
> > > Is it really useful and allowable for SeaBIOS? Maybe for other components?
> > > I'm not sure. Because we found that when SeaBIOS is booting, if we inject a
> > > NMI by QMP, the guest will *stuck*. And the kvm tracing log is the same with
> > > the current problem.
> >
> > If you apply the patches you had to prevent that NMI crash problem,
> > does it also prevent the above crash?
> >
> Yes, but we cannot prevent the NMI injection (though I'll submit some patches to
> forbid users' NMI injection after NMI_EN disabled by RTC bit7 of port 0x70).
>
-Kevin
next prev parent reply other threads:[~2015-12-20 14:33 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-03 6:58 [Qemu-devel] [PATCH] SeaBios: Fix reset procedure reentrancy problem on qemu-kvm platform Xulei (Stone, Euler)
2015-11-04 0:48 ` Gonglei
2015-11-04 17:42 ` Kevin O'Connor
2015-11-06 9:12 ` Xulei (Stone)
2015-11-09 13:32 ` Kevin O'Connor
2015-11-09 20:06 ` Kevin O'Connor
2015-11-09 20:27 ` Kevin O'Connor
2015-11-19 1:04 ` Xulei (Stone)
2015-11-19 12:42 ` Xulei (Stone)
2015-11-19 13:40 ` Kevin O'Connor
2015-11-20 2:05 ` Xulei (Stone)
[not found] ` <33183CC9F5247A488A2544077AF19020B02B72BA@SZXEMA503-MBS.china.huawei.com>
2015-12-18 23:13 ` Kevin O'Connor
2015-12-19 6:28 ` Gonglei (Arei)
2015-12-19 12:03 ` Gonglei (Arei)
2015-12-19 15:11 ` Kevin O'Connor
2015-12-20 9:49 ` Gonglei (Arei)
2015-12-20 14:33 ` Kevin O'Connor [this message]
2015-12-21 9:41 ` Gonglei (Arei)
2015-12-21 18:47 ` Kevin O'Connor
2015-12-22 2:14 ` Gonglei (Arei)
2015-12-22 3:15 ` Xulei (Stone)
2015-12-22 15:38 ` Kevin O'Connor
2015-12-22 15:51 ` Kevin O'Connor
2015-12-23 6:40 ` Gonglei (Arei)
2015-12-23 18:06 ` Kevin O'Connor
2015-12-19 1:08 ` Gonglei (Arei)
-- strict thread matches above, loose matches on Subject: below --
2015-11-04 0:19 Xulei (Stone, Euler)
2015-11-03 6:29 Xulei (Stone, Euler)
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=20151220143320.GA23942@morn.lan \
--to=kevin@koconnor.net \
--cc=arei.gonglei@huawei.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rkrcmar@redhat.com \
--cc=seabios@seabios.org \
--cc=stone.xulei@huawei.com \
--cc=weidong.huang@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).