From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: "Kevin O'Connor" <kevin@koconnor.net>
Cc: Bandan Das <bsd@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
kraxel@redhat.com, Andrey Korolyov <andrey@xdel.ru>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] E5-2620v2 - emulation stop error
Date: Wed, 11 Mar 2015 19:33:37 +0000 [thread overview]
Message-ID: <20150311193337.GA13162@work-vm> (raw)
In-Reply-To: <20150311191928.GA14695@morn.localdomain>
* Kevin O'Connor (kevin@koconnor.net) wrote:
> On Wed, Mar 11, 2015 at 02:45:31PM -0400, Kevin O'Connor wrote:
> > On Wed, Mar 11, 2015 at 02:40:39PM -0400, Kevin O'Connor wrote:
> > > For what it's worth, I can't seem to trigger the problem if I move the
> > > cmos read above the SIPI/LAPIC code (see patch below).
> >
> > Ugh!
> >
> > That's a seabios bug. Main processor modifies the rtc index
> > (rtc_read()) while APs try to clear the NMI bit by modifying the rtc
> > index (romlayout.S:transition32).
> >
> > I'll put together a fix.
>
> The seabios patch below resolves the issue for me.
Thanks! Looks good here.
Andrey, Paolo, Bandan: Does it fix it for you as well?
Dave
> -Kevin
>
>
> --- a/src/romlayout.S
> +++ b/src/romlayout.S
> @@ -22,7 +22,8 @@
> // %edx = return location (in 32bit mode)
> // Clobbers: ecx, flags, segment registers, cr0, idt/gdt
> DECLFUNC transition32
> -transition32_for_smi:
> +transition32_nmi_off:
> + // transition32 when NMI and A20 are already initialized
> movl %eax, %ecx
> jmp 1f
> transition32:
> @@ -205,7 +206,7 @@ __farcall16:
> entry_smi:
> // Transition to 32bit mode.
> movl $1f + BUILD_BIOS_ADDR, %edx
> - jmp transition32_for_smi
> + jmp transition32_nmi_off
> .code32
> 1: movl $BUILD_SMM_ADDR + 0x8000, %esp
> calll _cfunc32flat_handle_smi - BUILD_BIOS_ADDR
> @@ -216,8 +217,10 @@ entry_smi:
> DECLFUNC entry_smp
> entry_smp:
> // Transition to 32bit mode.
> + cli
> + cld
> movl $2f + BUILD_BIOS_ADDR, %edx
> - jmp transition32
> + jmp transition32_nmi_off
> .code32
> // Acquire lock and take ownership of shared stack
> 1: rep ; nop
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
WARNING: multiple messages have this Message-ID (diff)
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Kevin O'Connor <kevin@koconnor.net>
Cc: Andrey Korolyov <andrey@xdel.ru>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
Bandan Das <bsd@redhat.com>,
kraxel@redhat.com, Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] E5-2620v2 - emulation stop error
Date: Wed, 11 Mar 2015 19:33:37 +0000 [thread overview]
Message-ID: <20150311193337.GA13162@work-vm> (raw)
In-Reply-To: <20150311191928.GA14695@morn.localdomain>
* Kevin O'Connor (kevin@koconnor.net) wrote:
> On Wed, Mar 11, 2015 at 02:45:31PM -0400, Kevin O'Connor wrote:
> > On Wed, Mar 11, 2015 at 02:40:39PM -0400, Kevin O'Connor wrote:
> > > For what it's worth, I can't seem to trigger the problem if I move the
> > > cmos read above the SIPI/LAPIC code (see patch below).
> >
> > Ugh!
> >
> > That's a seabios bug. Main processor modifies the rtc index
> > (rtc_read()) while APs try to clear the NMI bit by modifying the rtc
> > index (romlayout.S:transition32).
> >
> > I'll put together a fix.
>
> The seabios patch below resolves the issue for me.
Thanks! Looks good here.
Andrey, Paolo, Bandan: Does it fix it for you as well?
Dave
> -Kevin
>
>
> --- a/src/romlayout.S
> +++ b/src/romlayout.S
> @@ -22,7 +22,8 @@
> // %edx = return location (in 32bit mode)
> // Clobbers: ecx, flags, segment registers, cr0, idt/gdt
> DECLFUNC transition32
> -transition32_for_smi:
> +transition32_nmi_off:
> + // transition32 when NMI and A20 are already initialized
> movl %eax, %ecx
> jmp 1f
> transition32:
> @@ -205,7 +206,7 @@ __farcall16:
> entry_smi:
> // Transition to 32bit mode.
> movl $1f + BUILD_BIOS_ADDR, %edx
> - jmp transition32_for_smi
> + jmp transition32_nmi_off
> .code32
> 1: movl $BUILD_SMM_ADDR + 0x8000, %esp
> calll _cfunc32flat_handle_smi - BUILD_BIOS_ADDR
> @@ -216,8 +217,10 @@ entry_smi:
> DECLFUNC entry_smp
> entry_smp:
> // Transition to 32bit mode.
> + cli
> + cld
> movl $2f + BUILD_BIOS_ADDR, %edx
> - jmp transition32
> + jmp transition32_nmi_off
> .code32
> // Acquire lock and take ownership of shared stack
> 1: rep ; nop
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2015-03-11 19:33 UTC|newest]
Thread overview: 157+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-05 22:14 E5-2620v2 - emulation stop error Andrey Korolyov
2015-03-05 22:14 ` [Qemu-devel] " Andrey Korolyov
2015-03-05 23:44 ` Andrey Korolyov
2015-03-05 23:44 ` [Qemu-devel] " Andrey Korolyov
2015-03-06 16:57 ` Bandan Das
2015-03-06 16:57 ` Bandan Das
2015-03-07 0:00 ` Andrey Korolyov
2015-03-10 14:24 ` Andrey Korolyov
2015-03-10 16:57 ` Dr. David Alan Gilbert
2015-03-10 18:08 ` Andrey Korolyov
2015-03-10 18:16 ` Dr. David Alan Gilbert
2015-03-10 18:21 ` Andrey Korolyov
2015-03-10 19:30 ` Paolo Bonzini
2015-03-10 18:10 ` Paolo Bonzini
2015-03-10 18:21 ` Bandan Das
2015-03-10 18:21 ` Bandan Das
2015-03-10 19:25 ` Paolo Bonzini
2015-03-10 19:25 ` Paolo Bonzini
2015-03-10 19:37 ` Dr. David Alan Gilbert
2015-03-10 20:29 ` Dr. David Alan Gilbert
2015-03-10 20:29 ` Dr. David Alan Gilbert
2015-03-11 2:38 ` Bandan Das
2015-03-11 2:38 ` Bandan Das
2015-03-11 13:45 ` Dr. David Alan Gilbert
2015-03-11 13:45 ` Dr. David Alan Gilbert
2015-03-11 15:42 ` Kevin O'Connor
2015-03-11 15:42 ` Kevin O'Connor
2015-03-11 15:53 ` Dr. David Alan Gilbert
2015-03-11 15:53 ` Dr. David Alan Gilbert
2015-03-11 16:37 ` Kevin O'Connor
2015-03-11 16:37 ` [Qemu-devel] " Kevin O'Connor
2015-03-11 16:52 ` Dr. David Alan Gilbert
2015-03-11 16:52 ` Dr. David Alan Gilbert
2015-03-11 17:37 ` Kevin O'Connor
2015-03-11 17:37 ` Kevin O'Connor
2015-03-11 17:41 ` Paolo Bonzini
2015-03-11 17:41 ` Paolo Bonzini
2015-03-11 17:59 ` Dr. David Alan Gilbert
2015-03-11 17:59 ` Dr. David Alan Gilbert
2015-03-11 18:24 ` Bandan Das
2015-03-11 18:24 ` Bandan Das
2015-03-11 18:40 ` Kevin O'Connor
2015-03-11 18:40 ` Kevin O'Connor
2015-03-11 18:45 ` Kevin O'Connor
2015-03-11 18:45 ` Kevin O'Connor
2015-03-11 19:19 ` Kevin O'Connor
2015-03-11 19:19 ` Kevin O'Connor
2015-03-11 19:33 ` Dr. David Alan Gilbert [this message]
2015-03-11 19:33 ` Dr. David Alan Gilbert
2015-03-11 19:47 ` Bandan Das
2015-03-11 19:47 ` Bandan Das
2015-03-11 19:47 ` Andrey Korolyov
2015-03-11 19:47 ` Andrey Korolyov
2015-03-11 19:59 ` Dr. David Alan Gilbert
2015-03-11 19:59 ` Dr. David Alan Gilbert
2015-03-11 20:09 ` Andrey Korolyov
2015-03-11 20:09 ` Andrey Korolyov
2015-03-12 9:59 ` Dr. David Alan Gilbert
2015-03-12 9:59 ` Dr. David Alan Gilbert
2015-03-12 10:47 ` Andrey Korolyov
2015-03-12 10:47 ` Andrey Korolyov
2015-03-16 19:17 ` Andrey Korolyov
2015-03-16 19:17 ` Andrey Korolyov
2015-03-16 19:26 ` Dr. David Alan Gilbert
2015-03-16 19:26 ` Dr. David Alan Gilbert
2015-03-25 20:43 ` Andrey Korolyov
2015-03-25 20:43 ` [Qemu-devel] " Andrey Korolyov
2015-03-25 20:46 ` Andrey Korolyov
2015-03-25 20:46 ` [Qemu-devel] " Andrey Korolyov
2015-03-25 20:54 ` Kevin O'Connor
2015-03-25 20:54 ` Kevin O'Connor
2015-03-25 22:31 ` Andrey Korolyov
2015-03-25 22:31 ` Andrey Korolyov
2015-03-25 23:02 ` Kevin O'Connor
2015-03-25 23:02 ` Kevin O'Connor
2015-03-25 23:35 ` Andrey Korolyov
2015-03-25 23:35 ` Andrey Korolyov
2015-03-26 0:05 ` Kevin O'Connor
2015-03-26 0:05 ` Kevin O'Connor
2015-03-26 15:58 ` Radim Krčmář
2015-03-26 15:58 ` Radim Krčmář
2015-03-26 16:36 ` Kevin O'Connor
2015-03-26 16:36 ` [Qemu-devel] " Kevin O'Connor
2015-03-26 16:48 ` Andrey Korolyov
2015-03-26 16:48 ` Andrey Korolyov
2015-03-26 17:06 ` Kevin O'Connor
2015-03-26 17:06 ` Kevin O'Connor
2015-03-26 17:08 ` Andrey Korolyov
2015-03-26 17:08 ` Andrey Korolyov
2015-03-26 17:18 ` Kevin O'Connor
2015-03-26 17:18 ` Kevin O'Connor
2015-03-26 17:33 ` Andrey Korolyov
2015-03-26 17:33 ` Andrey Korolyov
2015-03-26 17:40 ` Radim Krčmář
2015-03-26 17:40 ` Radim Krčmář
2015-03-26 18:24 ` Andrey Korolyov
2015-03-26 18:24 ` Andrey Korolyov
2015-03-26 20:40 ` Radim Krčmář
2015-03-26 20:40 ` Radim Krčmář
2015-03-26 21:03 ` Bandan Das
2015-03-26 21:03 ` Bandan Das
2015-03-27 10:16 ` Andrey Korolyov
2015-03-27 10:16 ` Andrey Korolyov
2015-03-30 18:56 ` Radim Krčmář
2015-03-30 18:56 ` [Qemu-devel] " Radim Krčmář
2015-03-30 19:32 ` Andrey Korolyov
2015-03-30 19:32 ` Andrey Korolyov
2015-03-31 13:45 ` Radim Krčmář
2015-03-31 13:45 ` [Qemu-devel] " Radim Krčmář
2015-03-31 14:56 ` Andrey Korolyov
2015-03-31 14:56 ` Andrey Korolyov
2015-03-31 16:45 ` Radim Krčmář
2015-03-31 16:45 ` [Qemu-devel] " Radim Krčmář
2015-03-31 17:40 ` Andrey Korolyov
2015-03-31 17:40 ` Andrey Korolyov
2015-03-31 18:01 ` Bandan Das
2015-03-31 18:01 ` Bandan Das
2015-03-31 18:04 ` Bandan Das
2015-03-31 18:04 ` [Qemu-devel] " Bandan Das
2015-03-31 18:23 ` Andrey Korolyov
2015-03-31 18:23 ` Andrey Korolyov
2015-04-01 11:49 ` Radim Krčmář
2015-04-01 11:49 ` Radim Krčmář
2015-04-01 12:05 ` Paolo Bonzini
2015-04-01 12:05 ` Paolo Bonzini
2015-04-01 12:26 ` Andrey Korolyov
2015-04-01 12:26 ` Andrey Korolyov
2015-04-01 13:19 ` Paolo Bonzini
2015-04-01 13:19 ` Paolo Bonzini
2015-04-01 15:37 ` Andrey Korolyov
2015-04-01 15:37 ` Andrey Korolyov
2015-04-01 16:29 ` Andrey Korolyov
2015-04-01 16:29 ` Andrey Korolyov
2015-04-01 22:58 ` Andrey Korolyov
2015-04-01 22:58 ` Andrey Korolyov
2015-04-05 14:12 ` Andrey Korolyov
2015-04-05 14:12 ` [Qemu-devel] " Andrey Korolyov
2015-03-27 11:54 ` Andrey Korolyov
2015-03-27 11:54 ` Andrey Korolyov
2015-03-30 19:28 ` Radim Krčmář
2015-03-30 19:28 ` Radim Krčmář
2015-03-26 17:35 ` Radim Krčmář
2015-03-26 17:35 ` Radim Krčmář
2015-03-26 17:34 ` Radim Krčmář
2015-03-26 17:34 ` Radim Krčmář
2015-03-26 2:47 ` Bandan Das
2015-03-26 2:47 ` Bandan Das
2015-03-26 9:18 ` Andrey Korolyov
2015-03-26 9:18 ` Andrey Korolyov
2015-03-26 15:05 ` Andrey Korolyov
2015-03-26 15:05 ` Andrey Korolyov
2015-03-11 17:09 ` Bandan Das
2015-03-11 17:09 ` Bandan Das
2015-03-11 17:32 ` Kevin O'Connor
2015-03-11 17:32 ` Kevin O'Connor
2015-03-11 18:01 ` Bandan Das
2015-03-11 18:01 ` Bandan Das
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=20150311193337.GA13162@work-vm \
--to=dgilbert@redhat.com \
--cc=andrey@xdel.ru \
--cc=bsd@redhat.com \
--cc=kevin@koconnor.net \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.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.