From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41804) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UD9bH-0006b5-MB for qemu-devel@nongnu.org; Wed, 06 Mar 2013 03:21:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UD9bG-0007NE-9r for qemu-devel@nongnu.org; Wed, 06 Mar 2013 03:21:23 -0500 Received: from www.maurer-it.com ([213.129.239.114]:52303 helo=proxmox.maurer-it.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UD9bF-0007Lj-UK for qemu-devel@nongnu.org; Wed, 06 Mar 2013 03:21:22 -0500 Received: from proxmox.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox.maurer-it.com (Proxmox) with ESMTP id 1097B271E815 for ; Wed, 6 Mar 2013 09:21:14 +0100 (CET) From: Dietmar Maurer Date: Wed, 6 Mar 2013 08:21:11 +0000 Message-ID: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_24E144B8C0207547AD09C467A8259F7557B2BE14lisamaureritcom_" MIME-Version: 1.0 Subject: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "qemu-devel@nongnu.org" --_000_24E144B8C0207547AD09C467A8259F7557B2BE14lisamaureritcom_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Using qemu 1.4.0: # qemu -hda test.raw -m 512 -cdrom pfSense-LiveCD-2.0.2-RELEASE-amd64-20121= 207-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=3D"1" # boot But that disables the keyboard. --_000_24E144B8C0207547AD09C467A8259F7557B2BE14lisamaureritcom_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Using qemu 1.4.0:

 

# qemu -hda test.raw -m 512 -cd= rom pfSense-LiveCD-2.0.2-RELEASE-amd64-20121207-2239.iso

 

Results in:

 

trap 12: page fault while in ke= rnel mode

stopped at x86bios_emu_rdw+= 0x2f: movzwl (%rbx),%eax

 

Any ideas? Can somebody reprodu= ce that?

 

To get the FreeBSD VM boot use = the console, enter the boot loader, then:

# set hint.atkbd.0.disabled=3D&= quot;1"

# boot

 

But that disables the keyboard.=

--_000_24E144B8C0207547AD09C467A8259F7557B2BE14lisamaureritcom_-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:46911) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDDfr-0006Vf-5r for qemu-devel@nongnu.org; Wed, 06 Mar 2013 07:42:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDDfn-0003Qr-LK for qemu-devel@nongnu.org; Wed, 06 Mar 2013 07:42:23 -0500 Received: from mailpro.odiso.net ([89.248.209.98]:41073) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDDfn-0003PJ-Fp for qemu-devel@nongnu.org; Wed, 06 Mar 2013 07:42:19 -0500 Date: Wed, 06 Mar 2013 13:41:51 +0100 (CET) From: Alexandre DERUMIER Message-ID: <5ad412e8-c24a-4f3d-92fb-7f6710342510@mailpro> In-Reply-To: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dietmar Maurer Cc: qemu-devel@nongnu.org I can also reproduce it. (Host cpu intel or amd, Guest cpu qemu64/kvm64/hos= t). They are also a bugreport on the freebsd mailing here: http://lists.freebsd.org/pipermail/freebsd-amd64/2013-January/015092.html ----- Mail original ----- De: "Dietmar Maurer" =C3=80: qemu-devel@nongnu.org Envoy=C3=A9: Mercredi 6 Mars 2013 09:21:11 Objet: [Qemu-devel] problems with freeBSD Using qemu 1.4.0: # qemu -hda test.raw -m 512 -cdrom pfSense-LiveCD-2.0.2-RELEASE-amd64-20121= 207-2239.iso Results in: trap 12: page fault while in kernel mode =E2=80=A6 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=3D"1" # boot But that disables the keyboard. From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51134) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDFUU-0003J0-VT for qemu-devel@nongnu.org; Wed, 06 Mar 2013 09:38:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDFUQ-0007dU-7r for qemu-devel@nongnu.org; Wed, 06 Mar 2013 09:38:46 -0500 Received: from www.maurer-it.com ([213.129.239.114]:60324 helo=proxmox.maurer-it.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDFUQ-0007d4-1f for qemu-devel@nongnu.org; Wed, 06 Mar 2013 09:38:42 -0500 From: Dietmar Maurer Date: Wed, 6 Mar 2013 14:38:37 +0000 Message-ID: <24E144B8C0207547AD09C467A8259F7557B2C507@lisa.maurer-it.com> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <5ad412e8-c24a-4f3d-92fb-7f6710342510@mailpro> In-Reply-To: <5ad412e8-c24a-4f3d-92fb-7f6710342510@mailpro> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexandre DERUMIER Cc: "qemu-devel@nongnu.org" SSBhbHJlYWR5IHNlbnQgYSBtYWlsIHRvIHRoZSBxZW11LWRldmVsIGxpc3QgLSBubyBhbnN3ZXIg c28gZmFyLg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFsZXhhbmRy ZSBERVJVTUlFUiBbbWFpbHRvOmFkZXJ1bWllckBvZGlzby5jb21dDQo+IFNlbnQ6IE1pdHR3b2No LCAwNi4gTcOkcnogMjAxMyAxMzo0Mg0KPiBUbzogRGlldG1hciBNYXVyZXINCj4gQ2M6IHFlbXUt ZGV2ZWxAbm9uZ251Lm9yZw0KPiBTdWJqZWN0OiBSZTogW1FlbXUtZGV2ZWxdIHByb2JsZW1zIHdp dGggZnJlZUJTRA0KPiANCj4gSSBjYW4gYWxzbyByZXByb2R1Y2UgaXQuIChIb3N0IGNwdSBpbnRl bCBvciBhbWQsIEd1ZXN0IGNwdSBxZW11NjQva3ZtNjQvaG9zdCkuDQo+IA0KPiBUaGV5IGFyZSBh bHNvIGEgYnVncmVwb3J0IG9uIHRoZSBmcmVlYnNkIG1haWxpbmcgaGVyZToNCj4gDQo+IGh0dHA6 Ly9saXN0cy5mcmVlYnNkLm9yZy9waXBlcm1haWwvZnJlZWJzZC1hbWQ2NC8yMDEzLUphbnVhcnkv MDE1MDkyLmh0bWwNCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:46650) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDGfR-0003bh-P4 for qemu-devel@nongnu.org; Wed, 06 Mar 2013 10:54:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDGfP-0001Ip-1g for qemu-devel@nongnu.org; Wed, 06 Mar 2013 10:54:09 -0500 Received: from mx1.redhat.com ([209.132.183.28]:44710) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDGfO-0001IU-R5 for qemu-devel@nongnu.org; Wed, 06 Mar 2013 10:54:06 -0500 Message-ID: <51376719.50602@redhat.com> Date: Wed, 06 Mar 2013 16:56:09 +0100 From: Laszlo Ersek MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> In-Reply-To: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dietmar Maurer Cc: "qemu-devel@nongnu.org" On 03/06/13 09:21, Dietmar Maurer wrote: > Using qemu 1.4.0: >=20 > =20 >=20 > # qemu -hda test.raw -m 512 -cdrom > pfSense-LiveCD-2.0.2-RELEASE-amd64-20121207-2239.iso >=20 > =20 >=20 > Results in: >=20 > =20 >=20 > trap 12: page fault while in kernel mode >=20 > =85 >=20 > stopped at x86bios_emu_rdw+0x2f: movzwl (%rbx),%eax >=20 > =20 >=20 > Any ideas? Can somebody reproduce that? I found this on the web: 351 static uint16_t 352 x86bios_emu_rdw(struct x86emu *emu, uint32_t addr) 353 { 354 uint16_t *va; 355=09 356 va =3D x86bios_get_pages(addr, sizeof(*va)); 357 if (va =3D=3D NULL) 358 x86bios_set_fault(emu, addr); 359=09 360 #ifndef __NO_STRICT_ALIGNMENT 361 if ((addr & 1) !=3D 0) 362 return (le16dec(va)); 363 else 364 #endif 365 return (le16toh(*va)); 366 } "movzwl (%rbx),%eax" reads the 16-bit word at %rbx, copies it into the low 16 bits of %eax, and clears the rest of the bits in %eax. This probably corresponds to the *va dereference at the end of the function. (le16toh() is compiled out if the platform is little endian.) Either x86bios_get_pages() returns garbage, or "addr" is garbage on input. You'll have to trace back the callpath from x86bios_emu_rdw(), possibly instrumenting it with printk()s (or whatever it's called in FreeBSD). Laszlo From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41226) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDNVW-0000IY-24 for qemu-devel@nongnu.org; Wed, 06 Mar 2013 18:12:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDNVT-0001uZ-Um for qemu-devel@nongnu.org; Wed, 06 Mar 2013 18:12:21 -0500 Received: from hall.aurel32.net ([2001:470:1f15:c4f::1]:51477) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDNVT-0001u5-OJ for qemu-devel@nongnu.org; Wed, 06 Mar 2013 18:12:19 -0500 Date: Thu, 7 Mar 2013 00:12:08 +0100 From: Aurelien Jarno Message-ID: <20130306231208.GA17594@ohm.aurel32.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dietmar Maurer Cc: seabios@seabios.org, "qemu-devel@nongnu.org" , qemu-stable@nongnu.org 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. 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 Date: Sun Feb 17 10:56:10 2013 -0500 build: Don't require $(OUT) to be a sub-directory of the main directory. Remove references to "../" and "out/" from the build so that "make OUT=/a/b/c/" will work. Signed-off-by: Kevin O'Connor Maybe Kevin has an explanation? -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:33473) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDP5n-0005uN-D1 for qemu-devel@nongnu.org; Wed, 06 Mar 2013 19:53:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDP5l-00067z-VN for qemu-devel@nongnu.org; Wed, 06 Mar 2013 19:53:55 -0500 Received: from mail-qa0-f49.google.com ([209.85.216.49]:53496) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDP5l-00067s-RA for qemu-devel@nongnu.org; Wed, 06 Mar 2013 19:53:53 -0500 Received: by mail-qa0-f49.google.com with SMTP id o13so70qaj.15 for ; Wed, 06 Mar 2013 16:53:53 -0800 (PST) Date: Wed, 6 Mar 2013 19:53:51 -0500 From: Kevin O'Connor Message-ID: <20130307005351.GA19296@morn.localdomain> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130306231208.GA17594@ohm.aurel32.net> Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: qemu-stable@nongnu.org, seabios@seabios.org, Dietmar Maurer , "qemu-devel@nongnu.org" 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. > > 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 > 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? -Kevin From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38962) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDPbl-00049W-Kt for qemu-devel@nongnu.org; Wed, 06 Mar 2013 20:27:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDPbi-0007nW-Ep for qemu-devel@nongnu.org; Wed, 06 Mar 2013 20:26:57 -0500 Message-ID: <5137ED49.3030204@redhat.com> Date: Thu, 07 Mar 2013 02:28:41 +0100 From: Laszlo Ersek MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> In-Reply-To: <20130307005351.GA19296@morn.localdomain> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: Anthony Liguori , seabios@seabios.org, "qemu-devel@nongnu.org" , qemu-stable@nongnu.org, Gerd Hoffmann , Dietmar Maurer , Aurelien Jarno 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 >> 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 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 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 Works again (unreleased), according to Aurelien's testing: commit 5c75fb10029c5fd1e705a6ef5d698fbea06c7a33 Author: Gerd Hoffmann 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 (I re-wrapped the commit messages for legibility.) Laszlo From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43837) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDQ6f-0001kz-15 for qemu-devel@nongnu.org; Wed, 06 Mar 2013 20:58:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDQ6Z-0008A6-SO for qemu-devel@nongnu.org; Wed, 06 Mar 2013 20:58:52 -0500 Received: from foo.stuge.se ([212.116.89.98]:37610) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDQ6Z-00089d-H4 for qemu-devel@nongnu.org; Wed, 06 Mar 2013 20:58:47 -0500 Message-ID: <20130307015844.26170.qmail@stuge.se> Date: Thu, 7 Mar 2013 02:58:44 +0100 From: Peter Stuge References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5137ED49.3030204@redhat.com> Subject: Re: [Qemu-devel] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laszlo Ersek Cc: Anthony Liguori , seabios@seabios.org, "qemu-devel@nongnu.org" , qemu-stable@nongnu.org, Kevin O'Connor , Gerd Hoffmann , Dietmar Maurer , Aurelien Jarno Laszlo Ersek wrote: > Going out on a limb, I suspect qemu commit 5f876756 instead. .. > I think the gcc version Anthony was using miscompiled SeaBIOS Yeah, it is very common. Lots of distributions patch their toolchains such that they don't compile firmware code correctly. Firmware isn't a common target, so I understand that it happens. For coreboot we recommend to build a vanilla toolchain using known good versions. We also have a script to do that. (The script is at util/crossgcc/buildgcc in the coreboot repo.) //Peter From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDU4M-00044u-87 for qemu-devel@nongnu.org; Thu, 07 Mar 2013 01:12:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDU4J-0005Gh-6D for qemu-devel@nongnu.org; Thu, 07 Mar 2013 01:12:46 -0500 Received: from mail-qe0-f54.google.com ([209.85.128.54]:51443) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDU4J-0005GK-2k for qemu-devel@nongnu.org; Thu, 07 Mar 2013 01:12:43 -0500 Received: by mail-qe0-f54.google.com with SMTP id i11so65472qej.27 for ; Wed, 06 Mar 2013 22:12:42 -0800 (PST) MIME-Version: 1.0 Sender: cardoe@cardoe.com In-Reply-To: <20130307015844.26170.qmail@stuge.se> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> Date: Thu, 7 Mar 2013 00:12:41 -0600 Message-ID: From: Doug Goldstein Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laszlo Ersek , Kevin O'Connor , Anthony Liguori , seabios@seabios.org, "qemu-devel@nongnu.org" , qemu-stable@nongnu.org, Gerd Hoffmann , Dietmar Maurer , Aurelien Jarno On Wed, Mar 6, 2013 at 7:58 PM, Peter Stuge wrote: > Laszlo Ersek wrote: >> Going out on a limb, I suspect qemu commit 5f876756 instead. > .. >> I think the gcc version Anthony was using miscompiled SeaBIOS > > Yeah, it is very common. Lots of distributions patch their > toolchains such that they don't compile firmware code correctly. > > Firmware isn't a common target, so I understand that it happens. > > For coreboot we recommend to build a vanilla toolchain using known > good versions. We also have a script to do that. (The script is at > util/crossgcc/buildgcc in the coreboot repo.) > > > //Peter > Peter, Not sure if you or Kevin builds the coreboot images at http://code.coreboot.org/p/seabios/downloads/, but would you guys consider building point release as well (e.g. 1.7.2.1), if yes then my next question... The rest of the ML, Would qemu consider using those blobs rather than different developers using their distro toolchain to build up a random commit ID. I say random only because often qemu releases ship with a non-release seabios. In this past there's been other issues related to seabios + qemu, that I've solved in Gentoo by simply using the coreboot seabios images after some troubleshooting help from Peter. Similarly our Ubuntu OpenStack machines at work had quirks resolved by dropping the coreboot seabios images on them. -- Doug Goldstein From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55364) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDUNq-0002Uz-9I for qemu-devel@nongnu.org; Thu, 07 Mar 2013 01:32:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDUNm-0002tt-28 for qemu-devel@nongnu.org; Thu, 07 Mar 2013 01:32:54 -0500 Received: from mail-la0-x232.google.com ([2a00:1450:4010:c03::232]:33378) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDUNl-0002th-Rz for qemu-devel@nongnu.org; Thu, 07 Mar 2013 01:32:50 -0500 Received: by mail-la0-f50.google.com with SMTP id ec20so96857lab.9 for ; Wed, 06 Mar 2013 22:32:48 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> From: Peter Maydell Date: Thu, 7 Mar 2013 14:32:28 +0800 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Doug Goldstein Cc: Anthony Liguori , seabios@seabios.org, qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Kevin O'Connor , Gerd Hoffmann , Laszlo Ersek , Dietmar Maurer , Aurelien Jarno On 7 March 2013 14:12, Doug Goldstein wrote: > On Wed, Mar 6, 2013 at 7:58 PM, Peter Stuge wrote: >> For coreboot we recommend to build a vanilla toolchain using known >> good versions. We also have a script to do that. (The script is at >> util/crossgcc/buildgcc in the coreboot repo.) > Would qemu consider using those blobs rather than different developers > using their distro toolchain to build up a random commit ID. I say > random only because often qemu releases ship with a non-release > seabios. The right way to fix this is for QEMU to stop shipping binary BIOS blobs in its source tarballs. Instead the developers of the BIOS should release them separately with an appropriate testing and release process which ensures that they're compiled with whichever toolchain is required. (just my opinion of course, which I state mostly to give people something to disagree with...) -- PMM From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:34065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDV56-0007zm-Bt for qemu-devel@nongnu.org; Thu, 07 Mar 2013 02:17:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDV54-0007lw-5S for qemu-devel@nongnu.org; Thu, 07 Mar 2013 02:17:36 -0500 Message-ID: <51383F0B.8050704@msgid.tls.msk.ru> Date: Thu, 07 Mar 2013 11:17:31 +0400 From: Michael Tokarev MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Doug Goldstein Cc: Anthony Liguori , seabios@seabios.org, qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Kevin O'Connor , Gerd Hoffmann , Laszlo Ersek , Dietmar Maurer , Aurelien Jarno 07.03.2013 10:12, Doug Goldstein wrote: > On Wed, Mar 6, 2013 at 7:58 PM, Peter Stuge wrote: >> Yeah, it is very common. Lots of distributions patch their >> toolchains such that they don't compile firmware code correctly. >> >> Firmware isn't a common target, so I understand that it happens. >> >> For coreboot we recommend to build a vanilla toolchain using known >> good versions. We also have a script to do that. (The script is at >> util/crossgcc/buildgcc in the coreboot repo.) [] > Not sure if you or Kevin builds the coreboot images at > http://code.coreboot.org/p/seabios/downloads/, but would you guys > consider building point release as well (e.g. 1.7.2.1), if yes then my > next question... > > The rest of the ML, > > Would qemu consider using those blobs rather than different developers > using their distro toolchain to build up a random commit ID. I say > random only because often qemu releases ship with a non-release > seabios. > > In this past there's been other issues related to seabios + qemu, that > I've solved in Gentoo by simply using the coreboot seabios images > after some troubleshooting help from Peter. Similarly our Ubuntu > OpenStack machines at work had quirks resolved by dropping the > coreboot seabios images on them. Just a note, or an "alternative opinion", so to say. In Debian, we have a social contract which, among other things, ensures that the binaries you, as a user, get, comes with source which you can modify on the system you installed. This requires, for example, that all binaries shipped are actually built from the corresponding source, and that no blobs from whatever other sources are used, ever. We don't even ship any upstream blobs in the debian qemu _source_ package: we repack upstream qemu.tar.gz by removing these blobs. So from this PoV, it'd be better if upstream didn't ship any blobs at all, -- we wont need to repack the upstream .tar.gz ;) FWIW, prpbably we were lucky so far: we had almost no issues with (mis)compiling of various ROM codes (bochsbios, seabios, vgabios, pxe roms, various sparc/ppc firmware etc) using toolchains provided by Debian. Thanks, /mjt From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51100) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDWQ9-0006Un-RL for qemu-devel@nongnu.org; Thu, 07 Mar 2013 03:43:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDWQ8-0002WM-Ap for qemu-devel@nongnu.org; Thu, 07 Mar 2013 03:43:25 -0500 Date: Thu, 7 Mar 2013 09:43:04 +0100 From: Aurelien Jarno Message-ID: <20130307084304.GA17400@ohm.aurel32.net> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20130307005351.GA19296@morn.localdomain> Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: qemu-stable@nongnu.org, seabios@seabios.org, Dietmar Maurer , "qemu-devel@nongnu.org" On Wed, Mar 06, 2013 at 07:53:51PM -0500, 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. > > > > 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 > > 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? > I did a git bisect to find the commit fixing the issue. Then, as I was not believing the result, I tried the following sequence a dozen of times (for some unknown reasons the FreeBSD install CD doesn't exhibit the issue, so I used the Debian GNU/kFreeBSD installer): | mkdir qemu-freebsd-bug | cd qemu-freebsd-bug | | wget http://ftp.debian.org/debian/dists/squeeze/main/installer-kfreebsd-amd64/current/images/netboot/mini.iso | | git clone git://git.qemu.org/qemu.git | cd qemu | git checkout -b stable-1.4 v1.4.0 | ./configure --target-list=x86_64-softmmu | make | cd .. | | git clone git://git.seabios.org/seabios.git | cd seabios | git checkout -b 1.7.2-stable origin/1.7.2-stable | git reset --hard 4219149ad2b783abfa61e80e9e9f6910db0c76c9 | make | cp out/bios.bin ../qemu/pc-bios | cd.. | | # debian-installer boots correctly | ./qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -cdrom mini.iso | | cd seabios | git reset --hard d75c22fcb6521dad11428b65789d92f89675c600 | git clean -fdx | make | cp out/bios.bin ../qemu/pc-bios | cd .. | | # debian-installer fails to boot | ./qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -cdrom mini.iso Maybe I am doing something wrong or there is a bug in my toolchain (Debian Sid). It would be nice if someone could try to reproduce that on another distro/system. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:34430) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDYpD-0001OQ-3D for qemu-devel@nongnu.org; Thu, 07 Mar 2013 06:17:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDYpB-0004eY-UF for qemu-devel@nongnu.org; Thu, 07 Mar 2013 06:17:27 -0500 Message-ID: <5138772E.909@redhat.com> Date: Thu, 07 Mar 2013 12:17:02 +0100 From: Gerd Hoffmann MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> In-Reply-To: <5137ED49.3030204@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laszlo Ersek Cc: Anthony Liguori , seabios@seabios.org, "qemu-devel@nongnu.org" , qemu-stable@nongnu.org, Kevin O'Connor , Dietmar Maurer , Aurelien Jarno Hi, > Probably works, but never appeared in a separate release: > > commit 3588185b8396eb97fd9efd41c2b97775465f67c4 > Author: Gerd Hoffmann > Date: Mon Jan 21 09:17:16 2013 +0100 > > seabios: update to 1.7.2 release Built with "gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)" (rhel-6). > commit 5f876756c57c15f5e14d4136fc432b74f05f082b > Author: Anthony Liguori > Date: Wed Feb 6 05:12:06 2013 -0600 > > bios: recompile BIOS > gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC) > commit 5c75fb10029c5fd1e705a6ef5d698fbea06c7a33 > Author: Gerd Hoffmann > Date: Thu Feb 28 09:18:56 2013 +0100 > > update seabios to 1.7.2.1 Built with "gcc (GCC) 4.7.2 20121015 (Red Hat 4.7.2-5)" (rhel-6 devtoolkit-1.1) as gcc 4.4 builds are too big and bumb seabios size from 128k to 256k. Which was the reason for anthonys rebuild. cheers, Gerd From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42883) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDZRX-0004tJ-0F for qemu-devel@nongnu.org; Thu, 07 Mar 2013 06:57:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDZRV-0001AL-2Y for qemu-devel@nongnu.org; Thu, 07 Mar 2013 06:57:02 -0500 Message-ID: <51388079.3010707@redhat.com> Date: Thu, 07 Mar 2013 12:56:41 +0100 From: Gerd Hoffmann MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> In-Reply-To: <51383F0B.8050704@msgid.tls.msk.ru> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Tokarev Cc: Anthony Liguori , Doug Goldstein , seabios@seabios.org, "qemu-devel@nongnu.org" , qemu-stable@nongnu.org, Kevin O'Connor , Laszlo Ersek , Dietmar Maurer , Aurelien Jarno Hi, >> Would qemu consider using those blobs rather than different developers >> using their distro toolchain to build up a random commit ID. I say >> random only because often qemu releases ship with a non-release >> seabios. It happened (well, the snapshot thing). But that isn't our preferred model, it was just bad release cycle coordination and we'll try to avoid doing it again. There is reason why we have a 1.7.2 stable branch now. The binary blobs are just a convenience thing because rebuilding the firmware might not be that easy. Not so much for virtualization where host + firmware are the same arch. But for emulation, where you need the -- say -- ppc slof on a x86 machine, and the binaries shipped allow people to get started without having to install (or compile) a cross compiler first. It is certainly not required to use blobs shipped. In fact the release tarballs include all the firmware submodules, so you can build the firmware yourself if you want. I've created roms/Makefile so you can easily rebuild the (x86) firmware. seabios is there, vgabios is there, patches for ipxe are in flight. > Just a note, or an "alternative opinion", so to say. In Debian, we have > a social contract which, among other things, ensures that the binaries > you, as a user, get, comes with source which you can modify on the > system you installed. This requires, for example, that all binaries > shipped are actually built from the corresponding source, and that > no blobs from whatever other sources are used, ever. That is perfectly fine. How to you handle ppc firmware for x86 hosts btw? Build on ppc buildhost and ship as noarch package? Or do you do cross compiler builds, so that users can patch+rebuild it on their x86 host too? > We don't even ship any upstream blobs in the debian qemu _source_ > package: we repack upstream qemu.tar.gz by removing these blobs. That's a bit over the top for my taste as the release tarballs include both source and blobs. Although it might be the debian release is just a bit too old for that, not fully sure with which release anthony started to include the firmware submodules, might be it was after 1.1 cheers, Gerd From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:46639) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDZj6-0008Sz-Qv for qemu-devel@nongnu.org; Thu, 07 Mar 2013 07:15:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDZj3-0007DQ-Eg for qemu-devel@nongnu.org; Thu, 07 Mar 2013 07:15:12 -0500 Message-ID: <51388536.3010305@redhat.com> Date: Thu, 07 Mar 2013 13:16:54 +0100 From: Laszlo Ersek MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <20130307084304.GA17400@ohm.aurel32.net> In-Reply-To: <20130307084304.GA17400@ohm.aurel32.net> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: "qemu-devel@nongnu.org" , Kevin O'Connor , seabios@seabios.org, qemu-stable@nongnu.org, Dietmar Maurer On 03/07/13 09:43, Aurelien Jarno wrote: > I did a git bisect to find the commit fixing the issue. Then, as I was > not believing the result, I tried the following sequence a dozen of > times (for some unknown reasons the FreeBSD install CD doesn't exhibit > the issue, so I used the Debian GNU/kFreeBSD installer): > > | mkdir qemu-freebsd-bug > | cd qemu-freebsd-bug > | > | wget http://ftp.debian.org/debian/dists/squeeze/main/installer-kfreebsd-amd64/current/images/netboot/mini.iso > | > | git clone git://git.qemu.org/qemu.git > | cd qemu > | git checkout -b stable-1.4 v1.4.0 > | ./configure --target-list=x86_64-softmmu > | make > | cd .. > | > | git clone git://git.seabios.org/seabios.git > | cd seabios > | git checkout -b 1.7.2-stable origin/1.7.2-stable > | git reset --hard 4219149ad2b783abfa61e80e9e9f6910db0c76c9 > | make > | cp out/bios.bin ../qemu/pc-bios > | cd.. > | > | # debian-installer boots correctly > | ./qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -cdrom mini.iso > | > | cd seabios > | git reset --hard d75c22fcb6521dad11428b65789d92f89675c600 > | git clean -fdx > | make > | cp out/bios.bin ../qemu/pc-bios > | cd .. > | > | # debian-installer fails to boot > | ./qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -cdrom mini.iso > > > Maybe I am doing something wrong or there is a bug in my toolchain > (Debian Sid). It would be nice if someone could try to reproduce that on > another distro/system. > Can you save the out/ directory from both builds and "diff -ur" them (maybe just the *.lds files)? I'm noticing that pathnames are embedded in some ELF section names (I hope this sentence makes sense), and when you build at d75c22fc, those pathnames contain dot-dot (".."), ie. two section name separators next to each other. Maybe that's not good; no idea. Laszlo From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:56082) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDaWt-0004Ao-Q4 for qemu-devel@nongnu.org; Thu, 07 Mar 2013 08:06:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDaWs-00078t-AM for qemu-devel@nongnu.org; Thu, 07 Mar 2013 08:06:39 -0500 Message-ID: <513890DB.2050805@msgid.tls.msk.ru> Date: Thu, 07 Mar 2013 17:06:35 +0400 From: Michael Tokarev MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> In-Reply-To: <51388079.3010707@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: Anthony Liguori , Doug Goldstein , seabios@seabios.org, "qemu-devel@nongnu.org" , qemu-stable@nongnu.org, Kevin O'Connor , Laszlo Ersek , Dietmar Maurer , Aurelien Jarno 07.03.2013 15:56, Gerd Hoffmann wrote: >> Just a note, or an "alternative opinion", so to say. In Debian, we have >> a social contract which, among other things, ensures that the binaries >> you, as a user, get, comes with source which you can modify on the >> system you installed. This requires, for example, that all binaries >> shipped are actually built from the corresponding source, and that >> no blobs from whatever other sources are used, ever. > > That is perfectly fine. How to you handle ppc firmware for x86 hosts > btw? Build on ppc buildhost and ship as noarch package? Or do you do > cross compiler builds, so that users can patch+rebuild it on their x86 > host too? "Foreign" firmware handling is an unsolved issue. Yes, basically, it is built on the corresponding build machine (eg, openbios-ppc is built on a ppc machine) and shipped as "noarch" package. The same is for X86 seabios/vgabios/etc stuff actually. So technically this is a violation in some way. However, that same ppc firmware actually can be rebuilt in a (qemu) virtual machine with the same debian release installed. That's why I say it is basically unsolved issue -- the "solution" isn't actuall a solution but a workaround instead. For added "fun", currently we ship optionroms from qemu in seabios source package, exactly because of this reason - seabios is what gets built on x86 only and is distributed on as "noarch" binary, while qemu is built on all architectures. And for another fun, we've several broken qemu architectures in Debian at the moment -- s390 and ppc64 are missing firmwares exactly because of the difficulties building them, despite the fact they're shipping in upstream qemu tarball. >> We don't even ship any upstream blobs in the debian qemu _source_ >> package: we repack upstream qemu.tar.gz by removing these blobs. > > That's a bit over the top for my taste as the release tarballs include > both source and blobs. Yes this is a bit extremistic, so to say. But this is the same base principle of Debian: we should ensure and demonstrate it all is buildable. Just mere presence of a blob in a tarball is already suspicious :) > Although it might be the debian release is just > a bit too old for that, not fully sure with which release anthony > started to include the firmware submodules, might be it was after 1.1 Nope, qemu started including sources before that. But it doesn't matter really, it is just the way how debian works, nothing to do with qemu really. Especially since most of these submodules are already packaged in Debian separately (be it because the qemu needs or due to other means). Thanks, /mjt From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:36837) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDbBa-0004Kp-42 for qemu-devel@nongnu.org; Thu, 07 Mar 2013 08:48:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDbBY-0004V8-3d for qemu-devel@nongnu.org; Thu, 07 Mar 2013 08:48:42 -0500 Date: Thu, 7 Mar 2013 14:48:33 +0100 From: Aurelien Jarno Message-ID: <20130307134833.GA22106@hall.aurel32.net> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <20130307084304.GA17400@ohm.aurel32.net> <51388536.3010305@redhat.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="k+w/mQv8wyuph6w0" Content-Disposition: inline In-Reply-To: <51388536.3010305@redhat.com> Sender: Aurelien Jarno Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laszlo Ersek Cc: Kevin O'Connor , seabios@seabios.org, "qemu-devel@nongnu.org" , Dietmar Maurer , qemu-stable@nongnu.org --k+w/mQv8wyuph6w0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline On Thu, Mar 07, 2013 at 01:16:54PM +0100, Laszlo Ersek wrote: > On 03/07/13 09:43, Aurelien Jarno wrote: > > > I did a git bisect to find the commit fixing the issue. Then, as I was > > not believing the result, I tried the following sequence a dozen of > > times (for some unknown reasons the FreeBSD install CD doesn't exhibit > > the issue, so I used the Debian GNU/kFreeBSD installer): > > > > | mkdir qemu-freebsd-bug > > | cd qemu-freebsd-bug > > | > > | wget http://ftp.debian.org/debian/dists/squeeze/main/installer-kfreebsd-amd64/current/images/netboot/mini.iso > > | > > | git clone git://git.qemu.org/qemu.git > > | cd qemu > > | git checkout -b stable-1.4 v1.4.0 > > | ./configure --target-list=x86_64-softmmu > > | make > > | cd .. > > | > > | git clone git://git.seabios.org/seabios.git > > | cd seabios > > | git checkout -b 1.7.2-stable origin/1.7.2-stable > > | git reset --hard 4219149ad2b783abfa61e80e9e9f6910db0c76c9 > > | make > > | cp out/bios.bin ../qemu/pc-bios > > | cd.. > > | > > | # debian-installer boots correctly > > | ./qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -cdrom mini.iso > > | > > | cd seabios > > | git reset --hard d75c22fcb6521dad11428b65789d92f89675c600 > > | git clean -fdx > > | make > > | cp out/bios.bin ../qemu/pc-bios > > | cd .. > > | > > | # debian-installer fails to boot > > | ./qemu/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -cdrom mini.iso > > > > > > Maybe I am doing something wrong or there is a bug in my toolchain > > (Debian Sid). It would be nice if someone could try to reproduce that on > > another distro/system. > > > > Can you save the out/ directory from both builds and "diff -ur" them > (maybe just the *.lds files)? Please find it attached. > I'm noticing that pathnames are embedded in some ELF section names (I > hope this sentence makes sense), and when you build at d75c22fc, those > pathnames contain dot-dot (".."), ie. two section name separators next > to each other. Maybe that's not good; no idea. > It's clearly the case, but I also don't know if it is a good solution or not. What is sure is that it also changes the address of the text section in bios.bin.elf. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net --k+w/mQv8wyuph6w0 Content-Type: application/octet-stream Content-Disposition: attachment; filename="seabios.qemu-freebsd-bug.diff.xz" Content-Transfer-Encoding: base64 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 wqdXMwABsaYCoNMi6Dyg4bHEZ/sCAAAAAARZWg== --k+w/mQv8wyuph6w0-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43761) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDbVz-0000Qt-2X for qemu-devel@nongnu.org; Thu, 07 Mar 2013 09:09:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDbVr-0003pt-Du for qemu-devel@nongnu.org; Thu, 07 Mar 2013 09:09:46 -0500 Received: from mail-qa0-f44.google.com ([209.85.216.44]:54682) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDbJm-00087z-5s for qemu-devel@nongnu.org; Thu, 07 Mar 2013 08:57:10 -0500 Received: by mail-qa0-f44.google.com with SMTP id bv4so3229207qab.17 for ; Thu, 07 Mar 2013 05:57:08 -0800 (PST) Date: Thu, 7 Mar 2013 08:57:06 -0500 From: Kevin O'Connor Message-ID: <20130307135706.GA14645@morn.localdomain> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <20130307084304.GA17400@ohm.aurel32.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130307084304.GA17400@ohm.aurel32.net> Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: qemu-stable@nongnu.org, seabios@seabios.org, Dietmar Maurer , "qemu-devel@nongnu.org" On Thu, Mar 07, 2013 at 09:43:04AM +0100, Aurelien Jarno wrote: > On Wed, Mar 06, 2013 at 07:53:51PM -0500, Kevin O'Connor wrote: > > 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? > > > > I did a git bisect to find the commit fixing the issue. Then, as I was > not believing the result, I tried the following sequence a dozen of > times (for some unknown reasons the FreeBSD install CD doesn't exhibit > the issue, so I used the Debian GNU/kFreeBSD installer): Thanks. I'll take a look at this tonight. If you get a chance first, could you try adding "make distclean; make clean" into the seabios steps? -Kevin From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55344) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDaSi-0002ZD-Gk for qemu-devel@nongnu.org; Thu, 07 Mar 2013 08:02:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDaSf-0005cG-Lq for qemu-devel@nongnu.org; Thu, 07 Mar 2013 08:02:20 -0500 From: Don Slutz Message-ID: <51388FD1.2000201@terremark.com> Date: Thu, 7 Mar 2013 08:02:09 -0500 MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <20130307084304.GA17400@ohm.aurel32.net> In-Reply-To: <20130307084304.GA17400@ohm.aurel32.net> Content-Type: multipart/alternative; boundary="------------090305060209020604080300" Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: "qemu-devel@nongnu.org" , Kevin O'Connor , seabios@seabios.org, qemu-stable@nongnu.org, Dietmar Maurer --------------090305060209020604080300 Content-Type: text/plain; charset="ISO-8859-15"; format=flowed Content-Transfer-Encoding: 7bit On 03/07/13 03:43, Aurelien Jarno wrote: > On Wed, Mar 06, 2013 at 07:53:51PM -0500, 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: [snip] >>> Maybe I am doing something wrong or there is a bug in my toolchain >>> (Debian Sid). It would be nice if someone could try to reproduce >>> that on another distro/system. > -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net > http://www.aurel32.net I reproduced this on "Fedora release 17 (Beefy Miracle)" 3.7.3-101.fc17.x86_64 doing the steps provided. -Don Slutz --------------090305060209020604080300 Content-Type: text/html; charset="ISO-8859-15" Content-Transfer-Encoding: 8bit
On 03/07/13 03:43, Aurelien Jarno wrote:
On Wed, Mar 06, 2013 at 07:53:51PM -0500, 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:
[snip]
Maybe I am doing something wrong or there is a bug in my toolchain (Debian Sid). It would be nice if someone could try to reproduce that on another distro/system.
-- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net

I reproduced this on "Fedora release 17 (Beefy Miracle)" 3.7.3-101.fc17.x86_64 doing the steps provided.
   -Don Slutz
--------------090305060209020604080300-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDbNj-0006oX-Lk for qemu-devel@nongnu.org; Thu, 07 Mar 2013 09:01:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDbNb-0000xs-Ok for qemu-devel@nongnu.org; Thu, 07 Mar 2013 09:01:15 -0500 From: Don Slutz Message-ID: <51389D9B.4010000@terremark.com> Date: Thu, 7 Mar 2013 09:00:59 -0500 MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <20130307084304.GA17400@ohm.aurel32.net> <51388FD1.2000201@terremark.com> In-Reply-To: <51388FD1.2000201@terremark.com> Content-Type: multipart/alternative; boundary="------------040303030908030505020506" Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: "qemu-devel@nongnu.org" , Kevin O'Connor , seabios@seabios.org, qemu-stable@nongnu.org, Dietmar Maurer --------------040303030908030505020506 Content-Type: text/plain; charset="ISO-8859-15"; format=flowed Content-Transfer-Encoding: 7bit On 03/07/13 08:02, Don Slutz wrote: > On 03/07/13 03:43, Aurelien Jarno wrote: >> On Wed, Mar 06, 2013 at 07:53:51PM -0500, 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: > [snip] >>>> Maybe I am doing something wrong or there is a bug in my toolchain >>>> (Debian Sid). It would be nice if someone could try to reproduce >>>> that on another distro/system. >> -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net >> http://www.aurel32.net > > I reproduced this on "Fedora release 17 (Beefy Miracle)" > 3.7.3-101.fc17.x86_64 doing the steps provided. > -Don Slutz Turns out that this is not the normal kind of issue. Newer seabios works, older does not: good * 88cb66e (HEAD, tag: rel-1.7.2.1, origin/1.7.2-stable, 1.7.2-stable) seabios: Add a dummy PCI slot to irq mapping funct good * 985a9d3 seabios q35: Add new PCI slot to irq routing function good * 2b57726 seabios q35: Enable all PIRQn IRQs at startup good * e5fe4f9 Verify CC is valid during build tests. good * 4219149 build: Don't require $(OUT) to be a sub-directory of the main directory. bad * d75c22f Fix Makefile - don't reference "out/" directly, instead use "$(OUT)". bad * 12e8199 USB-EHCI: Fix null pointer assignment bad * f396871 Update tools/acpi_extract.py to handle iasl 20130117 release. bad * 4bd8aeb (tag: rel-1.7.2) vgabios: implement AX=1120H..1124H functions good: Version: rel-1.7.2-4-g4219149-20130307_085117-don-lt.don.CloudSwitch.com Fixed space: 0xe05b-0x10000 total: 8101 slack: 5 Percent slack: 0.1% 16bit size: 39856 32bit segmented size: 1430 32bit flat size: 18778 32bit flat init size: 62400 Lowmem size: 2176 bad: Version: rel-1.7.2-3-gd75c22f-20130307_085345-don-lt.don.CloudSwitch.com Fixed space: 0xe05b-0x10000 total: 8101 slack: 5 Percent slack: 0.1% 16bit size: 39808 32bit segmented size: 1430 32bit flat size: 18778 32bit flat init size: 62400 Lowmem size: 2176 The 16bit size change is the only output change. The changed that fixed it: commit 4219149ad2b783abfa61e80e9e9f6910db0c76c9 Author: Kevin O'Connor Date: Sun Feb 17 10:56:10 2013 -0500 build: Don't require $(OUT) to be a sub-directory of the main directory. Remove references to "../" and "out/" from the build so that "make OUT=/a/b/c/" will work. Signed-off-by: Kevin O'Connor diff --git a/Makefile b/Makefile index a482c94..20da6d0 100644 --- a/Makefile +++ b/Makefile @@ -84,7 +84,7 @@ vpath %.S src vgasrc ################ Common build rules # Verify the build environment works. -TESTGCC:=$(shell CC="$(CC)" LD="$(LD)" IASL="$(IASL)" tools/test-build.sh) +TESTGCC:=$(shell OUT="$(OUT)" CC="$(CC)" LD="$(LD)" IASL="$(IASL)" tools/test-build.sh) ifeq "$(TESTGCC)" "-1" $(error "Please upgrade the build environment") endif @@ -97,7 +97,7 @@ endif # Do a whole file compile by textually including all C code. define whole-compile @echo " Compiling whole program $3" -$(Q)printf '$(foreach i,$2,#include "../$i"\n)' > $3.tmp.c +$(Q)printf '$(foreach i,$2,#include "$(CURDIR)/$i"\n)' > $3.tmp.c $(Q)$(CC) $1 $(CFLAGSWHOLE) -c $3.tmp.c -o $3 endef diff --git a/src/Kconfig b/src/Kconfig index 0b112ed..2c9100d 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -367,7 +367,7 @@ menu "BIOS Tables" Support generation of ACPI tables. endmenu -source ../vgasrc/Kconfig +source vgasrc/Kconfig menu "Debugging" config DEBUG_LEVEL diff --git a/tools/test-build.sh b/tools/test-build.sh index 7bd6d1f..ce0aca9 100755 --- a/tools/test-build.sh +++ b/tools/test-build.sh @@ -14,13 +14,13 @@ if [ $? -ne 0 ]; then exit 0 fi -mkdir -p out -TMPFILE1=out/tmp_testcompile1.c -TMPFILE1o=out/tmp_testcompile1.o -TMPFILE1_ld=out/tmp_testcompile1.lds -TMPFILE2=out/tmp_testcompile2.c -TMPFILE2o=out/tmp_testcompile2.o -TMPFILE3o=out/tmp_testcompile3.o +mkdir -p ${OUT} +TMPFILE1=${OUT}/tmp_testcompile1.c +TMPFILE1o=${OUT}/tmp_testcompile1.o +TMPFILE1_ld=${OUT}/tmp_testcompile1.lds +TMPFILE2=${OUT}/tmp_testcompile2.c +TMPFILE2o=${OUT}/tmp_testcompile2.o +TMPFILE3o=${OUT}/tmp_testcompile3.o # Test if ld's alignment handling is correct. This is a known problem # with the linker that ships with Ubuntu 11.04. -Don Slutz --------------040303030908030505020506 Content-Type: text/html; charset="ISO-8859-15" Content-Transfer-Encoding: 8bit
On 03/07/13 08:02, Don Slutz wrote:
On 03/07/13 03:43, Aurelien Jarno wrote:
On Wed, Mar 06, 2013 at 07:53:51PM -0500, 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:
[snip]
Maybe I am doing something wrong or there is a bug in my toolchain (Debian Sid). It would be nice if someone could try to reproduce that on another distro/system.
-- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net

I reproduced this on "Fedora release 17 (Beefy Miracle)" 3.7.3-101.fc17.x86_64 doing the steps provided.
   -Don Slutz

Turns out that this is not the normal kind of issue.  Newer seabios works, older does not:

good   * 88cb66e (HEAD, tag: rel-1.7.2.1, origin/1.7.2-stable, 1.7.2-stable) seabios: Add a dummy PCI slot to irq mapping funct
good   * 985a9d3 seabios q35: Add new PCI slot to irq routing function
good   * 2b57726 seabios q35: Enable all PIRQn IRQs at startup
good   * e5fe4f9 Verify CC is valid during build tests.
good   * 4219149 build: Don't require $(OUT) to be a sub-directory of the main directory.
bad    * d75c22f Fix Makefile - don't reference "out/" directly, instead use "$(OUT)".
bad    * 12e8199 USB-EHCI: Fix null pointer assignment
bad    * f396871 Update tools/acpi_extract.py to handle iasl 20130117 release.
bad    * 4bd8aeb (tag: rel-1.7.2) vgabios: implement AX=1120H..1124H functions


good:
Version: rel-1.7.2-4-g4219149-20130307_085117-don-lt.don.CloudSwitch.com
Fixed space: 0xe05b-0x10000  total: 8101  slack: 5  Percent slack: 0.1%
16bit size:           39856
32bit segmented size: 1430
32bit flat size:      18778
32bit flat init size: 62400
Lowmem size:          2176

bad:
Version: rel-1.7.2-3-gd75c22f-20130307_085345-don-lt.don.CloudSwitch.com
Fixed space: 0xe05b-0x10000  total: 8101  slack: 5  Percent slack: 0.1%
16bit size:           39808
32bit segmented size: 1430
32bit flat size:      18778
32bit flat init size: 62400
Lowmem size:          2176


The 16bit size change is the only output change.

The changed that fixed it:

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.
   
    Remove references to "../" and "out/" from the build so that "make
    OUT=/a/b/c/" will work.
   
    Signed-off-by: Kevin O'Connor <kevin@koconnor.net>

diff --git a/Makefile b/Makefile
index a482c94..20da6d0 100644
--- a/Makefile
+++ b/Makefile
@@ -84,7 +84,7 @@ vpath %.S src vgasrc
 ################ Common build rules
 
 # Verify the build environment works.
-TESTGCC:=$(shell CC="$(CC)" LD="$(LD)" IASL="$(IASL)" tools/test-build.sh)
+TESTGCC:=$(shell OUT="$(OUT)" CC="$(CC)" LD="$(LD)" IASL="$(IASL)" tools/test-build.sh)
 ifeq "$(TESTGCC)" "-1"
 $(error "Please upgrade the build environment")
 endif
@@ -97,7 +97,7 @@ endif
 # Do a whole file compile by textually including all C code.
 define whole-compile
 @echo "  Compiling whole program $3"
-$(Q)printf '$(foreach i,$2,#include "../$i"\n)' > $3.tmp.c
+$(Q)printf '$(foreach i,$2,#include "$(CURDIR)/$i"\n)' > $3.tmp.c
 $(Q)$(CC) $1 $(CFLAGSWHOLE) -c $3.tmp.c -o $3
 endef
 
diff --git a/src/Kconfig b/src/Kconfig
index 0b112ed..2c9100d 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -367,7 +367,7 @@ menu "BIOS Tables"
             Support generation of ACPI tables.
 endmenu
 
-source ../vgasrc/Kconfig
+source vgasrc/Kconfig
 
 menu "Debugging"
     config DEBUG_LEVEL
diff --git a/tools/test-build.sh b/tools/test-build.sh
index 7bd6d1f..ce0aca9 100755
--- a/tools/test-build.sh
+++ b/tools/test-build.sh
@@ -14,13 +14,13 @@ if [ $? -ne 0 ]; then
     exit 0
 fi
 
-mkdir -p out
-TMPFILE1=out/tmp_testcompile1.c
-TMPFILE1o=out/tmp_testcompile1.o
-TMPFILE1_ld=out/tmp_testcompile1.lds
-TMPFILE2=out/tmp_testcompile2.c
-TMPFILE2o=out/tmp_testcompile2.o
-TMPFILE3o=out/tmp_testcompile3.o
+mkdir -p ${OUT}
+TMPFILE1=${OUT}/tmp_testcompile1.c
+TMPFILE1o=${OUT}/tmp_testcompile1.o
+TMPFILE1_ld=${OUT}/tmp_testcompile1.lds
+TMPFILE2=${OUT}/tmp_testcompile2.c
+TMPFILE2o=${OUT}/tmp_testcompile2.o
+TMPFILE3o=${OUT}/tmp_testcompile3.o
 
 # Test if ld's alignment handling is correct.  This is a known problem
 # with the linker that ships with Ubuntu 11.04.

  -Don Slutz
--------------040303030908030505020506-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43726) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDbVt-0000Qm-Nj for qemu-devel@nongnu.org; Thu, 07 Mar 2013 09:09:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDbVl-0003ns-Cf for qemu-devel@nongnu.org; Thu, 07 Mar 2013 09:09:41 -0500 From: Don Slutz Message-ID: <51389F96.2090003@terremark.com> Date: Thu, 7 Mar 2013 09:09:26 -0500 MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <20130307084304.GA17400@ohm.aurel32.net> <20130307135706.GA14645@morn.localdomain> In-Reply-To: <20130307135706.GA14645@morn.localdomain> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: "qemu-devel@nongnu.org" , seabios@seabios.org, qemu-stable@nongnu.org, Aurelien Jarno , Dietmar Maurer On 03/07/13 08:57, Kevin O'Connor wrote: > On Thu, Mar 07, 2013 at 09:43:04AM +0100, Aurelien Jarno wrote: >> On Wed, Mar 06, 2013 at 07:53:51PM -0500, Kevin O'Connor wrote: >>> 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? >>> >> I did a git bisect to find the commit fixing the issue. Then, as I was >> not believing the result, I tried the following sequence a dozen of >> times (for some unknown reasons the FreeBSD install CD doesn't exhibit >> the issue, so I used the Debian GNU/kFreeBSD installer): > Thanks. I'll take a look at this tonight. If you get a chance first, > could you try adding "make distclean; make clean" into the seabios > steps? > > -Kevin > > _______________________________________________ > SeaBIOS mailing list > SeaBIOS@seabios.org > http://www.seabios.org/mailman/listinfo/seabios make distclean;make clean Do not change what happens. git clean -fdx looks to be good enough. -Don From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:36792) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDcSN-00050M-5V for qemu-devel@nongnu.org; Thu, 07 Mar 2013 10:10:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDcSI-0000xa-52 for qemu-devel@nongnu.org; Thu, 07 Mar 2013 10:10:07 -0500 Received: from mail-lb0-f174.google.com ([209.85.217.174]:62448) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDcLt-0007C3-Mx for qemu-devel@nongnu.org; Thu, 07 Mar 2013 10:03:25 -0500 Received: by mail-lb0-f174.google.com with SMTP id l12so509854lbo.5 for ; Thu, 07 Mar 2013 07:03:24 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <51388079.3010707@redhat.com> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> From: Peter Maydell Date: Thu, 7 Mar 2013 23:03:04 +0800 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Kevin O'Connor , Laszlo Ersek , Dietmar Maurer , Aurelien Jarno On 7 March 2013 19:56, Gerd Hoffmann wrote: >> We don't even ship any upstream blobs in the debian qemu _source_ >> package: we repack upstream qemu.tar.gz by removing these blobs. > > That's a bit over the top for my taste as the release tarballs include > both source and blobs. qemu-linaro's source tarballs (and indeed git tree) drops the blobs as well. I didn't want to have to deal with the issues of making sure the sources were present and matched the blobs. In general having blobs in our allegedly source tarball is pretty ugly. Either it's a source release or it isn't. We can do a release-of-blobs tarball too if we want, but it doesn't need to be in the source tarball and it doesn't need to be in git either IMHO. -- PMM From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:49760) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDdBb-0008Vr-6g for qemu-devel@nongnu.org; Thu, 07 Mar 2013 10:56:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDdBZ-0001l3-PN for qemu-devel@nongnu.org; Thu, 07 Mar 2013 10:56:51 -0500 Message-ID: <5138B8B3.8070200@redhat.com> Date: Thu, 07 Mar 2013 16:56:35 +0100 From: Gerd Hoffmann MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Kevin O'Connor , Laszlo Ersek , Dietmar Maurer , Aurelien Jarno Hi, > In general having blobs in our allegedly source tarball is pretty > ugly. Either it's a source release or it isn't. We can do a > release-of-blobs tarball too if we want, but it doesn't need > to be in the source tarball This is easily doable, just an update to scripts/make-release to spew two tarballs (one source, one blobs). We probably want update the build process to build the blobs by default (if the compilers needed are installed). Blueswirl started that already for sparc firmware I think. > and it doesn't need to be in git > either IMHO. That one is a bit more tricky. The big advantage git has here is that the update of a blob is not different from other updates. It is just a pull request. Keeping source+binaries in sync is easy too: we can update submodule hash + blobs with a single git commit. The process needs to stay simple, otherwise we'll risk that the blobs we provide will bitrot ... cheers, Gerd From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51513) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDdIE-0003Sh-TL for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:03:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDdI9-0003uN-FK for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:03:42 -0500 Received: from mail-lb0-f171.google.com ([209.85.217.171]:50850) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDdI9-0003u9-8g for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:03:37 -0500 Received: by mail-lb0-f171.google.com with SMTP id gg13so571656lbb.16 for ; Thu, 07 Mar 2013 08:03:36 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <5138B8B3.8070200@redhat.com> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> From: Peter Maydell Date: Fri, 8 Mar 2013 00:03:15 +0800 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Kevin O'Connor , Laszlo Ersek , Dietmar Maurer , Aurelien Jarno On 7 March 2013 23:56, Gerd Hoffmann wrote: > Peter Maydell wrote: >> In general having blobs in our allegedly source tarball is pretty >> ugly. Either it's a source release or it isn't. We can do a >> release-of-blobs tarball too if we want, but it doesn't need >> to be in the source tarball > > This is easily doable, just an update to scripts/make-release to spew > two tarballs (one source, one blobs). > > We probably want update the build process to build the blobs by default > (if the compilers needed are installed). Blueswirl started that already > for sparc firmware I think. Earlier in this thread it's been stated that this often produces subtly broken blobs... >> and it doesn't need to be in git >> either IMHO. > > That one is a bit more tricky. The big advantage git has here is that > the update of a blob is not different from other updates. It is just a > pull request. Keeping source+binaries in sync is easy too: we can > update submodule hash + blobs with a single git commit. You could put the sources for the binary blobs in their own git repo, and then have the blobs in that git repo rather than qemu mainline. -- PMM From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:52053) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDdKY-0005ej-Rg for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:06:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDdKT-00059k-TQ for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:06:06 -0500 Sender: Paolo Bonzini Message-ID: <5138BADC.1000208@redhat.com> Date: Thu, 07 Mar 2013 17:05:48 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <20130307084304.GA17400@ohm.aurel32.net> <51388FD1.2000201@terremark.com> <51389D9B.4010000@terremark.com> In-Reply-To: <51389D9B.4010000@terremark.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Don Slutz Cc: seabios@seabios.org, Dietmar Maurer , "qemu-devel@nongnu.org" , Aurelien Jarno , qemu-stable@nongnu.org Il 07/03/2013 15:00, Don Slutz ha scritto: > Turns out that this is not the normal kind of issue. Newer seabios > works, older does not: > > good * 88cb66e (HEAD, tag: rel-1.7.2.1, origin/1.7.2-stable, > 1.7.2-stable) seabios: Add a dummy PCI slot to irq mapping funct > good * 985a9d3 seabios q35: Add new PCI slot to irq routing function > good * 2b57726 seabios q35: Enable all PIRQn IRQs at startup > good * e5fe4f9 Verify CC is valid during build tests. > good * 4219149 build: Don't require $(OUT) to be a sub-directory of > the main directory. > bad * d75c22f Fix Makefile - don't reference "out/" directly, instead > use "$(OUT)". > bad * 12e8199 USB-EHCI: Fix null pointer assignment > bad * f396871 Update tools/acpi_extract.py to handle iasl 20130117 > release. > bad * 4bd8aeb (tag: rel-1.7.2) vgabios: implement AX=1120H..1124H > functions If so, you need to invert "bad" and "good" when bisecting. Did you? Paolo From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:54161) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDdTt-0003ji-3s for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:15:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDdTq-0008UK-P4 for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:15:44 -0500 Date: Thu, 7 Mar 2013 17:15:24 +0100 From: Aurelien Jarno Message-ID: <20130307161524.GB17594@ohm.aurel32.net> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <20130307084304.GA17400@ohm.aurel32.net> <20130307135706.GA14645@morn.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20130307135706.GA14645@morn.localdomain> Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: "qemu-devel@nongnu.org" , seabios@seabios.org, qemu-stable@nongnu.org, Dietmar Maurer On Thu, Mar 07, 2013 at 08:57:06AM -0500, Kevin O'Connor wrote: > On Thu, Mar 07, 2013 at 09:43:04AM +0100, Aurelien Jarno wrote: > > On Wed, Mar 06, 2013 at 07:53:51PM -0500, Kevin O'Connor wrote: > > > 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? > > > > > > > I did a git bisect to find the commit fixing the issue. Then, as I was > > not believing the result, I tried the following sequence a dozen of > > times (for some unknown reasons the FreeBSD install CD doesn't exhibit > > the issue, so I used the Debian GNU/kFreeBSD installer): > > Thanks. I'll take a look at this tonight. If you get a chance first, > could you try adding "make distclean; make clean" into the seabios > steps? > It doesn't change anything (which is more or less expected due to the git clean -fdx). I have tried to also copy acpi-dsdt.aml and it doesn't help (the file is the same in qemu v1.4.0, and in the "bad" and "good" version of seabios). -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:56308) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDdag-0006x5-JU for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:22:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDdaa-0002Lr-CN for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:22:46 -0500 Date: Thu, 7 Mar 2013 17:21:58 +0100 From: Aurelien Jarno Message-ID: <20130307162158.GC17594@ohm.aurel32.net> References: <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Kevin O'Connor , Gerd Hoffmann , Laszlo Ersek , Dietmar Maurer On Fri, Mar 08, 2013 at 12:03:15AM +0800, Peter Maydell wrote: > On 7 March 2013 23:56, Gerd Hoffmann wrote: > > Peter Maydell wrote: > >> In general having blobs in our allegedly source tarball is pretty > >> ugly. Either it's a source release or it isn't. We can do a > >> release-of-blobs tarball too if we want, but it doesn't need > >> to be in the source tarball > > > > This is easily doable, just an update to scripts/make-release to spew > > two tarballs (one source, one blobs). > > > > We probably want update the build process to build the blobs by default > > (if the compilers needed are installed). Blueswirl started that already > > for sparc firmware I think. > > Earlier in this thread it's been stated that this often produces > subtly broken blobs... > Would it be possible to have a testsuite to validate such blobs. For example the breakage which happens recently is due to the size of the bios reaching 128kB. This is something easy to check. On the QEMU side, we should definitely have an autotest system trying to boot a few guests (and if possible with some !linux) to detect such issues. That's not something easy to do, maybe that could be a good GSoC project? -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41486) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDe8i-0001Ke-Be for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:58:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDe8e-0007JB-40 for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:57:56 -0500 Received: from www.maurer-it.com ([213.129.239.114]:33366 helo=proxmox.maurer-it.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDdlF-0006iC-BT for qemu-devel@nongnu.org; Thu, 07 Mar 2013 11:33:41 -0500 From: Dietmar Maurer Date: Thu, 7 Mar 2013 16:33:00 +0000 Message-ID: <24E144B8C0207547AD09C467A8259F7557B2DB9D@lisa.maurer-it.com> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell , Gerd Hoffmann Cc: Anthony Liguori , Doug Goldstein , "seabios@seabios.org" , Michael Tokarev , "qemu-stable@nongnu.org" , "qemu-devel@nongnu.org" , Kevin O'Connor , Laszlo Ersek , Aurelien Jarno PiBJbiBnZW5lcmFsIGhhdmluZyBibG9icyBpbiBvdXIgYWxsZWdlZGx5IHNvdXJjZSB0YXJiYWxs IGlzIHByZXR0eSB1Z2x5LiBFaXRoZXIgaXQncyBhDQo+IHNvdXJjZSByZWxlYXNlIG9yIGl0IGlz bid0LiBXZSBjYW4gZG8gYSByZWxlYXNlLW9mLWJsb2JzIHRhcmJhbGwgdG9vIGlmIHdlIHdhbnQs DQo+IGJ1dCBpdCBkb2Vzbid0IG5lZWQgdG8gYmUgaW4gdGhlIHNvdXJjZSB0YXJiYWxsIGFuZCBp dCBkb2Vzbid0IG5lZWQgdG8gYmUgaW4gZ2l0DQo+IGVpdGhlciBJTUhPLg0KDQpJIHRoaW5rIGl0 IGlzIHZlcnkgY29udmVuaWVudCB0byBoYXZlIHRoYXQgaW4gZ2l0LCBiZWNhdXNlIGV2ZXJ5b25l IGNhbiB0ZXN0IHdpdGggdGhlDQpzYW1lIGJpbmFyeSAtIHRvIGRldGVjdCBlcnJvciBsaWtlIHRo aXMgb25lLg0K From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47716) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDg0R-0004bp-F0 for qemu-devel@nongnu.org; Thu, 07 Mar 2013 13:57:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDg0O-0002lQ-PT for qemu-devel@nongnu.org; Thu, 07 Mar 2013 13:57:31 -0500 Received: from foo.stuge.se ([212.116.89.98]:36533) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDg0O-0002kh-2l for qemu-devel@nongnu.org; Thu, 07 Mar 2013 13:57:28 -0500 Message-ID: <20130307185725.13917.qmail@stuge.se> Date: Thu, 7 Mar 2013 19:57:25 +0100 From: Peter Stuge References: <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> <20130307162158.GC17594@ohm.aurel32.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130307162158.GC17594@ohm.aurel32.net> Subject: Re: [Qemu-devel] [SeaBIOS] [Qemu-stable] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: Peter Maydell , Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Gerd Hoffmann , Dietmar Maurer Aurelien Jarno wrote: > > > We probably want update the build process to build the blobs by default > > > > Earlier in this thread it's been stated that this often produces > > subtly broken blobs... > > Would it be possible to have a testsuite to validate such blobs. The coreboot project has a test system which although not used much does allow distributed testing. Maybe it could be replicated for SeaBIOS. //Peter From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38454) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDhNA-00017r-Hp for qemu-devel@nongnu.org; Thu, 07 Mar 2013 15:25:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDhN8-0001Fx-Tu for qemu-devel@nongnu.org; Thu, 07 Mar 2013 15:25:04 -0500 Received: from bombadil.infradead.org ([2001:4830:2446:ff00:4687:fcff:fea6:5117]:44864) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDhN8-00015A-QQ for qemu-devel@nongnu.org; Thu, 07 Mar 2013 15:25:02 -0500 Message-ID: <1362687867.32099.4.camel@i7.infradead.org> From: David Woodhouse Date: Thu, 07 Mar 2013 20:24:27 +0000 In-Reply-To: <5138B8B3.8070200@redhat.com> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> Content-Type: multipart/signed; micalg="sha1"; protocol="application/x-pkcs7-signature"; boundary="=-UdjoPhUjDt9ktt50zVZs" Mime-Version: 1.0 Subject: Re: [Qemu-devel] [SeaBIOS] [Qemu-stable] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: Peter Maydell , Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Dietmar Maurer , Aurelien Jarno --=-UdjoPhUjDt9ktt50zVZs Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2013-03-07 at 16:56 +0100, Gerd Hoffmann wrote: > > and it doesn't need to be in git either IMHO. >=20 > That one is a bit more tricky. The big advantage git has here is that > the update of a blob is not different from other updates. It is just > a pull request. Keeping source+binaries in sync is easy too: we can > update submodule hash + blobs with a single git commit. FWIW I find the binaries in git to be a PITA. I submitted a patch in January to fix the VGA BIOS but it's still broken in git. The one installed in /usr/share/qemu is fine, but whenever I build qemu from git I have to remember to *remove* the one in the git tree or it uses that instead... --=20 dwmw2 --=-UdjoPhUjDt9ktt50zVZs Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Disposition: attachment; filename="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIUbjCCBjQw ggQcoAMCAQICAR4wDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0 Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAn BgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3MTAyNDIxMDE1NVoX DTE3MTAyNDIxMDE1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSsw KQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFy dENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAMcJg8zOLdgasSmkLhOrlr6KMoOMpohBllVHrdRvEg/q6r8jR+EK 75xCGhR8ToREoqe7zM9/UnC6TS2y9UKTpT1v7RSMzR0t6ndl0TWBuUr/UXBhPk+Kmy7bI4yW4urC +y7P3/1/X7U8ocb8VpH/Clt+4iq7nirMcNh6qJR+xjOhV+VHzQMALuGYn5KZmc1NbJQYclsGkDxD z2UbFqE2+6vIZoL+jb9x4Pa5gNf1TwSDkOkikZB1xtB4ZqtXThaABSONdfmv/Z1pua3FYxnCFmdr /+N2JLKutIxMYqQOJebr/f/h5t95m4JgrM3Y/w7YX9d7YAL9jvN4SydHsU6n65cCAwEAAaOCAa0w ggGpMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRTcu2SnODaywFc fH6WNU7y1LhRgjAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRa MFgwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYh aHR0cDovL3d3dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6 Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5j b20vc2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0 dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBAAqDCH14qywG XLhjjF6uHLkjd02hcdh9hrw+VUsv+q1eeQWB21jWj3kJ96AUlPCoEGZ/ynJNScWy6QMVQjbbMXlt UfO4n4bGGdKo3awPWp61tjAFgraLJgDk+DsSvUD6EowjMTNx25GQgyYJ5RPIzKKR9tQW8gGK+2+R HxkUCTbYFnL6kl8Ch507rUdPPipJ9CgJFws3kDS3gOS5WFMxcjO5DwKfKSETEPrHh7p5shuuNktv sv6hxHTLhiMKX893gxdT3XLS9OKmCv87vkINQcNEcIIoFWbP9HORz9v3vQwR4e3ksLc2JZOAFK+s sS5XMEoznzpihEP0PLc4dCBYjbvSD7kxgDwZ+Aj8Q9PkbvE9sIPP7ON0fz095HdThKjiVJe6vofq +n6b1NBc8XdrQvBmunwxD5nvtTW4vtN6VY7mUCmxsCieuoBJ9OlqmsVWQvifIYf40dJPZkk9YgGT zWLpXDSfLSplbY2LL9C9U0ptvjcDjefLTvqSFc7tw1sEhF0n/qpA2r0GpvkLRDmcSwVyPvmjFBGq Up/pNy8ZuPGQmHwFi2/14+xeSUDG2bwnsYJQG2EdJCB6luQ57GEnTA/yKZSTKI8dDQa8Sd3zfXb1 9mOgSF0bBdXbuKhEpuP9wirslFe6fQ1t5j5R0xi72MZ8ikMu1RQZKCyDbMwazlHiMIIHFzCCBf+g AwIBAgIDBCZ6MA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG A1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwHhcN MTIwNTAxMTI1ODI3WhcNMTMwNTAzMTEzNzIwWjBdMRkwFwYDVQQNExA4Y1VOSzUzMTc0ODRYRjk3 MRwwGgYDVQQDDBNkd213MkBpbmZyYWRlYWQub3JnMSIwIAYJKoZIhvcNAQkBFhNkd213MkBpbmZy YWRlYWQub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyYe7wo6MrtrB4uIGGbrY 4IifY/Xsq22pSv605yganL0+uyUdd8rCjrYlH6Q/ra5TVJCQFTgzaepkuqPQc79DC/Cxmzm6Qo+s wLZy868oFsccsVokL2bPAWIPaRXfNPJKkYR1FTWQfZpWJVQmT+sPf1XFUullVBAK+d9RztopyacI xWoZ/W/Cmv7mseQbttYTtGKJa0btX73nsQRWl6SgErWXo59zg9friCLTy1GXMXJYB8H+PtnuwX0w MrAvWDdX1ABgIlA17W3FraCn0eW15ZM46eyu0/amGzJZNtemCWF73P7BAijzeV1jNmiJFXdZ0DT0 w+hmtMO9PxdDUyt78QIDAQABo4IDrjCCA6owCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0l BBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdDgQWBBTkfe5UOr3PcirsjApibyyUEfsyRzAf BgNVHSMEGDAWgBRTcu2SnODaywFcfH6WNU7y1LhRgjAeBgNVHREEFzAVgRNkd213MkBpbmZyYWRl YWQub3JnMIICIQYDVR0gBIICGDCCAhQwggIQBgsrBgEEAYG1NwECAjCCAf8wLgYIKwYBBQUHAgEW Imh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93 d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgfcGCCsGAQUFBwICMIHqMCcWIFN0YXJ0 Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMCAQEagb5UaGlzIGNlcnRpZmljYXRlIHdhcyBp c3N1ZWQgYWNjb3JkaW5nIHRvIHRoZSBDbGFzcyAxIFZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIG9m IHRoZSBTdGFydENvbSBDQSBwb2xpY3ksIHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRlbmRlZCBw dXJwb3NlIGluIGNvbXBsaWFuY2Ugb2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlvbnMuMIGc BggrBgEFBQcCAjCBjzAnFiBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgECGmRM aWFiaWxpdHkgYW5kIHdhcnJhbnRpZXMgYXJlIGxpbWl0ZWQhIFNlZSBzZWN0aW9uICJMZWdhbCBh bmQgTGltaXRhdGlvbnMiIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3kuMDYGA1UdHwQvMC0wK6Ap oCeGJWh0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUxLWNybC5jcmwwgY4GCCsGAQUFBwEBBIGB MH8wOQYIKwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MxL2NsaWVu dC9jYTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNz MS5jbGllbnQuY2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzANBgkq hkiG9w0BAQUFAAOCAQEAqDU1FKifNtCFJbLnvOi1BLRfk7mut55PMtPSZLJ4/AnG7AjmJnbBI4U5 DELwvVq3mIpwUpGqZUkqkZMEfBPIbfq517UZB3h4iANtqif+ULfTLhg5XgcK5eF8/T6EtX2c3epq ylARdleCbj/0FwiUDvPlTsA6PIN4SCekjRLgjKERrL3heFz+Hteq1rtMAvMkNuyL0/0ijyyg2y45 NASAl2Afl9SLes/fnoh9nBwzfNQfb6qDYUFpnglfpGrq/0b1NtaOUb2z1SR+H1tKlb8bVJJIdvpu mEi27kSRIhzk3h30uTfKkKetgy++ouyldxZ7KZ0PuoLQrBy465EoQLosETCCBxcwggX/oAMCAQIC AwQmejANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0 ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMT L1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBMB4XDTEyMDUw MTEyNTgyN1oXDTEzMDUwMzExMzcyMFowXTEZMBcGA1UEDRMQOGNVTks1MzE3NDg0WEY5NzEcMBoG A1UEAwwTZHdtdzJAaW5mcmFkZWFkLm9yZzEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFk Lm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMmHu8KOjK7aweLiBhm62OCIn2P1 7KttqUr+tOcoGpy9PrslHXfKwo62JR+kP62uU1SQkBU4M2nqZLqj0HO/QwvwsZs5ukKPrMC2cvOv KBbHHLFaJC9mzwFiD2kV3zTySpGEdRU1kH2aViVUJk/rD39VxVLpZVQQCvnfUc7aKcmnCMVqGf1v wpr+5rHkG7bWE7RiiWtG7V+957EEVpekoBK1l6Ofc4PX64gi08tRlzFyWAfB/j7Z7sF9MDKwL1g3 V9QAYCJQNe1txa2gp9HlteWTOOnsrtP2phsyWTbXpglhe9z+wQIo83ldYzZoiRV3WdA09MPoZrTD vT8XQ1Mre/ECAwEAAaOCA64wggOqMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQG CCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQU5H3uVDq9z3Iq7IwKYm8slBH7MkcwHwYDVR0j BBgwFoAUU3Ltkpzg2ssBXHx+ljVO8tS4UYIwHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9y ZzCCAiEGA1UdIASCAhgwggIUMIICEAYLKwYBBAGBtTcBAgIwggH/MC4GCCsGAQUFBwIBFiJodHRw Oi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQGCCsGAQUFBwIBFihodHRwOi8vd3d3LnN0 YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIH3BggrBgEFBQcCAjCB6jAnFiBTdGFydENvbSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgEBGoG+VGhpcyBjZXJ0aWZpY2F0ZSB3YXMgaXNzdWVk IGFjY29yZGluZyB0byB0aGUgQ2xhc3MgMSBWYWxpZGF0aW9uIHJlcXVpcmVtZW50cyBvZiB0aGUg U3RhcnRDb20gQ0EgcG9saWN5LCByZWxpYW5jZSBvbmx5IGZvciB0aGUgaW50ZW5kZWQgcHVycG9z ZSBpbiBjb21wbGlhbmNlIG9mIHRoZSByZWx5aW5nIHBhcnR5IG9ibGlnYXRpb25zLjCBnAYIKwYB BQUHAgIwgY8wJxYgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwAwIBAhpkTGlhYmls aXR5IGFuZCB3YXJyYW50aWVzIGFyZSBsaW1pdGVkISBTZWUgc2VjdGlvbiAiTGVnYWwgYW5kIExp bWl0YXRpb25zIiBvZiB0aGUgU3RhcnRDb20gQ0EgcG9saWN5LjA2BgNVHR8ELzAtMCugKaAnhiVo dHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9jcnR1MS1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkG CCsGAQUFBzABhi1odHRwOi8vb2NzcC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMS9jbGllbnQvY2Ew QgYIKwYBBQUHMAKGNmh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczEuY2xp ZW50LmNhLmNydDAjBgNVHRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcN AQEFBQADggEBAKg1NRSonzbQhSWy57zotQS0X5O5rreeTzLT0mSyePwJxuwI5iZ2wSOFOQxC8L1a t5iKcFKRqmVJKpGTBHwTyG36ude1GQd4eIgDbaon/lC30y4YOV4HCuXhfP0+hLV9nN3qaspQEXZX gm4/9BcIlA7z5U7AOjyDeEgnpI0S4IyhEay94Xhc/h7Xqta7TALzJDbsi9P9Io8soNsuOTQEgJdg H5fUi3rP356IfZwcM3zUH2+qg2FBaZ4JX6Rq6v9G9TbWjlG9s9Ukfh9bSpW/G1SSSHb6bphItu5E kSIc5N4d9Lk3ypCnrYMvvqLspXcWeymdD7qC0KwcuOuRKEC6LBExggNvMIIDawIBATCBlDCBjDEL MAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdp dGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFy eSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBAgMEJnowCQYFKw4DAhoFAKCCAa8wGAYJKoZIhvcNAQkD MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTMwMzA3MjAyNDI3WjAjBgkqhkiG9w0BCQQx FgQUnxT4t/6lil1xhkMHCoi34KVxp6MwgaUGCSsGAQQBgjcQBDGBlzCBlDCBjDELMAkGA1UEBhMC SUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRp ZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1l ZGlhdGUgQ2xpZW50IENBAgMEJnowgacGCyqGSIb3DQEJEAILMYGXoIGUMIGMMQswCQYDVQQGEwJJ TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlm aWNhdGUgU2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVk aWF0ZSBDbGllbnQgQ0ECAwQmejANBgkqhkiG9w0BAQEFAASCAQBrC2A5URQ9965Vs8YNU0/fKvrK IVOOiVrAwPVWmx6uJLd5YauZpfQZGTiGut4dxwpl0dWFxKmQyX09M8SZ7G9vgofxugwWR/LWeY3C KS0Y3Lz5R64OwlwuUykkmJ4rtynyVxe1a+89UDmjSx0Cwsl6S2lLLGUIwSqUaeOvuqa0XBm2vbYK KLl1ubh/FiraNEY3RLU0FBBhl7Q9NJAlafCxj7c9w6fhuu0iIjgir++1MqEiV+5oRmGMIdJLunhg tmjqHXM/mUmUwdjcMn+7I6HnmJdqDD7n3RDGvybfvzoDJiHnfmiIMDlj+4vzYikN933Z6oIOsJx/ w/pwo2uXhPb+AAAAAAAA --=-UdjoPhUjDt9ktt50zVZs-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41909) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDo5R-0002Oi-39 for qemu-devel@nongnu.org; Thu, 07 Mar 2013 22:35:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDo5O-0000ac-PO for qemu-devel@nongnu.org; Thu, 07 Mar 2013 22:35:13 -0500 Received: from mail-qc0-x230.google.com ([2607:f8b0:400d:c01::230]:58701) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDo5O-0000aL-M3 for qemu-devel@nongnu.org; Thu, 07 Mar 2013 22:35:10 -0500 Received: by mail-qc0-f176.google.com with SMTP id n41so416015qco.35 for ; Thu, 07 Mar 2013 19:35:10 -0800 (PST) Date: Thu, 7 Mar 2013 22:35:07 -0500 From: Kevin O'Connor Message-ID: <20130308033507.GA31979@morn.localdomain> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <20130307084304.GA17400@ohm.aurel32.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130307084304.GA17400@ohm.aurel32.net> Subject: Re: [Qemu-devel] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: qemu-stable@nongnu.org, seabios@seabios.org, Dietmar Maurer , "qemu-devel@nongnu.org" On Thu, Mar 07, 2013 at 09:43:04AM +0100, Aurelien Jarno wrote: > On Wed, Mar 06, 2013 at 07:53:51PM -0500, Kevin O'Connor wrote: > > 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? > > > > I did a git bisect to find the commit fixing the issue. Then, as I was > not believing the result, I tried the following sequence a dozen of > times (for some unknown reasons the FreeBSD install CD doesn't exhibit > the issue, so I used the Debian GNU/kFreeBSD installer): [...] Thanks for the detailed bug report. Here's what I see going on: - the SeaBIOS 4219149a commit does change the resulting binary ever so slightly - the src/virtio_ring.c code has a reference to __FILE__ (the only code in SeaBIOS that does that), and due to slightly different build rules in this commit it evaluates to a slightly different string. - the freebsd crash has nothing to do with 4219149a or src/virtio_ring.c - instead, random changes in the seabios binary layout can cause (or avoid) the crash. You can see this in action by modifying seabios to have higher debug levels, commenting out code, adding dprintf statements, etc. - the crash happens when freebsd attempts to emulate the bios code (!) in order to determine the keyboard typematic rate (!). (See sys/dev/atkbdc/atkbd.c.) Since SeaBIOS doesn't support the typematic callback rate (int 0x16 ax=0x0306) this doesn't actually achieve anything in practice were the call to not crash. However, a crash does (sometimes) result. - the freebsd x86bios_get_pages() code is buggy (See sys/compat/x86bios/x86bios.c). It attempts to check that its x86 emulater (!) doesn't access a page it hasn't mapped. However, it does not check for the case where a two byte access spans two pages. If the first page is mapped, but the second is not - splat. The crash I've seen in QEMU had a two byte access to 0xffffff8000015fff with the fault at 0xffffff8000016000. - I have not been able to determine why an attempt was made to access a non-mapped page. My best guess is that the x86emu code (!) goes off the deep-end in all cases - just some cases lead it to the bug above and other cases lead it to a more friendly termination. (Recall that SeaBIOS doesn't support the typematic call anyway.) It should be possible to track this down by adding debug statements to the freebsd code if anyone is familiar with the freebsd kernel compile-deploy-run cycle. -Kevin From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57298) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDs1M-0006qk-IH for qemu-devel@nongnu.org; Fri, 08 Mar 2013 02:47:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDs1L-0001oK-6E for qemu-devel@nongnu.org; Fri, 08 Mar 2013 02:47:16 -0500 Sender: Paolo Bonzini Message-ID: <5139977B.9090608@redhat.com> Date: Fri, 08 Mar 2013 08:47:07 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> <1362687867.32099.4.camel@i7.infradead.org> In-Reply-To: <1362687867.32099.4.camel@i7.infradead.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [SeaBIOS] [Qemu-stable] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Woodhouse Cc: Peter Maydell , Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Gerd Hoffmann , Dietmar Maurer , Aurelien Jarno Il 07/03/2013 21:24, David Woodhouse ha scritto: > On Thu, 2013-03-07 at 16:56 +0100, Gerd Hoffmann wrote: >>> and it doesn't need to be in git either IMHO. >> >> That one is a bit more tricky. The big advantage git has here is that >> the update of a blob is not different from other updates. It is just >> a pull request. Keeping source+binaries in sync is easy too: we can >> update submodule hash + blobs with a single git commit. > > FWIW I find the binaries in git to be a PITA. I submitted a patch in > January to fix the VGA BIOS but it's still broken in git. The one > installed in /usr/share/qemu is fine, but whenever I build qemu from git > I have to remember to *remove* the one in the git tree or it uses that > instead... Wasn't that a fix for the SeaBIOS VGA BIOS? The one in qemu.git is still built from the Bochs VGA BIOS. Last year, malc blocked the switch on the lack of protected mode interface in SeaVGABIOS. Paolo From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:58016) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDs4Z-0000mw-Qr for qemu-devel@nongnu.org; Fri, 08 Mar 2013 02:50:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDs4Y-0002sm-Hg for qemu-devel@nongnu.org; Fri, 08 Mar 2013 02:50:35 -0500 Sender: Paolo Bonzini Message-ID: <51399841.9080300@redhat.com> Date: Fri, 08 Mar 2013 08:50:25 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> <20130307162158.GC17594@ohm.aurel32.net> In-Reply-To: <20130307162158.GC17594@ohm.aurel32.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-stable] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: Peter Maydell , Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Gerd Hoffmann , Dietmar Maurer Il 07/03/2013 17:21, Aurelien Jarno ha scritto: > > On the QEMU side, we should definitely have an autotest system trying to > boot a few guests (and if possible with some !linux) to detect such > issues. That's not something easy to do, maybe that could be a good > GSoC project? There is virt-test (formerly known as KVM Autotest). I did some of the lifting required to have !x86 guests, but haven't yet actually created the images. We (Red Hat) use that to run sanity tests on qemu.git. These tests last ~2.5 hours and include guest installations. Alternatively, you can use a pre-built image (the download is ~150MB compressed) and run tests on it. See the patch at http://permalink.gmane.org/gmane.comp.emulators.qemu/197856 that adds "make check-autotest" to QEMU. The tests it runs last a little less than 1 hour. Paolo From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:58912) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDs8l-0003Xw-Cr for qemu-devel@nongnu.org; Fri, 08 Mar 2013 02:54:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDs8i-0003tU-5Q for qemu-devel@nongnu.org; Fri, 08 Mar 2013 02:54:55 -0500 Message-ID: <1362729259.32099.32.camel@i7.infradead.org> From: David Woodhouse Date: Fri, 08 Mar 2013 07:54:19 +0000 In-Reply-To: <5139977B.9090608@redhat.com> References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> <1362687867.32099.4.camel@i7.infradead.org> <5139977B.9090608@redhat.com> Content-Type: multipart/signed; micalg="sha1"; protocol="application/x-pkcs7-signature"; boundary="=-v8Yu6Cvc/wbwB5BfOY2M" Mime-Version: 1.0 Subject: Re: [Qemu-devel] [SeaBIOS] [Qemu-stable] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Peter Maydell , Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , Gerd Hoffmann , Dietmar Maurer , Aurelien Jarno --=-v8Yu6Cvc/wbwB5BfOY2M Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 2013-03-08 at 08:47 +0100, Paolo Bonzini wrote: > Wasn't that a fix for the SeaBIOS VGA BIOS? The one in qemu.git is > still built from the Bochs VGA BIOS. No, it was for Bochs VGA BIOS. http://lists.gnu.org/archive/html/qemu-devel/2013-01/msg03650.html --=20 dwmw2 --=-v8Yu6Cvc/wbwB5BfOY2M Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Disposition: attachment; filename="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIUbjCCBjQw ggQcoAMCAQICAR4wDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0 Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAn BgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3MTAyNDIxMDE1NVoX DTE3MTAyNDIxMDE1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSsw KQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFy dENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAMcJg8zOLdgasSmkLhOrlr6KMoOMpohBllVHrdRvEg/q6r8jR+EK 75xCGhR8ToREoqe7zM9/UnC6TS2y9UKTpT1v7RSMzR0t6ndl0TWBuUr/UXBhPk+Kmy7bI4yW4urC +y7P3/1/X7U8ocb8VpH/Clt+4iq7nirMcNh6qJR+xjOhV+VHzQMALuGYn5KZmc1NbJQYclsGkDxD z2UbFqE2+6vIZoL+jb9x4Pa5gNf1TwSDkOkikZB1xtB4ZqtXThaABSONdfmv/Z1pua3FYxnCFmdr /+N2JLKutIxMYqQOJebr/f/h5t95m4JgrM3Y/w7YX9d7YAL9jvN4SydHsU6n65cCAwEAAaOCAa0w ggGpMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRTcu2SnODaywFc fH6WNU7y1LhRgjAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRa MFgwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYh aHR0cDovL3d3dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6 Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5j b20vc2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0 dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBAAqDCH14qywG XLhjjF6uHLkjd02hcdh9hrw+VUsv+q1eeQWB21jWj3kJ96AUlPCoEGZ/ynJNScWy6QMVQjbbMXlt UfO4n4bGGdKo3awPWp61tjAFgraLJgDk+DsSvUD6EowjMTNx25GQgyYJ5RPIzKKR9tQW8gGK+2+R HxkUCTbYFnL6kl8Ch507rUdPPipJ9CgJFws3kDS3gOS5WFMxcjO5DwKfKSETEPrHh7p5shuuNktv sv6hxHTLhiMKX893gxdT3XLS9OKmCv87vkINQcNEcIIoFWbP9HORz9v3vQwR4e3ksLc2JZOAFK+s sS5XMEoznzpihEP0PLc4dCBYjbvSD7kxgDwZ+Aj8Q9PkbvE9sIPP7ON0fz095HdThKjiVJe6vofq +n6b1NBc8XdrQvBmunwxD5nvtTW4vtN6VY7mUCmxsCieuoBJ9OlqmsVWQvifIYf40dJPZkk9YgGT zWLpXDSfLSplbY2LL9C9U0ptvjcDjefLTvqSFc7tw1sEhF0n/qpA2r0GpvkLRDmcSwVyPvmjFBGq Up/pNy8ZuPGQmHwFi2/14+xeSUDG2bwnsYJQG2EdJCB6luQ57GEnTA/yKZSTKI8dDQa8Sd3zfXb1 9mOgSF0bBdXbuKhEpuP9wirslFe6fQ1t5j5R0xi72MZ8ikMu1RQZKCyDbMwazlHiMIIHFzCCBf+g AwIBAgIDBCZ6MA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG A1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwHhcN MTIwNTAxMTI1ODI3WhcNMTMwNTAzMTEzNzIwWjBdMRkwFwYDVQQNExA4Y1VOSzUzMTc0ODRYRjk3 MRwwGgYDVQQDDBNkd213MkBpbmZyYWRlYWQub3JnMSIwIAYJKoZIhvcNAQkBFhNkd213MkBpbmZy YWRlYWQub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyYe7wo6MrtrB4uIGGbrY 4IifY/Xsq22pSv605yganL0+uyUdd8rCjrYlH6Q/ra5TVJCQFTgzaepkuqPQc79DC/Cxmzm6Qo+s wLZy868oFsccsVokL2bPAWIPaRXfNPJKkYR1FTWQfZpWJVQmT+sPf1XFUullVBAK+d9RztopyacI xWoZ/W/Cmv7mseQbttYTtGKJa0btX73nsQRWl6SgErWXo59zg9friCLTy1GXMXJYB8H+PtnuwX0w MrAvWDdX1ABgIlA17W3FraCn0eW15ZM46eyu0/amGzJZNtemCWF73P7BAijzeV1jNmiJFXdZ0DT0 w+hmtMO9PxdDUyt78QIDAQABo4IDrjCCA6owCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0l BBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdDgQWBBTkfe5UOr3PcirsjApibyyUEfsyRzAf BgNVHSMEGDAWgBRTcu2SnODaywFcfH6WNU7y1LhRgjAeBgNVHREEFzAVgRNkd213MkBpbmZyYWRl YWQub3JnMIICIQYDVR0gBIICGDCCAhQwggIQBgsrBgEEAYG1NwECAjCCAf8wLgYIKwYBBQUHAgEW Imh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93 d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgfcGCCsGAQUFBwICMIHqMCcWIFN0YXJ0 Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMCAQEagb5UaGlzIGNlcnRpZmljYXRlIHdhcyBp c3N1ZWQgYWNjb3JkaW5nIHRvIHRoZSBDbGFzcyAxIFZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIG9m IHRoZSBTdGFydENvbSBDQSBwb2xpY3ksIHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRlbmRlZCBw dXJwb3NlIGluIGNvbXBsaWFuY2Ugb2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlvbnMuMIGc BggrBgEFBQcCAjCBjzAnFiBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgECGmRM aWFiaWxpdHkgYW5kIHdhcnJhbnRpZXMgYXJlIGxpbWl0ZWQhIFNlZSBzZWN0aW9uICJMZWdhbCBh bmQgTGltaXRhdGlvbnMiIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3kuMDYGA1UdHwQvMC0wK6Ap oCeGJWh0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUxLWNybC5jcmwwgY4GCCsGAQUFBwEBBIGB MH8wOQYIKwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MxL2NsaWVu dC9jYTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNz MS5jbGllbnQuY2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzANBgkq hkiG9w0BAQUFAAOCAQEAqDU1FKifNtCFJbLnvOi1BLRfk7mut55PMtPSZLJ4/AnG7AjmJnbBI4U5 DELwvVq3mIpwUpGqZUkqkZMEfBPIbfq517UZB3h4iANtqif+ULfTLhg5XgcK5eF8/T6EtX2c3epq ylARdleCbj/0FwiUDvPlTsA6PIN4SCekjRLgjKERrL3heFz+Hteq1rtMAvMkNuyL0/0ijyyg2y45 NASAl2Afl9SLes/fnoh9nBwzfNQfb6qDYUFpnglfpGrq/0b1NtaOUb2z1SR+H1tKlb8bVJJIdvpu mEi27kSRIhzk3h30uTfKkKetgy++ouyldxZ7KZ0PuoLQrBy465EoQLosETCCBxcwggX/oAMCAQIC AwQmejANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0 ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMT L1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBMB4XDTEyMDUw MTEyNTgyN1oXDTEzMDUwMzExMzcyMFowXTEZMBcGA1UEDRMQOGNVTks1MzE3NDg0WEY5NzEcMBoG A1UEAwwTZHdtdzJAaW5mcmFkZWFkLm9yZzEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFk Lm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMmHu8KOjK7aweLiBhm62OCIn2P1 7KttqUr+tOcoGpy9PrslHXfKwo62JR+kP62uU1SQkBU4M2nqZLqj0HO/QwvwsZs5ukKPrMC2cvOv KBbHHLFaJC9mzwFiD2kV3zTySpGEdRU1kH2aViVUJk/rD39VxVLpZVQQCvnfUc7aKcmnCMVqGf1v wpr+5rHkG7bWE7RiiWtG7V+957EEVpekoBK1l6Ofc4PX64gi08tRlzFyWAfB/j7Z7sF9MDKwL1g3 V9QAYCJQNe1txa2gp9HlteWTOOnsrtP2phsyWTbXpglhe9z+wQIo83ldYzZoiRV3WdA09MPoZrTD vT8XQ1Mre/ECAwEAAaOCA64wggOqMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdJQQWMBQG CCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQU5H3uVDq9z3Iq7IwKYm8slBH7MkcwHwYDVR0j BBgwFoAUU3Ltkpzg2ssBXHx+ljVO8tS4UYIwHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9y ZzCCAiEGA1UdIASCAhgwggIUMIICEAYLKwYBBAGBtTcBAgIwggH/MC4GCCsGAQUFBwIBFiJodHRw Oi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMDQGCCsGAQUFBwIBFihodHRwOi8vd3d3LnN0 YXJ0c3NsLmNvbS9pbnRlcm1lZGlhdGUucGRmMIH3BggrBgEFBQcCAjCB6jAnFiBTdGFydENvbSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgEBGoG+VGhpcyBjZXJ0aWZpY2F0ZSB3YXMgaXNzdWVk IGFjY29yZGluZyB0byB0aGUgQ2xhc3MgMSBWYWxpZGF0aW9uIHJlcXVpcmVtZW50cyBvZiB0aGUg U3RhcnRDb20gQ0EgcG9saWN5LCByZWxpYW5jZSBvbmx5IGZvciB0aGUgaW50ZW5kZWQgcHVycG9z ZSBpbiBjb21wbGlhbmNlIG9mIHRoZSByZWx5aW5nIHBhcnR5IG9ibGlnYXRpb25zLjCBnAYIKwYB BQUHAgIwgY8wJxYgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwAwIBAhpkTGlhYmls aXR5IGFuZCB3YXJyYW50aWVzIGFyZSBsaW1pdGVkISBTZWUgc2VjdGlvbiAiTGVnYWwgYW5kIExp bWl0YXRpb25zIiBvZiB0aGUgU3RhcnRDb20gQ0EgcG9saWN5LjA2BgNVHR8ELzAtMCugKaAnhiVo dHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9jcnR1MS1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkG CCsGAQUFBzABhi1odHRwOi8vb2NzcC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMS9jbGllbnQvY2Ew QgYIKwYBBQUHMAKGNmh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczEuY2xp ZW50LmNhLmNydDAjBgNVHRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcN AQEFBQADggEBAKg1NRSonzbQhSWy57zotQS0X5O5rreeTzLT0mSyePwJxuwI5iZ2wSOFOQxC8L1a t5iKcFKRqmVJKpGTBHwTyG36ude1GQd4eIgDbaon/lC30y4YOV4HCuXhfP0+hLV9nN3qaspQEXZX gm4/9BcIlA7z5U7AOjyDeEgnpI0S4IyhEay94Xhc/h7Xqta7TALzJDbsi9P9Io8soNsuOTQEgJdg H5fUi3rP356IfZwcM3zUH2+qg2FBaZ4JX6Rq6v9G9TbWjlG9s9Ukfh9bSpW/G1SSSHb6bphItu5E kSIc5N4d9Lk3ypCnrYMvvqLspXcWeymdD7qC0KwcuOuRKEC6LBExggNvMIIDawIBATCBlDCBjDEL MAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdp dGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFy eSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBAgMEJnowCQYFKw4DAhoFAKCCAa8wGAYJKoZIhvcNAQkD MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTMwMzA4MDc1NDE5WjAjBgkqhkiG9w0BCQQx FgQUEMCzTE3A9rhlDz66jaheWbwuJmswgaUGCSsGAQQBgjcQBDGBlzCBlDCBjDELMAkGA1UEBhMC SUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRp ZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1l ZGlhdGUgQ2xpZW50IENBAgMEJnowgacGCyqGSIb3DQEJEAILMYGXoIGUMIGMMQswCQYDVQQGEwJJ TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlm aWNhdGUgU2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVk aWF0ZSBDbGllbnQgQ0ECAwQmejANBgkqhkiG9w0BAQEFAASCAQCeN75dTQi4Lco4nAgjVqRkbJZS p05c2gaV5iMb0JIKym6ehXhbHFVQ23f4LQzDE6ftZqM8yu3hfi1lg2L067MDIXX/TZVq+0XPcssw M3A3gRpQHWJGi9IXxKCliXzvsm+TP4VuBQLitOx5gO6s71D3y4MrfQ8Gz4cYWDUfQjnBA9qx36Eb B0Ls36mmiyAUnZJLSWobS/dkFgs6L82F+dE8JALvZys4nRTtMbCqNNxyafAOnsnzB8HLUuMWbeyi GTyzyH1T2bdPKrTxaUwjc8dT9VvLketeITWlfJdhn9j7H34Xy002MHNnYe/UKTlCC2HC8ViiB67d pvt2o+cPaHtLAAAAAAAA --=-v8Yu6Cvc/wbwB5BfOY2M-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35015) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDsXw-0003v0-CG for qemu-devel@nongnu.org; Fri, 08 Mar 2013 03:20:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDsXu-00048A-72 for qemu-devel@nongnu.org; Fri, 08 Mar 2013 03:20:56 -0500 Message-ID: <51399F48.8060002@redhat.com> Date: Fri, 08 Mar 2013 09:20:24 +0100 From: Gerd Hoffmann MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> <1362687867.32099.4.camel@i7.infradead.org> <5139977B.9090608@redhat.com> In-Reply-To: <5139977B.9090608@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [SeaBIOS] [Qemu-stable] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Peter Maydell , Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , David Woodhouse , Dietmar Maurer , Aurelien Jarno On 03/08/13 08:47, Paolo Bonzini wrote: >> FWIW I find the binaries in git to be a PITA. I submitted a patch in >> January to fix the VGA BIOS but it's still broken in git. The one >> installed in /usr/share/qemu is fine, but whenever I build qemu from git >> I have to remember to *remove* the one in the git tree or it uses that >> instead... > > Wasn't that a fix for the SeaBIOS VGA BIOS? The one in qemu.git is > still built from the Bochs VGA BIOS. > > Last year, malc blocked the switch on the lack of protected mode > interface in SeaVGABIOS. Fedora switched though, so the distro binaries in /usr/share/qemu are the seavgabios ones. "make -C roms seavgabios" in the qemu source tree will upgrade the blobs in pc-bios/. cheers, Gerd From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38147) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDskl-0003Sp-ES for qemu-devel@nongnu.org; Fri, 08 Mar 2013 03:34:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDskk-0008Fb-1O for qemu-devel@nongnu.org; Fri, 08 Mar 2013 03:34:11 -0500 Message-ID: <5139A260.6010609@redhat.com> Date: Fri, 08 Mar 2013 09:33:36 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> <1362687867.32099.4.camel@i7.infradead.org> <5139977B.9090608@redhat.com> <51399F48.8060002@redhat.com> In-Reply-To: <51399F48.8060002@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [SeaBIOS] [Qemu-stable] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: Peter Maydell , Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , David Woodhouse , Dietmar Maurer , Aurelien Jarno Il 08/03/2013 09:20, Gerd Hoffmann ha scritto: > On 03/08/13 08:47, Paolo Bonzini wrote: >>> FWIW I find the binaries in git to be a PITA. I submitted a patch in >>> January to fix the VGA BIOS but it's still broken in git. The one >>> installed in /usr/share/qemu is fine, but whenever I build qemu from git >>> I have to remember to *remove* the one in the git tree or it uses that >>> instead... >> >> Wasn't that a fix for the SeaBIOS VGA BIOS? The one in qemu.git is >> still built from the Bochs VGA BIOS. >> >> Last year, malc blocked the switch on the lack of protected mode >> interface in SeaVGABIOS. > > Fedora switched though, so the distro binaries in /usr/share/qemu are > the seavgabios ones. Did it? This is F18: $ rpm -q --requires qemu-system-x86|grep bios seabios-bin >= 0.6.0-2 sgabios-bin vgabios >= 0.6c-2 $ rpm -q vgabios vgabios-0.6c-5.fc18.noarch $ rpm -ql seabios-bin /usr/share/seabios /usr/share/seabios/bios.bin $ rpm -qf /usr/share/vgabios/ vgabios-0.6c-5.fc18.noarch Paolo > "make -C roms seavgabios" in the qemu source tree will upgrade the blobs > in pc-bios/. > > cheers, > Gerd > > From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:56233) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDu4K-0006OA-JY for qemu-devel@nongnu.org; Fri, 08 Mar 2013 04:58:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDu4J-00032F-O9 for qemu-devel@nongnu.org; Fri, 08 Mar 2013 04:58:28 -0500 Message-ID: <5139B62F.8070006@redhat.com> Date: Fri, 08 Mar 2013 10:58:07 +0100 From: Gerd Hoffmann MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> <1362687867.32099.4.camel@i7.infradead.org> <5139977B.9090608@redhat.com> <51399F48.8060002@redhat.com> <5139A260.6010609@redhat.com> In-Reply-To: <5139A260.6010609@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [SeaBIOS] [Qemu-stable] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Peter Maydell , Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , qemu-stable@nongnu.org, "qemu-devel@nongnu.org" , David Woodhouse , Dietmar Maurer , Aurelien Jarno > Did it? This is F18: > > $ rpm -q --requires qemu-system-x86|grep bios > seabios-bin >= 0.6.0-2 > sgabios-bin > vgabios >= 0.6c-2 Oops. There is a seavgabios-bin package too, and I through cole switched qemu over, but apparently this didn't happen (or maybe in rawhide only) ... cheers, Gerd From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:52365) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDvTP-00080y-Qi for qemu-devel@nongnu.org; Fri, 08 Mar 2013 06:28:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDvTL-0002vi-Q1 for qemu-devel@nongnu.org; Fri, 08 Mar 2013 06:28:27 -0500 Message-ID: <5139CBC3.8050506@redhat.com> Date: Fri, 08 Mar 2013 12:30:11 +0100 From: Laszlo Ersek MIME-Version: 1.0 References: <24E144B8C0207547AD09C467A8259F7557B2BE14@lisa.maurer-it.com> <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <20130307084304.GA17400@ohm.aurel32.net> <20130308033507.GA31979@morn.localdomain> In-Reply-To: <20130308033507.GA31979@morn.localdomain> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: "qemu-devel@nongnu.org" , seabios@seabios.org, qemu-stable@nongnu.org, Aurelien Jarno , Dietmar Maurer On 03/08/13 04:35, Kevin O'Connor wrote: > On Thu, Mar 07, 2013 at 09:43:04AM +0100, Aurelien Jarno wrote: >> On Wed, Mar 06, 2013 at 07:53:51PM -0500, Kevin O'Connor wrote: >>> 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? >>> >> >> I did a git bisect to find the commit fixing the issue. Then, as I was >> not believing the result, I tried the following sequence a dozen of >> times (for some unknown reasons the FreeBSD install CD doesn't exhibit >> the issue, so I used the Debian GNU/kFreeBSD installer): > [...] > > Thanks for the detailed bug report. Here's what I see going on: > > - the SeaBIOS 4219149a commit does change the resulting binary ever so > slightly - the src/virtio_ring.c code has a reference to __FILE__ > (the only code in SeaBIOS that does that), and due to slightly > different build rules in this commit it evaluates to a slightly > different string. > > - the freebsd crash has nothing to do with 4219149a or > src/virtio_ring.c - instead, random changes in the seabios binary > layout can cause (or avoid) the crash. You can see this in action > by modifying seabios to have higher debug levels, commenting out > code, adding dprintf statements, etc. > > - the crash happens when freebsd attempts to emulate the bios code (!) > in order to determine the keyboard typematic rate (!). (See > sys/dev/atkbdc/atkbd.c.) Since SeaBIOS doesn't support the typematic > callback rate (int 0x16 ax=0x0306) this doesn't actually achieve > anything in practice were the call to not crash. However, a crash > does (sometimes) result. > > - the freebsd x86bios_get_pages() code is buggy (See > sys/compat/x86bios/x86bios.c). It attempts to check that its x86 > emulater (!) doesn't access a page it hasn't mapped. However, it > does not check for the case where a two byte access spans two pages. > If the first page is mapped, but the second is not - splat. The > crash I've seen in QEMU had a two byte access to 0xffffff8000015fff > with the fault at 0xffffff8000016000. > > - I have not been able to determine why an attempt was made to access > a non-mapped page. My best guess is that the x86emu code (!) goes > off the deep-end in all cases - just some cases lead it to the bug > above and other cases lead it to a more friendly termination. > (Recall that SeaBIOS doesn't support the typematic call anyway.) It > should be possible to track this down by adding debug statements to > the freebsd code if anyone is familiar with the freebsd kernel > compile-deploy-run cycle. Great analysis! Laszlo (sorry for the noise) From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55001) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDxjJ-00018h-Mp for qemu-devel@nongnu.org; Fri, 08 Mar 2013 08:53:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDxjE-0000La-Rw for qemu-devel@nongnu.org; Fri, 08 Mar 2013 08:53:01 -0500 Received: from mail-qc0-x22d.google.com ([2607:f8b0:400d:c01::22d]:59323) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDxjE-0000LL-Nz for qemu-devel@nongnu.org; Fri, 08 Mar 2013 08:52:56 -0500 Received: by mail-qc0-f173.google.com with SMTP id b12so552834qca.4 for ; Fri, 08 Mar 2013 05:52:56 -0800 (PST) Date: Fri, 8 Mar 2013 08:52:54 -0500 From: Kevin O'Connor Message-ID: <20130308135254.GA6600@morn.localdomain> References: <20130306231208.GA17594@ohm.aurel32.net> <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [Qemu-stable] [SeaBIOS] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , "qemu-devel@nongnu.org" , qemu-stable@nongnu.org, Gerd Hoffmann , Laszlo Ersek , Dietmar Maurer , Aurelien Jarno On Fri, Mar 08, 2013 at 12:03:15AM +0800, Peter Maydell wrote: > Earlier in this thread it's been stated that this often produces > subtly broken blobs... I think there have been some far reaching conclusions in this thread based on incorrect premises. SeaBIOS has had problems with mis-compilations in the past. To handle this, the SeaBIOS build runs test cases on every compilation to verify the tool chain (see tools/test-build.sh). I have not seen a report of a guest visible SeaBIOS mis-compilation in many years. There have been a few cases of guest bugs that get tickled when changes to SeaBIOS cause slightly different memory layouts. The last case of this that comes to mind is the JunOS bug that was tracked down a year and a half ago. The root cause of the FreeBSD issue raised in this thread is very similar - the full details aren't known yet, but we do know that a slightly different memory layout is ticking a bug in a FreeBSD page presence check. Since changes are inevitable anyway (the only alternative would be to never enhance SeaBIOS), I don't believe that dictating one "true compiler" or one "true blob" is necessary or desirable. -Kevin From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47345) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDyk7-0007nO-Tn for qemu-devel@nongnu.org; Fri, 08 Mar 2013 09:58:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDyjz-0007cd-2F for qemu-devel@nongnu.org; Fri, 08 Mar 2013 09:57:55 -0500 Received: from foo.stuge.se ([212.116.89.98]:48859) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDyjy-0007bN-LA for qemu-devel@nongnu.org; Fri, 08 Mar 2013 09:57:46 -0500 Message-ID: <20130308145743.15365.qmail@stuge.se> Date: Fri, 8 Mar 2013 15:57:43 +0100 From: Peter Stuge References: <20130307005351.GA19296@morn.localdomain> <5137ED49.3030204@redhat.com> <20130307015844.26170.qmail@stuge.se> <51383F0B.8050704@msgid.tls.msk.ru> <51388079.3010707@redhat.com> <5138B8B3.8070200@redhat.com> <20130308135254.GA6600@morn.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130308135254.GA6600@morn.localdomain> Subject: Re: [Qemu-devel] [SeaBIOS] [Qemu-stable] problems with freeBSD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: Peter Maydell , Anthony Liguori , Doug Goldstein , seabios@seabios.org, Michael Tokarev , "qemu-devel@nongnu.org" , qemu-stable@nongnu.org, Gerd Hoffmann , Dietmar Maurer , Aurelien Jarno Kevin O'Connor wrote: > I don't believe that dictating one "true compiler" or one "true > blob" is necessary or desirable. Sure. The point isn't to have only one correct way, but to have reliable results in the common case. A reference toolchain and a reference blob both help accomplish that, but they're by no means the only, or even best, methods. //Peter