qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] New way of working with upstream Bochs BIOS


From: Andre Przywara
Subject: Re: [Qemu-devel] New way of working with upstream Bochs BIOS
Date: Fri, 19 Dec 2008 12:13:50 +0100
User-agent: Thunderbird 2.0.0.14 (X11/20080508)

Anthony Liguori wrote:
I've setup a git mirror of Bochs on repo.or.cz. I've also restructured the bios.diff into a patch queue and recorded what changeset we're using. Now, to recreate the bios.bin that we ship, use the following instructions:
Nice. But is requiring guilt (ever googled for it ;-) and poking around in .git really necessary? I'd suggest to force all patches to be in a (at least simulated) mbox format (as 0002-0005 are) and using "git am" in a for loop.

$ export QEMUSRC=/path/to/qemu/svn

$ git clone git://repo.or.cz/bochs-mirror.git
$ cd bochs-mirror
$ git checkout -b qemu-bios $(cat $QEMUSRC/pc-bios/bios-pq/HEAD)
If you would create a branch on the remote repo, one could use
$ git init && git fetch git://... qemu-bios:qemu-bios
which would directly get the desired branch only.

$ mkdir -p .git/patches
$ ln -s $QEMUSRC/pc-bios/bios-pq .git/patches/qemu-bios
$ touch .git/patches/qemu-bios/status
$ guilt push -a
could be replaced with
$ for p in $(cat $QEMUSRC/pc-bios/bios-pq/series); do git am $p; done

$ ./configure

$ cd bios
$ make
$ cp BIOS-bochs-latest $QEMUSRC/pc-bios/bios.bin
$ make bios
covers the above three steps.

New patches against bochs should go in pc-bios/bios-pq with series being updated appropriately. When we bump to a new version of the bochs bios, we should update pc-bios/HEAD appropriately. The bochs mirror gets updated daily with a cron job for now.

BTW: I think the #define BX_QEMU does not belong in a header file, but in a Makefile. What about pouring the above commands in a Makefile, which automatically fetches, patches and builds the BIOS? Normally this process would not be triggered, but only on explicit request.

Or patch the Makefile in the bochs-mirror.git:qemu-bios branch:
diff --git a/bios/Makefile.in b/bios/Makefile.in
index 5c7bd4f..0205dbe 100644
--- bochs-mirror/bios/Makefile.in
+++ bochs-mirror/bios/Makefile.in
@@ -41,7 +41,7 @@ RANLIB = @RANLIB@

 BCC = bcc
 GCC = gcc
-GCC32 = gcc -m32 -fno-stack-protector
+GCC32 = gcc -m32 -fno-stack-protector -DBX_QEMU
 AS86 = as86

 BX_INCDIRS = -I.. -I$(srcdir)/.. -I../iodev -I$(srcdir)/../iodev


Regards,
Andre.

--
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 277-84917
----to satisfy European Law for business letters:
AMD Saxony Limited Liability Company & Co. KG,
Wilschdorfer Landstr. 101, 01109 Dresden, Germany
Register Court Dresden: HRA 4896, General Partner authorized
to represent: AMD Saxony LLC (Wilmington, Delaware, US)
General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy





reply via email to

[Prev in Thread] Current Thread [Next in Thread]