qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

  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).