Package: bochs Version: 2.3+20070705-2 Severity: normal -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
In Ubuntu, we've applied the attached patch to add a qemu specific bios package to the bochsbios build. QEMU upstream distributes the bios blob in their tarball along with a tiny patch. I've taken that patch and added it to bochs and build an extra package for this so that qemu can use that instead. We thought you might be interested in doing the same. - -- System Information: Debian Release: lenny/sid APT prefers hardy APT policy: (500, 'hardy') Architecture: amd64 (x86_64) Kernel: Linux 2.6.22-14-generic (SMP w/2 CPU cores) Locale: LANG=da_DK.UTF-8, LC_CTYPE=da_DK.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFHSoJxonjfXui9pOMRAjFbAJsFs19Qo6cQwEDxBfmwXsb8rmtqagCeMZ3d xySC7lvZoghjhHVTT6li800= =dNii -----END PGP SIGNATURE-----
diff -u bochs-2.3+20070705/debian/patches/series bochs-2.3+20070705/debian/patches/series --- bochs-2.3+20070705/debian/patches/series +++ bochs-2.3+20070705/debian/patches/series @@ -6,0 +7 @@ +06_qemu_bios.patch diff -u bochs-2.3+20070705/debian/changelog bochs-2.3+20070705/debian/changelog diff -u bochs-2.3+20070705/debian/control bochs-2.3+20070705/debian/control --- bochs-2.3+20070705/debian/control +++ bochs-2.3+20070705/debian/control @@ -48,6 +49,17 @@ . This package contains the BIOS of the Bochs project. +Package: bochsbios-qemu +Architecture: all +XB-Tag: hardware::emulation, implemented-in::c++, role::data +Description: Bochs BIOS for qemu + Bochs is a highly portable free IA-32 (x86) PC emulator written in C++, that + runs on most popular platforms. It includes emulation of the Intel x86 CPU, + common I/O devices, and a custom BIOS. + . + This package contains a special version of the BIOS of the Bochs project built + for qemu. + Package: bochs-wx Architecture: any Depends: ${shlibs:Depends}, bochs (= ${binary:Version}) only in patch2: unchanged: --- bochs-2.3+20070705.orig/debian/patches/06_qemu_bios.patch +++ bochs-2.3+20070705/debian/patches/06_qemu_bios.patch @@ -0,0 +1,66 @@ +Index: bochs-2.3+20070705/bios/Makefile.in +=================================================================== +--- bochs-2.3+20070705.orig/bios/Makefile.in 2006-10-03 22:27:30.000000000 +0200 ++++ bochs-2.3+20070705/bios/Makefile.in 2007-11-23 17:07:49.401603746 +0100 +@@ -57,7 +57,7 @@ + $(CXX) -c $(BX_INCDIRS) $(CXXFLAGS) $(LOCAL_CXXFLAGS) @[EMAIL PROTECTED]< @[EMAIL PROTECTED]@ + + +-bios: biossums BIOS-bochs-latest BIOS-bochs-legacy ++bios: biossums BIOS-bochs-latest-qemu BIOS-bochs-latest BIOS-bochs-legacy + + clean: + @RMCOMMAND@ *.o *.a *.s _rombios*_.c rombios*.txt rombios*.sym +@@ -92,15 +92,25 @@ + @RMCOMMAND@ _rombios_.s + + ++rombios32-qemu.bin: rombios32-qemu.out rombios.h ++ objcopy -O binary $< $@ ++ ./biossums -pad $@ ++ + rombios32.bin: rombios32.out rombios.h + objcopy -O binary $< $@ + ./biossums -pad $@ + ++rombios32-qemu.out: rombios32start.o rombios32-qemu.o rombios32.ld ++ ld -o $@ -T rombios32.ld rombios32start.o rombios32-qemu.o ++ + rombios32.out: rombios32start.o rombios32.o rombios32.ld + ld -o $@ -T rombios32.ld rombios32start.o rombios32.o + ++rombios32-qemu.o: rombios32.c acpi-dsdt.hex ++ $(GCC) -fno-stack-protector -DBX_QEMU -O2 -Wall -c -o $@ $< ++ + rombios32.o: rombios32.c acpi-dsdt.hex +- $(GCC) -O2 -Wall -c -o $@ $< ++ $(GCC) -fno-stack-protector -O2 -Wall -c -o $@ $< + + ifeq ("1", "0") + acpi-dsdt.hex: acpi-dsdt.dsl +@@ -110,6 +120,9 @@ + rombios32start.o: rombios32start.S + $(GCC) -c -o $@ $< + ++BIOS-bochs-latest-qemu: rombios16.bin rombios32-qemu.bin ++ cat rombios32-qemu.bin rombios16.bin > $@ ++ + BIOS-bochs-latest: rombios16.bin rombios32.bin + cat rombios32.bin rombios16.bin > $@ + +Index: bochs-2.3+20070705/bios/rombios32.c +=================================================================== +--- bochs-2.3+20070705.orig/bios/rombios32.c 2007-06-17 09:37:11.000000000 +0200 ++++ bochs-2.3+20070705/bios/rombios32.c 2007-11-23 17:06:39.044824617 +0100 +@@ -861,6 +861,11 @@ + int ioapic_id, i, len; + int mp_config_table_size; + ++#ifdef BX_QEMU ++ if (smp_cpus <= 1) ++ return; ++#endif ++ + #ifdef BX_USE_EBDA_TABLES + mp_config_table = (uint8_t *)(ram_size - ACPI_DATA_SIZE - MPTABLE_MAX_SIZE); + #else only in patch2: unchanged: --- bochs-2.3+20070705.orig/debian/bochsbios-qemu.dirs +++ bochs-2.3+20070705/debian/bochsbios-qemu.dirs @@ -0,0 +1 @@ +usr/share/bochs only in patch2: unchanged: --- bochs-2.3+20070705.orig/debian/bochsbios-qemu.install +++ bochs-2.3+20070705/debian/bochsbios-qemu.install @@ -0,0 +1 @@ +usr/share/bochs/BIOS-bochs-latest-qemu