From: Laszlo Ersek <lersek@redhat.com>
To: Kevin O'Connor <kevin@koconnor.net>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
seabios@seabios.org,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
qemu-stable@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>,
Dietmar Maurer <dietmar@proxmox.com>,
Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [Qemu-devel] problems with freeBSD
Date: Thu, 07 Mar 2013 02:28:41 +0100 [thread overview]
Message-ID: <5137ED49.3030204@redhat.com> (raw)
In-Reply-To: <20130307005351.GA19296@morn.localdomain>
On 03/07/13 01:53, Kevin O'Connor wrote:
> On Thu, Mar 07, 2013 at 12:12:08AM +0100, Aurelien Jarno wrote:
>> On Wed, Mar 06, 2013 at 08:21:11AM +0000, Dietmar Maurer wrote:
>>> Using qemu 1.4.0:
>>>
>>> # qemu -hda test.raw -m 512 -cdrom pfSense-LiveCD-2.0.2-RELEASE-amd64-20121207-2239.iso
>>>
>>> Results in:
>>>
>>> trap 12: page fault while in kernel mode
>>> ...
>>> stopped at x86bios_emu_rdw+0x2f: movzwl (%rbx),%eax
>>>
>>> Any ideas? Can somebody reproduce that?
>>>
>>> To get the FreeBSD VM boot use the console, enter the boot loader, then:
>>> # set hint.atkbd.0.disabled="1"
>>> # boot
>>>
>>> But that disables the keyboard.
Apparently the call may come from get_typematic()
[sys/dev/atkbdc/atkbd.c]; it wants to retrieve the typematic rate of the
keyboard using the BIOS.
>>
>> I was actually digging about that problem. It is indeed present in
>> version 1.4.0, but is fixed in the current git master. The problem is
>> actually not directly in QEMU but in seabios, the update to version
>> 1.7.2.1 commit 5c75fb10) fixes the issue. Maybe it is worth
>> cherry-picking it into stable-1.4 (hence the Cc:). In the meantime
>> using bios.bin from master with QEMU version 1.4.0 should also fix the
>> issue.
>>
>> What is strange is the seabios commit fixing the issue:
>>
>> commit 4219149ad2b783abfa61e80e9e9f6910db0c76c9
>> Author: Kevin O'Connor <kevin@koconnor.net>
>> Date: Sun Feb 17 10:56:10 2013 -0500
>>
>> build: Don't require $(OUT) to be a sub-directory of the main directory.
>
> That change is definitely just build related - I don't see how it
> could impact the final SeaBIOS binary. How did you conclude that this
> commit is what fixes the issue?
Going out on a limb, I suspect qemu commit 5f876756 instead.
(It's a bit risky for me to say that, as Aurelien may have taken
qemu-1.4.0 as fixed point and bisected seabios rel-1.7.2..rel-1.7.2.1
against it:
$ git log --oneline --reverse rel-1.7.2..rel-1.7.2.1
f396871 Update tools/acpi_extract.py to handle iasl 20130117 release.
12e8199 USB-EHCI: Fix null pointer assignment
d75c22f Fix Makefile - don't reference "out/" directly, instead use "$(OUT)".
4219149 build: Don't require $(OUT) to be a sub-directory of the main directory.
e5fe4f9 Verify CC is valid during build tests.
2b57726 seabios q35: Enable all PIRQn IRQs at startup
985a9d3 seabios q35: Add new PCI slot to irq routing function
88cb66e seabios: Add a dummy PCI slot to irq mapping function
)
I'm suspecting said qemu commit because:
- it's the final commit in 1.4 for file "pc-bios/bios.bin",
- somewhat out of the ordinary, apparently, it was Anthony to rebuild
the bios, and he used gcc-4.7.2 on Fedora 18,
- while normally Gerd does the updates (see both before and after
5f876756), and I know for a fact Gerd uses RHEL-6.
I think the gcc version Anthony was using miscompiled SeaBIOS (in the
sense that FreeBSD chokes on it), and the 1.7.2.1 binary from Gerd
restores peace *only* because Gerd relied on RHEL-6 gcc, and not because
of the SeaBIOS changes from 1.7.2 to 1.7.2.1.
$ git log --reverse -- pc-bios/bios.bin
Probably works, but never appeared in a separate release:
commit 3588185b8396eb97fd9efd41c2b97775465f67c4
Author: Gerd Hoffmann <kraxel@redhat.com>
Date: Mon Jan 21 09:17:16 2013 +0100
seabios: update to 1.7.2 release
Not that many changes as we have a pretty recent git snapshot in
master already:
Hannes Reinecke (1):
megasas: Invert PCI device selection
Kevin O'Connor (2):
Minor: Separate UUID display from F12 boot prompt.
boot: Support "halt" in the boot order to prevent default
boot attempts.
Laszlo Ersek (1):
display_uuid(): fix incomplete check after the loop
Paolo Bonzini (1):
vgabios: implement AX=1120H..1124H functions
Exposes problem (released in qemu-1.4.0):
commit 5f876756c57c15f5e14d4136fc432b74f05f082b
Author: Anthony Liguori <aliguori@us.ibm.com>
Date: Wed Feb 6 05:12:06 2013 -0600
bios: recompile BIOS
SeaBIOS is really close to spilling over to 256k. Until we can
better handle migration across RAM block size changes, recompile
SeaBIOS with a compiler that causes the binary to still fit in
128k.
This was built with:
gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC)
On 64-bit Fedora 18.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Works again (unreleased), according to Aurelien's testing:
commit 5c75fb10029c5fd1e705a6ef5d698fbea06c7a33
Author: Gerd Hoffmann <kraxel@redhat.com>
Date: Thu Feb 28 09:18:56 2013 +0100
update seabios to 1.7.2.1
Alex Williamson (3):
seabios q35: Enable all PIRQn IRQs at startup
seabios q35: Add new PCI slot to irq routing function
seabios: Add a dummy PCI slot to irq mapping function
Avik Sil (1):
USB-EHCI: Fix null pointer assignment
Kevin O'Connor (4):
Update tools/acpi_extract.py to handle iasl 20130117
release.
Fix Makefile - don't reference "out/" directly, instead
use "$(OUT)".
build: Don't require $(OUT) to be a sub-directory of the
main directory.
Verify CC is valid during build tests.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(I re-wrapped the commit messages for legibility.)
Laszlo
next prev parent reply other threads:[~2013-03-07 1:27 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-06 8:21 [Qemu-devel] problems with freeBSD Dietmar Maurer
2013-03-06 12:41 ` Alexandre DERUMIER
2013-03-06 14:38 ` Dietmar Maurer
2013-03-06 15:56 ` Laszlo Ersek
2013-03-06 23:12 ` Aurelien Jarno
2013-03-07 0:53 ` Kevin O'Connor
2013-03-07 1:28 ` Laszlo Ersek [this message]
2013-03-07 1:58 ` [Qemu-devel] [SeaBIOS] " Peter Stuge
2013-03-07 6:12 ` [Qemu-devel] [Qemu-stable] " Doug Goldstein
2013-03-07 6:32 ` Peter Maydell
2013-03-07 7:17 ` Michael Tokarev
2013-03-07 11:56 ` Gerd Hoffmann
2013-03-07 13:06 ` Michael Tokarev
2013-03-07 15:03 ` Peter Maydell
2013-03-07 15:56 ` Gerd Hoffmann
2013-03-07 16:03 ` Peter Maydell
2013-03-07 16:21 ` Aurelien Jarno
2013-03-07 18:57 ` [Qemu-devel] [SeaBIOS] [Qemu-stable] " Peter Stuge
2013-03-08 7:50 ` [Qemu-devel] " Paolo Bonzini
2013-03-08 13:52 ` [Qemu-devel] [Qemu-stable] [SeaBIOS] " Kevin O'Connor
2013-03-08 14:57 ` [Qemu-devel] [SeaBIOS] [Qemu-stable] " Peter Stuge
2013-03-07 20:24 ` David Woodhouse
2013-03-08 7:47 ` Paolo Bonzini
2013-03-08 7:54 ` David Woodhouse
2013-03-08 8:20 ` Gerd Hoffmann
2013-03-08 8:33 ` Paolo Bonzini
2013-03-08 9:58 ` Gerd Hoffmann
2013-03-07 16:33 ` [Qemu-devel] [Qemu-stable] [SeaBIOS] " Dietmar Maurer
2013-03-07 11:17 ` [Qemu-devel] " Gerd Hoffmann
2013-03-07 8:43 ` Aurelien Jarno
2013-03-07 12:16 ` Laszlo Ersek
2013-03-07 13:48 ` Aurelien Jarno
2013-03-07 13:02 ` Don Slutz
2013-03-07 14:00 ` Don Slutz
2013-03-07 16:05 ` Paolo Bonzini
2013-03-07 13:57 ` Kevin O'Connor
2013-03-07 14:09 ` [Qemu-devel] [SeaBIOS] " Don Slutz
2013-03-07 16:15 ` [Qemu-devel] " Aurelien Jarno
2013-03-08 3:35 ` Kevin O'Connor
2013-03-08 11:30 ` [Qemu-devel] [SeaBIOS] " Laszlo Ersek
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=5137ED49.3030204@redhat.com \
--to=lersek@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=aurelien@aurel32.net \
--cc=dietmar@proxmox.com \
--cc=kevin@koconnor.net \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
--cc=seabios@seabios.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 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).