qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot
@ 2009-07-29 18:45 Anthony Liguori
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 2/7] Always build roms in a separate directory Anthony Liguori
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 18:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, Avi Kivity, Alex Graf

We'll be storing all of our rom source code in roms/

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 configure                                         |    6 +++---
 {pc-bios/optionrom => roms/multiboot}/Makefile    |    4 ++--
 {pc-bios/optionrom => roms/multiboot}/multiboot.S |    0
 {pc-bios/optionrom => roms/multiboot}/signrom.sh  |    0
 4 files changed, 5 insertions(+), 5 deletions(-)
 rename {pc-bios/optionrom => roms/multiboot}/Makefile (79%)
 rename {pc-bios/optionrom => roms/multiboot}/multiboot.S (100%)
 rename {pc-bios/optionrom => roms/multiboot}/signrom.sh (100%)

diff --git a/configure b/configure
index 8160bed..264cc7b 100755
--- a/configure
+++ b/configure
@@ -1743,7 +1743,7 @@ echo "TOOLS=$tools" >> $config_host_mak
 roms=
 if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
         "$targetos" != "Darwin" ; then
-  roms="pc-bios/optionrom"
+  roms="roms/multiboot"
 fi
 echo "ROMS=$roms" >> $config_host_mak
 
@@ -2111,11 +2111,11 @@ done # for target in $targets
 
 # build tree in object directory if source path is different from current one
 if test "$source_path_used" = "yes" ; then
-    DIRS="tests tests/cris slirp audio block pc-bios/optionrom"
+    DIRS="tests tests/cris slirp audio block roms/multiboot"
     FILES="Makefile tests/Makefile"
     FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
     FILES="$FILES tests/test-mmap.c"
-    FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps pc-bios/video.x"
+    FILES="$FILES roms/multiboot/Makefile pc-bios/keymaps pc-bios/video.x"
     for bios_file in $source_path/pc-bios/*.bin $source_path/pc-bios/*.dtb $source_path/pc-bios/openbios-*; do
         FILES="$FILES pc-bios/`basename $bios_file`"
     done
diff --git a/pc-bios/optionrom/Makefile b/roms/multiboot/Makefile
similarity index 79%
rename from pc-bios/optionrom/Makefile
rename to roms/multiboot/Makefile
index ace142d..c6b5ca4 100644
--- a/pc-bios/optionrom/Makefile
+++ b/roms/multiboot/Makefile
@@ -3,7 +3,7 @@ all: build-all
 include ../../config-host.mak
 include $(SRC_PATH)/rules.mak
 
-VPATH=$(SRC_PATH)/pc-bios/optionrom
+VPATH=$(SRC_PATH)/roms/multiboot
 
 CPPFLAGS = -Wall -Wstrict-prototypes -Werror -fomit-frame-pointer -fno-builtin
 CPPFLAGS += -I$(SRC_PATH)
@@ -18,7 +18,7 @@ build-all: multiboot.bin
 	$(call quiet-command,$(OBJCOPY) -O binary -j .text $< $@,"  Building $(TARGET_DIR)$@")
 
 %.bin: %.raw
-	$(call quiet-command,$(SRC_PATH)/pc-bios/optionrom/signrom.sh $< $@,"  Signing $(TARGET_DIR)$@")
+	$(call quiet-command,$(SRC_PATH)/roms/multiboot/signrom.sh $< $@,"  Signing $(TARGET_DIR)$@")
 
 clean:
 	$(RM) *.o *.img *.bin *~
diff --git a/pc-bios/optionrom/multiboot.S b/roms/multiboot/multiboot.S
similarity index 100%
rename from pc-bios/optionrom/multiboot.S
rename to roms/multiboot/multiboot.S
diff --git a/pc-bios/optionrom/signrom.sh b/roms/multiboot/signrom.sh
similarity index 100%
rename from pc-bios/optionrom/signrom.sh
rename to roms/multiboot/signrom.sh
-- 
1.6.2.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 2/7] Always build roms in a separate directory
  2009-07-29 18:45 [Qemu-devel] [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot Anthony Liguori
@ 2009-07-29 18:45 ` Anthony Liguori
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 3/7] If we built a rom, install it. Otherwise, use shipped copy Anthony Liguori
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 18:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, Avi Kivity, Alex Graf

For some roms, the same source will get built multiple times for each board
type.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 Makefile  |    9 ++++++---
 configure |   13 ++++++++++---
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile
index c510ff3..059696a 100644
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,7 @@ config-host.mak:
 endif
 
 .PHONY: all clean cscope distclean dvi html info install install-doc \
-	recurse-all speed tar tarbin test
+	recurse-all speed tar tarbin test roms
 
 VPATH=$(SRC_PATH):$(SRC_PATH)/hw
 
@@ -220,9 +220,12 @@ clean:
 	rm -f slirp/*.o slirp/*.d audio/*.o audio/*.d block/*.o block/*.d
 	rm -f qemu-img-cmds.h
 	$(MAKE) -C tests clean
-	for d in $(TARGET_DIRS) $(ROMS) libhw32 libhw64; do \
+	for d in $(TARGET_DIRS) libhw32 libhw64; do \
 	$(MAKE) -C $$d $@ || exit 1 ; \
         done
+	for d in $(ROMS); do \
+	$(MAKE) -C pc-bios/$$d $@ || exit 1 ; \
+	done
 
 distclean: clean
 	rm -f config-host.mak config-host.h config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi
@@ -247,7 +250,7 @@ endif
 
 roms:
 	for d in $(ROMS); do \
-	$(MAKE) -C $$d || exit 1 ; \
+	$(MAKE) -C pc-bios/$$d || exit 1 ; \
         done
 
 install-doc: $(DOCS)
diff --git a/configure b/configure
index 264cc7b..f477aaf 100755
--- a/configure
+++ b/configure
@@ -1743,7 +1743,7 @@ echo "TOOLS=$tools" >> $config_host_mak
 roms=
 if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
         "$targetos" != "Darwin" ; then
-  roms="roms/multiboot"
+  roms="multiboot"
 fi
 echo "ROMS=$roms" >> $config_host_mak
 
@@ -2109,13 +2109,20 @@ fi
 
 done # for target in $targets
 
+# make directories for roms
+for rom in $roms; do
+    mkdir -p pc-bios/$rom
+    rm -f pc-bios/$rom/Makefile
+    ln -s $source_path/roms/$rom/Makefile pc-bios/$rom/Makefile
+done
+
 # build tree in object directory if source path is different from current one
 if test "$source_path_used" = "yes" ; then
-    DIRS="tests tests/cris slirp audio block roms/multiboot"
+    DIRS="tests tests/cris slirp audio block"
     FILES="Makefile tests/Makefile"
     FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
     FILES="$FILES tests/test-mmap.c"
-    FILES="$FILES roms/multiboot/Makefile pc-bios/keymaps pc-bios/video.x"
+    FILES="$FILES pc-bios/keymaps pc-bios/video.x"
     for bios_file in $source_path/pc-bios/*.bin $source_path/pc-bios/*.dtb $source_path/pc-bios/openbios-*; do
         FILES="$FILES pc-bios/`basename $bios_file`"
     done
-- 
1.6.2.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 3/7] If we built a rom, install it.  Otherwise, use shipped copy.
  2009-07-29 18:45 [Qemu-devel] [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot Anthony Liguori
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 2/7] Always build roms in a separate directory Anthony Liguori
@ 2009-07-29 18:45 ` Anthony Liguori
       [not found]   ` <m37hxr46rt.fsf@neno.mitica>
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 4/7] Allow a cross compiler to be used for rom builds Anthony Liguori
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 18:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, Avi Kivity, Alex Graf

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 Makefile |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 059696a..4f06ec1 100644
--- a/Makefile
+++ b/Makefile
@@ -242,8 +242,7 @@ ifdef INSTALL_BLOBS
 BLOBS=bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
 video.x openbios-sparc32 openbios-sparc64 openbios-ppc \
 pxe-ne2k_pci.bin pxe-rtl8139.bin pxe-pcnet.bin pxe-e1000.bin \
-bamboo.dtb petalogix-s3adsp1800.dtb \
-multiboot.bin
+bamboo.dtb petalogix-s3adsp1800.dtb
 else
 BLOBS=
 endif
@@ -274,6 +273,20 @@ ifneq ($(BLOBS),)
 		$(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
 	done
 endif
+        # FIXME: this is terrible
+	for rom in multiboot; do \
+	  case $$rom in \
+	    multiboot) srcbin=multiboot.bin ;; \
+	  esac; \
+	  if test -z "$$dstbin" ; then \
+	    dstbin=$$srcbin ; \
+	  fi; \
+	  if test -e pc-bios/$$rom/$$srcbin ; then \
+	    $(INSTALL_DATA) pc-bios/$$rom/$$srcbin "$(DESTDIR)$(datadir)/$$dstbin"; \
+	  else \
+	    $(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$dstbin "$(DESTDIR)$(datadir)"; \
+	  fi; \
+	done
 	$(INSTALL_DIR) "$(DESTDIR)$(datadir)/keymaps"
 	set -e; for x in $(KEYMAPS); do \
 		$(INSTALL_DATA) $(SRC_PATH)/pc-bios/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
-- 
1.6.2.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 4/7] Allow a cross compiler to be used for rom builds
  2009-07-29 18:45 [Qemu-devel] [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot Anthony Liguori
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 2/7] Always build roms in a separate directory Anthony Liguori
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 3/7] If we built a rom, install it. Otherwise, use shipped copy Anthony Liguori
@ 2009-07-29 18:45 ` Anthony Liguori
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 5/7] Add proper headers to all BIOS patches Anthony Liguori
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 18:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, Avi Kivity, Alex Graf

The host tool chain is not enough to build all of the possible roms for qemu.
This patch introduces a new option, --i386-cross-prefix, that provides the
cross prefix for a toolchain to build i386 roms.

This converts multiboot to use that toolchain.  If you don't specify
a cross prefix, then the host tool chain will be used if the architecture
matches.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 configure                  |   30 ++++++++++++++++++++++++++----
 roms/multiboot/Makefile    |    9 ++++-----
 roms/multiboot/multiboot.S |    2 +-
 3 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/configure b/configure
index f477aaf..75e5657 100755
--- a/configure
+++ b/configure
@@ -25,6 +25,7 @@ prefix=""
 interp_prefix="/usr/gnemul/qemu-%M"
 static="no"
 cross_prefix=""
+i386_cross_prefix=""
 cc="gcc"
 audio_drv_list=""
 audio_card_list="ac97 es1370 sb16"
@@ -43,6 +44,8 @@ for opt do
   case "$opt" in
   --cross-prefix=*) cross_prefix="$optarg"
   ;;
+  --i386-cross-prefix=*) i386_cross_prefix="$optarg"
+  ;;
   --cc=*) cc="$optarg"
   ;;
   esac
@@ -376,6 +379,8 @@ for opt do
   ;;
   --cross-prefix=*)
   ;;
+  --i386-cross-prefix=*)
+  ;;
   --cc=*)
   ;;
   --host-cc=*) host_cc="$optarg"
@@ -624,6 +629,7 @@ echo ""
 echo "Advanced options (experts only):"
 echo "  --source-path=PATH       path of source code [$source_path]"
 echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
+echo "  --i386-cross-prefix=P    use P for i386 compile tools"
 echo "  --cc=CC                  use C compiler CC [$cc]"
 echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."
 echo "  --extra-cflags=CFLAGS    append extra C compiler flags CFLAGS"
@@ -1739,11 +1745,12 @@ if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
 fi
 echo "TOOLS=$tools" >> $config_host_mak
 
-# Mac OS X ships with a broken assembler
 roms=
-if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
-        "$targetos" != "Darwin" ; then
-  roms="multiboot"
+# Mac OS X ships with a broken assembler
+if test \( \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
+        "$targetos" != "Darwin" \) -o \
+        "$i386_cross_prefix" ; then
+  roms="$roms multiboot"
 fi
 echo "ROMS=$roms" >> $config_host_mak
 
@@ -2114,6 +2121,21 @@ for rom in $roms; do
     mkdir -p pc-bios/$rom
     rm -f pc-bios/$rom/Makefile
     ln -s $source_path/roms/$rom/Makefile pc-bios/$rom/Makefile
+    config_mak="pc-bios/$rom/config.mak"
+    case "$rom" in
+      multiboot)
+	prefix=${i386_cross_prefix}
+	;;
+    esac
+    echo "# Automatically generated by configure - do not modify" > $config_mak
+    echo "include ../../config-host.mak" >> $config_mak
+    echo "include ${source_path}/rules.mak" >> $config_mak
+    echo "SRC_PATH=${source_path}/roms/$rom" >> $config_mak
+    echo "TOP_DIR=${source_path}" >> $config_mak
+    echo "CC=${prefix}${cc}" >> $config_mak
+    echo "CPP=${prefix}cpp" >> $config_mak
+    echo "LD=${prefix}${ld}" >> $config_mak
+    echo "OBJCOPY=${prefix}${objcopy}" >> $config_mak
 done
 
 # build tree in object directory if source path is different from current one
diff --git a/roms/multiboot/Makefile b/roms/multiboot/Makefile
index c6b5ca4..010feff 100644
--- a/roms/multiboot/Makefile
+++ b/roms/multiboot/Makefile
@@ -1,12 +1,11 @@
 all: build-all
 
-include ../../config-host.mak
-include $(SRC_PATH)/rules.mak
+include config.mak
 
-VPATH=$(SRC_PATH)/roms/multiboot
+VPATH=$(SRC_PATH)
 
 CPPFLAGS = -Wall -Wstrict-prototypes -Werror -fomit-frame-pointer -fno-builtin
-CPPFLAGS += -I$(SRC_PATH)
+CPPFLAGS += -I$(TOP_DIR)
 CPPFLAGS += $(call cc-option, $(CFLAGS), -fno-stack-protector,"")
 
 build-all: multiboot.bin
@@ -18,7 +17,7 @@ build-all: multiboot.bin
 	$(call quiet-command,$(OBJCOPY) -O binary -j .text $< $@,"  Building $(TARGET_DIR)$@")
 
 %.bin: %.raw
-	$(call quiet-command,$(SRC_PATH)/roms/multiboot/signrom.sh $< $@,"  Signing $(TARGET_DIR)$@")
+	$(call quiet-command,$(SRC_PATH)/signrom.sh $< $@,"  Signing $(TARGET_DIR)$@")
 
 clean:
 	$(RM) *.o *.img *.bin *~
diff --git a/roms/multiboot/multiboot.S b/roms/multiboot/multiboot.S
index 93beb51..ba7724b 100644
--- a/roms/multiboot/multiboot.S
+++ b/roms/multiboot/multiboot.S
@@ -19,7 +19,7 @@
  */
 
 #define NO_QEMU_PROTOS
-#include "../../hw/fw_cfg.h"
+#include "hw/fw_cfg.h"
 
 #define BIOS_CFG_IOPORT_CFG	0x510
 #define BIOS_CFG_IOPORT_DATA	0x511
-- 
1.6.2.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 5/7] Add proper headers to all BIOS patches
  2009-07-29 18:45 [Qemu-devel] [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot Anthony Liguori
                   ` (2 preceding siblings ...)
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 4/7] Allow a cross compiler to be used for rom builds Anthony Liguori
@ 2009-07-29 18:45 ` Anthony Liguori
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 6/7] Add pc-bios as a git submodule Anthony Liguori
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 18:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, Avi Kivity, Alex Graf

So that we can import them into git automatically

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 pc-bios/bios-pq/0001_bx-qemu.patch                 |    7 +++++++
 ...te-smbios-table-to-report-memory-above-4g.patch |    5 ++++-
 ...kvm-bios-generate-mptable-unconditionally.patch |    5 ++++-
 ...ll-over-reporting--issues-with-32g-guests.patch |    5 ++++-
 ...-memory-device-length-boundary--condition.patch |    5 ++++-
 ...ios-use-preprocessor-for-pci-link-routing.patch |    5 ++++-
 ...dd-26-pci-slots,-bringing-the-total-to-32.patch |    5 ++++-
 .../0008_qemu-bios-provide-gpe-_l0x-methods.patch  |    5 ++++-
 .../0009_qemu-bios-pci-hotplug-support.patch       |    5 ++++-
 ...-acpi-sci-interrupt-as-connected-to-irq-9.patch |    5 ++++-
 ...011_read-additional-acpi-tables-from-a-vm.patch |    5 ++++-
 ...2-load-smbios-entries-and-files-from-qemu.patch |    5 ++++-
 .../bios-pq/0014_add-srat-acpi-table-support.patch |    5 ++++-
 .../0015_enable-power-button-even-generation.patch |    5 ++++-
 ...e-correct-mask-to-size-pci-option-rom-bar.patch |    4 +++-
 pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch |    5 ++++-
 pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch    |    7 +++++--
 pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch       |    6 +++++-
 18 files changed, 76 insertions(+), 18 deletions(-)

diff --git a/pc-bios/bios-pq/0001_bx-qemu.patch b/pc-bios/bios-pq/0001_bx-qemu.patch
index ffca6b9..47a21b3 100644
--- a/pc-bios/bios-pq/0001_bx-qemu.patch
+++ b/pc-bios/bios-pq/0001_bx-qemu.patch
@@ -1,3 +1,10 @@
+From ca7b25e3ab8a49e46484bd436fedf72940f02887 Mon Sep 17 00:00:00 2001
+Date: Wed, 17 Dec 2008 21:35:49 +0000
+Subject: Enable BX_QEMU
+From: Anthony Liguori <aliguori@us.ibm.com>
+
+Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
+
 --- bochs-2.3.7.orig/bios/rombios.h
 +++ bochs-2.3.7/bios/rombios.h
 @@ -19,7 +19,7 @@
diff --git a/pc-bios/bios-pq/0002_kvm-bios-update-smbios-table-to-report-memory-above-4g.patch b/pc-bios/bios-pq/0002_kvm-bios-update-smbios-table-to-report-memory-above-4g.patch
index 3c1b921..7b85418 100644
--- a/pc-bios/bios-pq/0002_kvm-bios-update-smbios-table-to-report-memory-above-4g.patch
+++ b/pc-bios/bios-pq/0002_kvm-bios-update-smbios-table-to-report-memory-above-4g.patch
@@ -1,4 +1,7 @@
-update SMBIOS table to report memory above 4G (Alex Williamson)
+From 9a717b55df29b2b0dd0553ccfa656671bad043d1 Mon Sep 17 00:00:00 2001
+Date: Wed, 11 Feb 2009 14:55:47 +0000
+Subject: update SMBIOS table to report memory above 4G
+From: Alex Williamson <alex.williamson@hp.com>
 
 Signed-off-by: Alex Williamson <alex.williamson@hp.com>
 Signed-off-by: Avi Kivity <avi@redhat.com>
diff --git a/pc-bios/bios-pq/0003_kvm-bios-generate-mptable-unconditionally.patch b/pc-bios/bios-pq/0003_kvm-bios-generate-mptable-unconditionally.patch
index 7826a86..ae2fbf6 100644
--- a/pc-bios/bios-pq/0003_kvm-bios-generate-mptable-unconditionally.patch
+++ b/pc-bios/bios-pq/0003_kvm-bios-generate-mptable-unconditionally.patch
@@ -1,4 +1,7 @@
-generate mptable unconditionally (Avi Kivity)
+From 9a717b55df29b2b0dd0553ccfa656671bad043d1 Mon Sep 17 00:00:00 2001
+Date: Wed, 21 Jan 2009 21:46:20 +0000
+Subject: generate mptable unconditionally
+From: Avi Kivity <avi@qumranet.com>
 
 VMware ESX requires an mptable even for uniprocessor guests.
 
diff --git a/pc-bios/bios-pq/0004_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch b/pc-bios/bios-pq/0004_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch
index 070d610..252effc 100644
--- a/pc-bios/bios-pq/0004_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch
+++ b/pc-bios/bios-pq/0004_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch
@@ -1,4 +1,7 @@
-resolve memory device roll over reporting  issues with >32G guests (Bill Rieske)
+From 7217e1240340ab49878c4e415df40aa0c6376eb9 Mon Sep 17 00:00:00 2001
+Date: Wed, 11 Feb 2009 14:55:47 +0000
+Subject: resolve memory device roll over reporting issues with >32G guests
+From: Bill Rieske <brieske@novell.com>
 
 The field within the Memory Device type 17 is only a word with the MSB being
 used to report MB/KB.  Thereby, a guest with 32G and greater would report
diff --git a/pc-bios/bios-pq/0005_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch b/pc-bios/bios-pq/0005_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch
index e4ec229..0a9e0b0 100644
--- a/pc-bios/bios-pq/0005_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch
+++ b/pc-bios/bios-pq/0005_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch
@@ -1,4 +1,7 @@
-fix smbios memory device length boundary  condition (Bill Rieske)
+From 7217e1240340ab49878c4e415df40aa0c6376eb9 Mon Sep 17 00:00:00 2001
+Date: Wed, 11 Feb 2009 14:55:47 +0000
+Subject: fix smbios memory device length boundary  condition
+From: Bill Rieske <brieske@novell.com>
 
 dev_memsize ends up 0 when it shouldn't be on 16G boundary conditions.
     
diff --git a/pc-bios/bios-pq/0006_qemu-bios-use-preprocessor-for-pci-link-routing.patch b/pc-bios/bios-pq/0006_qemu-bios-use-preprocessor-for-pci-link-routing.patch
index 9a2eef4..27a1a33 100644
--- a/pc-bios/bios-pq/0006_qemu-bios-use-preprocessor-for-pci-link-routing.patch
+++ b/pc-bios/bios-pq/0006_qemu-bios-use-preprocessor-for-pci-link-routing.patch
@@ -1,4 +1,7 @@
-qemu: bios: use preprocessor for pci link routing (Avi Kivity)
+From 6d2550ea5002feac408ed252f45066aaa0af8b19 Mon Sep 17 00:00:00 2001
+Date: Wed, 11 Feb 2009 15:11:43 +0000
+Subject: qemu: bios: use preprocessor for pci link routing
+From: Avi Kivity <avi@qumranet.com>
 
 Signed-off-by: Avi Kivity <avi@qumranet.com>
 Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/pc-bios/bios-pq/0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch b/pc-bios/bios-pq/0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch
index 7cdc3d8..a5e72d3 100644
--- a/pc-bios/bios-pq/0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch
+++ b/pc-bios/bios-pq/0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch
@@ -1,4 +1,7 @@
-bios: add 26 pci slots, bringing the total to 32 (Avi Kivity)
+From 6d2550ea5002feac408ed252f45066aaa0af8b19 Mon Sep 17 00:00:00 2001
+Date: Wed, 11 Feb 2009 15:11:43 +0000
+Subject: bios: add 26 pci slots, bringing the total to 32
+From: Avi Kivity <avi@qumranet.com>
 
 lack of pci slots causes Windows to complain when installing too many devices.
 
diff --git a/pc-bios/bios-pq/0008_qemu-bios-provide-gpe-_l0x-methods.patch b/pc-bios/bios-pq/0008_qemu-bios-provide-gpe-_l0x-methods.patch
index 554a3db..004fd9e 100644
--- a/pc-bios/bios-pq/0008_qemu-bios-provide-gpe-_l0x-methods.patch
+++ b/pc-bios/bios-pq/0008_qemu-bios-provide-gpe-_l0x-methods.patch
@@ -1,4 +1,7 @@
-qemu: bios: provide gpe _L0x methods (Glauber Costa)
+From 6d2550ea5002feac408ed252f45066aaa0af8b19 Mon Sep 17 00:00:00 2001
+Date: Wed, 11 Feb 2009 15:11:43 +0000
+Subject: qemu: bios: provide gpe _L0x methods
+From: Glauber Costa <gcosta@redhat.com>
 
 provide methods for gpe blk 0, even though they do nothing atm
     
diff --git a/pc-bios/bios-pq/0009_qemu-bios-pci-hotplug-support.patch b/pc-bios/bios-pq/0009_qemu-bios-pci-hotplug-support.patch
index f55a335..524cc48 100644
--- a/pc-bios/bios-pq/0009_qemu-bios-pci-hotplug-support.patch
+++ b/pc-bios/bios-pq/0009_qemu-bios-pci-hotplug-support.patch
@@ -1,4 +1,7 @@
-qemu: bios: pci hotplug support (Marcelo Tosatti)
+From 6d2550ea5002feac408ed252f45066aaa0af8b19 Mon Sep 17 00:00:00 2001
+Date: Wed, 11 Feb 2009 15:11:43 +0000
+Subject: qemu: bios: pci hotplug support
+From: Marcelo Tosatti <mtosatti@redhat.com>
 
 Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
 Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/pc-bios/bios-pq/0010_bios-mark-the-acpi-sci-interrupt-as-connected-to-irq-9.patch b/pc-bios/bios-pq/0010_bios-mark-the-acpi-sci-interrupt-as-connected-to-irq-9.patch
index bd7403f..6675694 100644
--- a/pc-bios/bios-pq/0010_bios-mark-the-acpi-sci-interrupt-as-connected-to-irq-9.patch
+++ b/pc-bios/bios-pq/0010_bios-mark-the-acpi-sci-interrupt-as-connected-to-irq-9.patch
@@ -1,4 +1,7 @@
-bios: mark the acpi sci interrupt as connected to irq 9 (Avi Kivity)
+From 6d2550ea5002feac408ed252f45066aaa0af8b19 Mon Sep 17 00:00:00 2001
+Date: Wed, 11 Feb 2009 15:11:43 +0000
+Subject: bios: mark the acpi sci interrupt as connected to irq 9
+From: Avi Kivity <avi@qumranet.com>
 
 Due to a chipset bug, the sci interrupt is hardwired to irq 9.  Set the
 pci interrupt line register accordingly.
diff --git a/pc-bios/bios-pq/0011_read-additional-acpi-tables-from-a-vm.patch b/pc-bios/bios-pq/0011_read-additional-acpi-tables-from-a-vm.patch
index 1aa09fd..e8aa544 100644
--- a/pc-bios/bios-pq/0011_read-additional-acpi-tables-from-a-vm.patch
+++ b/pc-bios/bios-pq/0011_read-additional-acpi-tables-from-a-vm.patch
@@ -1,4 +1,7 @@
-Read additional ACPI tables from a VM (Gleb Natapov)
+From 8a92ea2f2c7b3e185ef6f4d8d3c376b752275ec7 Mon Sep 17 00:00:00 2001
+Date: Fri, 10 Apr 2009 20:48:17 +0000
+Subject: Read additional ACPI tables from a VM
+From: Gleb Natapov <gleb@redhat.com>
 
 Signed-off-by: Gleb Natapov <gleb@redhat.com>
 Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/pc-bios/bios-pq/0012-load-smbios-entries-and-files-from-qemu.patch b/pc-bios/bios-pq/0012-load-smbios-entries-and-files-from-qemu.patch
index e7a1204..e304b40 100644
--- a/pc-bios/bios-pq/0012-load-smbios-entries-and-files-from-qemu.patch
+++ b/pc-bios/bios-pq/0012-load-smbios-entries-and-files-from-qemu.patch
@@ -1,4 +1,7 @@
-qemu:bios: Load SMBIOS entries and files from qemu (Alex Williamson)
+From b6f6e3d3a71cee61320216a42940cfaa9b42a162 Mon Sep 17 00:00:00 2001
+Date: Fri, 17 Apr 2009 18:59:56 +0000
+Subject: qemu:bios: Load SMBIOS entries and files from qemu
+From: Alex Williamson <alex.williamson@hp.com>
 
 Allow SMBIOS fields to be overridden and entries replaced by those
 read from qemu.
diff --git a/pc-bios/bios-pq/0014_add-srat-acpi-table-support.patch b/pc-bios/bios-pq/0014_add-srat-acpi-table-support.patch
index a5227df..0fa94df 100644
--- a/pc-bios/bios-pq/0014_add-srat-acpi-table-support.patch
+++ b/pc-bios/bios-pq/0014_add-srat-acpi-table-support.patch
@@ -1,4 +1,7 @@
-add SRAT ACPI table support (Andre Przywara)
+From 11c2fd3e01835fe8562a7dae4842a645c9fe8bb5 Mon Sep 17 00:00:00 2001
+Date: Tue, 21 Apr 2009 22:31:41 +0000
+Subject: add SRAT ACPI table support
+From: Andre Przywara <andre.przywara@amd.com>
 
 Take NUMA topology info from the QEMU firmware configuration interface
 (number of nodes, node for each (V)CPU and amount of memory) and build
diff --git a/pc-bios/bios-pq/0015_enable-power-button-even-generation.patch b/pc-bios/bios-pq/0015_enable-power-button-even-generation.patch
index fb58802..ee6d028 100644
--- a/pc-bios/bios-pq/0015_enable-power-button-even-generation.patch
+++ b/pc-bios/bios-pq/0015_enable-power-button-even-generation.patch
@@ -1,4 +1,7 @@
-Enable power button event generation.
+From a6d6552426dcbf726e5549f08b70c9318d6be14b Mon Sep 17 00:00:00 2001
+Date: Fri, 8 May 2009 10:13:01 -0500
+Subject: Enable power button event generation.
+From: Gleb Natapov <gleb@redhat.com>
 
 Signed-off-by: Gleb Natapov <gleb@redhat.com>
 Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch b/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch
index 556a0bd..f94fd12 100644
--- a/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch
+++ b/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch
@@ -1,5 +1,7 @@
+From 00070396b06392fadcee0e19d499a43b81c63c45 Mon Sep 17 00:00:00 2001
+Date: Fri, 22 May 2009 09:57:32 -0500
 Subject: [PATCH] bios: Use the correct mask to size the PCI option ROM BAR
-From:	Alex Williamson <alex.williamson@hp.com>
+From: Alex Williamson <alex.williamson@hp.com>
 
 Bit 0 is the enable bit, which we not only don't want to set, but
 it will stick and make us think it's an I/O port resource.
diff --git a/pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch b/pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch
index cfa4c13..47d3a55 100644
--- a/pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch
+++ b/pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch
@@ -1,4 +1,7 @@
-bios: Fix multiple calls into smbios_load_ex
+From e1e8f35a4f59d82ab9a5361c3990c8dadd2e7678 Mon Sep 17 00:00:00 2001
+Date: Fri, 10 Jul 2009 14:52:56 -0500
+Subject: bios: Fix multiple calls into smbios_load_ex
+From: Alex Williamson <alex.williamson@hp.com>
 
 We're marking the used entry bitmap in smbios_load_external() for each
 type we check, regardless of whether we loaded anything.  This makes
diff --git a/pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch b/pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch
index 50e9b8c..75b2ad2 100644
--- a/pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch
+++ b/pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch
@@ -1,7 +1,10 @@
-Read max_cpus variable from QEMU_CFG. If not provided, use value of
-smp_cpus.
+From baef8a666c137fae513a195c8abeb80e1806d7bd Mon Sep 17 00:00:00 2001
+Date: Thu, 23 Jul 2009 17:03:43 +0200
+Subject: Read max_cpus variable from QEMU_CFG. If not provided, use value of smp_cpus.
+From: Jes Sorensen <jes@sgi.com>
 
 Signed-off-by: Jes Sorensen <jes@sgi.com>
+Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
 
 diff --git a/bios/rombios.h b/bios/rombios.h
 index 8ece2ee..dbf3bd3 100644
diff --git a/pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch b/pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch
index 49a0fdd..270eece 100644
--- a/pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch
+++ b/pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch
@@ -1,6 +1,10 @@
-Use max_cpus when building bios tables.
+From baef8a666c137fae513a195c8abeb80e1806d7bd Mon Sep 17 00:00:00 2001
+Date: Thu, 23 Jul 2009 17:03:43 +0200
+Subject: Use max_cpus when building bios tables.
+From: Jes Sorensen <jes@sgi.com>
 
 Signed-off-by: Jes Sorensen <jes@sgi.com>
+Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
 
 diff --git a/bios/rombios32.c b/bios/rombios32.c
 index e6bb164..3d15283 100644
-- 
1.6.2.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 6/7] Add pc-bios as a git submodule
  2009-07-29 18:45 [Qemu-devel] [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot Anthony Liguori
                   ` (3 preceding siblings ...)
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 5/7] Add proper headers to all BIOS patches Anthony Liguori
@ 2009-07-29 18:45 ` Anthony Liguori
  2009-07-29 21:25   ` [Qemu-devel] " Alexander Graf
  2009-07-29 22:10   ` [Qemu-devel] " Jordan Justen
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 7/7] Remove BIOS patches from the queue and update the README Anthony Liguori
       [not found] ` <m3eirz474o.fsf@neno.mitica>
  6 siblings, 2 replies; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 18:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, Avi Kivity, Alex Graf

This will allow us to build pc-bios on demand

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 .gitmodules  |    3 +++
 Makefile     |    5 +++--
 configure    |   43 +++++++++++++++++++++++++++++++++++++++++--
 roms/pc-bios |    1 +
 4 files changed, 48 insertions(+), 4 deletions(-)
 create mode 100644 .gitmodules
 create mode 160000 roms/pc-bios

diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..7ff5bb4
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "roms/pc-bios"]
+	path = roms/pc-bios
+	url = git://git.qemu.org/pcbios.git
diff --git a/Makefile b/Makefile
index 4f06ec1..7fa5253 100644
--- a/Makefile
+++ b/Makefile
@@ -239,7 +239,7 @@ ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th \
 common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt  sl     tr
 
 ifdef INSTALL_BLOBS
-BLOBS=bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
+BLOBS=vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
 video.x openbios-sparc32 openbios-sparc64 openbios-ppc \
 pxe-ne2k_pci.bin pxe-rtl8139.bin pxe-pcnet.bin pxe-e1000.bin \
 bamboo.dtb petalogix-s3adsp1800.dtb
@@ -274,9 +274,10 @@ ifneq ($(BLOBS),)
 	done
 endif
         # FIXME: this is terrible
-	for rom in multiboot; do \
+	for rom in $(ROMS); do \
 	  case $$rom in \
 	    multiboot) srcbin=multiboot.bin ;; \
+	    pc-bios) srcbin=BIOS-bochs-latest; dstbin=bios.bin ;; \
 	  esac; \
 	  if test -z "$$dstbin" ; then \
 	    dstbin=$$srcbin ; \
diff --git a/configure b/configure
index 75e5657..71075fd 100755
--- a/configure
+++ b/configure
@@ -17,8 +17,10 @@ TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
 TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
 TMPI="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
 TMPSDLLOG="${TMPDIR1}/qemu-conf-sdl-$$-${RANDOM}.log"
+TMPDSL="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.dsl"
+TMPAML="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.aml"
 
-trap "rm -f $TMPC $TMPO $TMPE $TMPS $TMPI $TMPSDLLOG; exit" 0 2 3 15
+trap "rm -f $TMPC $TMPO $TMPE $TMPS $TMPI $TMPSDLLOG $TMPDSL $TMPAML; exit" 0 2 3 15
 
 # default parameters
 prefix=""
@@ -207,6 +209,8 @@ fdt="yes"
 sdl="yes"
 xen="yes"
 pkgversion=""
+bcc="yes"
+iasl="yes"
 
 # OS specific
 if check_define __linux__ ; then
@@ -526,6 +530,10 @@ for opt do
   ;;
   --disable-docs) build_docs="no"
   ;;
+  --disable-bcc) bcc="no"
+  ;;
+  --disable-isal) iasl="no"
+  ;;
   *) echo "ERROR: unknown option $opt"; show_help="yes"
   ;;
   esac
@@ -860,6 +868,32 @@ else
 fi
 
 ##########################################
+# bcc check
+cat > $TMPC <<EOF
+int main() { return 0; }
+EOF
+if test "$bcc" = "yes" ; then
+    if bcc -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
+	:
+    else
+	bcc="no"
+    fi
+fi
+
+#########################################
+# iasl check
+cat > $TMPDSL <<EOF
+DefinitionBlock("$TMPAML", "DSDT", 0x01, "BXPC", "BXDSDT", 0x1) { }
+EOF
+if test "$iasl" = "yes" ; then
+    if iasl $TMPDSL > /dev/null 2> /dev/null ; then
+	:
+    else
+	iasl="no"
+    fi
+fi
+
+##########################################
 # zlib check
 
 cat > $TMPC << EOF
@@ -1751,6 +1785,9 @@ if test \( \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
         "$targetos" != "Darwin" \) -o \
         "$i386_cross_prefix" ; then
   roms="$roms multiboot"
+  if test "$bcc" = "yes" -a "$iasl" = "yes" ; then
+    roms="$roms pc-bios"
+  fi
 fi
 echo "ROMS=$roms" >> $config_host_mak
 
@@ -2123,7 +2160,7 @@ for rom in $roms; do
     ln -s $source_path/roms/$rom/Makefile pc-bios/$rom/Makefile
     config_mak="pc-bios/$rom/config.mak"
     case "$rom" in
-      multiboot)
+      multiboot|pc-bios)
 	prefix=${i386_cross_prefix}
 	;;
     esac
@@ -2136,6 +2173,8 @@ for rom in $roms; do
     echo "CPP=${prefix}cpp" >> $config_mak
     echo "LD=${prefix}${ld}" >> $config_mak
     echo "OBJCOPY=${prefix}${objcopy}" >> $config_mak
+    echo "BCC=bcc" >> $config_mak
+    echo "IASL=iasl" >> $config_mak
 done
 
 # build tree in object directory if source path is different from current one
diff --git a/roms/pc-bios b/roms/pc-bios
new file mode 160000
index 0000000..c658541
--- /dev/null
+++ b/roms/pc-bios
@@ -0,0 +1 @@
+Subproject commit c658541caaec566c58a8afccc1ed8b56e0e0fbd9
-- 
1.6.2.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH 7/7] Remove BIOS patches from the queue and update the README
  2009-07-29 18:45 [Qemu-devel] [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot Anthony Liguori
                   ` (4 preceding siblings ...)
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 6/7] Add pc-bios as a git submodule Anthony Liguori
@ 2009-07-29 18:45 ` Anthony Liguori
  2009-07-30  9:38   ` [Qemu-devel] " Avi Kivity
       [not found] ` <m3eirz474o.fsf@neno.mitica>
  6 siblings, 1 reply; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 18:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, Avi Kivity, Alex Graf

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 pc-bios/README                                     |   25 -
 pc-bios/bios-pq/0001_bx-qemu.patch                 |   18 -
 ...te-smbios-table-to-report-memory-above-4g.patch |   58 ---
 ...kvm-bios-generate-mptable-unconditionally.patch |   28 --
 ...ll-over-reporting--issues-with-32g-guests.patch |  187 --------
 ...-memory-device-length-boundary--condition.patch |   26 --
 ...ios-use-preprocessor-for-pci-link-routing.patch |   76 ----
 ...dd-26-pci-slots,-bringing-the-total-to-32.patch |   52 ---
 .../0008_qemu-bios-provide-gpe-_l0x-methods.patch  |   95 ----
 .../0009_qemu-bios-pci-hotplug-support.patch       |  131 ------
 ...-acpi-sci-interrupt-as-connected-to-irq-9.patch |   29 --
 ...011_read-additional-acpi-tables-from-a-vm.patch |  153 -------
 ...2-load-smbios-entries-and-files-from-qemu.patch |  473 --------------------
 ...0013_fix-non-acpi-timer-interrupt-routing.patch |   60 ---
 .../bios-pq/0014_add-srat-acpi-table-support.patch |  308 -------------
 .../0015_enable-power-button-even-generation.patch |   23 -
 ...e-correct-mask-to-size-pci-option-rom-bar.patch |   35 --
 ...bios-Move-QEMU_CFG-constants-to-rombios.h.patch |   59 ---
 ...0018-bochs-bios-Make-boot-prompt-optional.patch |   68 ---
 pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch |   38 --
 pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch    |   65 ---
 pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch       |  121 -----
 pc-bios/bios-pq/HEAD                               |    1 -
 pc-bios/bios-pq/series                             |   21 -
 24 files changed, 0 insertions(+), 2150 deletions(-)
 delete mode 100644 pc-bios/bios-pq/0001_bx-qemu.patch
 delete mode 100644 pc-bios/bios-pq/0002_kvm-bios-update-smbios-table-to-report-memory-above-4g.patch
 delete mode 100644 pc-bios/bios-pq/0003_kvm-bios-generate-mptable-unconditionally.patch
 delete mode 100644 pc-bios/bios-pq/0004_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch
 delete mode 100644 pc-bios/bios-pq/0005_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch
 delete mode 100644 pc-bios/bios-pq/0006_qemu-bios-use-preprocessor-for-pci-link-routing.patch
 delete mode 100644 pc-bios/bios-pq/0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch
 delete mode 100644 pc-bios/bios-pq/0008_qemu-bios-provide-gpe-_l0x-methods.patch
 delete mode 100644 pc-bios/bios-pq/0009_qemu-bios-pci-hotplug-support.patch
 delete mode 100644 pc-bios/bios-pq/0010_bios-mark-the-acpi-sci-interrupt-as-connected-to-irq-9.patch
 delete mode 100644 pc-bios/bios-pq/0011_read-additional-acpi-tables-from-a-vm.patch
 delete mode 100644 pc-bios/bios-pq/0012-load-smbios-entries-and-files-from-qemu.patch
 delete mode 100644 pc-bios/bios-pq/0013_fix-non-acpi-timer-interrupt-routing.patch
 delete mode 100644 pc-bios/bios-pq/0014_add-srat-acpi-table-support.patch
 delete mode 100644 pc-bios/bios-pq/0015_enable-power-button-even-generation.patch
 delete mode 100644 pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch
 delete mode 100644 pc-bios/bios-pq/0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch
 delete mode 100644 pc-bios/bios-pq/0018-bochs-bios-Make-boot-prompt-optional.patch
 delete mode 100644 pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch
 delete mode 100644 pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch
 delete mode 100644 pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch
 delete mode 100644 pc-bios/bios-pq/HEAD
 delete mode 100644 pc-bios/bios-pq/series

diff --git a/pc-bios/README b/pc-bios/README
index 269f1e5..021c310 100644
--- a/pc-bios/README
+++ b/pc-bios/README
@@ -1,29 +1,4 @@
 - The PC BIOS comes from the Bochs project (http://bochs.sourceforge.net/).
-  The patches in bios-pq have been applied. The binary is based on the revision
-  in bios-pq/HEAD with the patches in bios-pq/series applied.  The git repo
-  that HEAD refers to is located at
-  git://git.kernel.org/pub/scm/virt/bochs/bochs.git
-
-  To build these use the following instructions:
-  using guilt:
-  $ export QEMUSRC=/path/to/qemu/svn
-  $ git clone git://git.kernel.org/pub/scm/virt/bochs/bochs.git
-  $ cd bochs
-  $ git checkout -b qemu-bios $(cat $QEMUSRC/pc-bios/bios-pq/HEAD)
-
-  $ mkdir -p .git/patches
-  $ ln -s $QEMUSRC/pc-bios/bios-pq .git/patches/qemu-bios
-  $ touch .git/patches/qemu-bios/status
-  $ guilt push -a
-  $ ./configure
-  $ cd bios
-  $ make
-  $ cp BIOS-bochs-latest $QEMUSRC/pc-bios/bios.bin
-
-  or alternatively (after the git checkout):
-  $ for p in $(cat $QEMUSRC/pc-bios/bios-pq/series); do git am $p; done
-  $ ./configure
-  $ make bios
 
 - The VGA BIOS and the Cirrus VGA BIOS come from the LGPL VGA bios
   project (http://www.nongnu.org/vgabios/).  The binary is based on the revision
diff --git a/pc-bios/bios-pq/0001_bx-qemu.patch b/pc-bios/bios-pq/0001_bx-qemu.patch
deleted file mode 100644
index 47a21b3..0000000
--- a/pc-bios/bios-pq/0001_bx-qemu.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-From ca7b25e3ab8a49e46484bd436fedf72940f02887 Mon Sep 17 00:00:00 2001
-Date: Wed, 17 Dec 2008 21:35:49 +0000
-Subject: Enable BX_QEMU
-From: Anthony Liguori <aliguori@us.ibm.com>
-
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
---- bochs-2.3.7.orig/bios/rombios.h
-+++ bochs-2.3.7/bios/rombios.h
-@@ -19,7 +19,7 @@
- //  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
- 
- /* define it to include QEMU specific code */
--//#define BX_QEMU
-+#define BX_QEMU
- 
- #ifndef LEGACY
- #  define BX_ROMBIOS32     1
diff --git a/pc-bios/bios-pq/0002_kvm-bios-update-smbios-table-to-report-memory-above-4g.patch b/pc-bios/bios-pq/0002_kvm-bios-update-smbios-table-to-report-memory-above-4g.patch
deleted file mode 100644
index 7b85418..0000000
--- a/pc-bios/bios-pq/0002_kvm-bios-update-smbios-table-to-report-memory-above-4g.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 9a717b55df29b2b0dd0553ccfa656671bad043d1 Mon Sep 17 00:00:00 2001
-Date: Wed, 11 Feb 2009 14:55:47 +0000
-Subject: update SMBIOS table to report memory above 4G
-From: Alex Williamson <alex.williamson@hp.com>
-
-Signed-off-by: Alex Williamson <alex.williamson@hp.com>
-Signed-off-by: Avi Kivity <avi@redhat.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-Index: bochs/bios/rombios32.c
-===================================================================
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index 3269be5..9587288 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -429,6 +429,7 @@ uint32_t cpuid_signature;
- uint32_t cpuid_features;
- uint32_t cpuid_ext_features;
- unsigned long ram_size;
-+uint64_t ram_end;
- uint8_t bios_uuid[16];
- #ifdef BX_USE_EBDA_TABLES
- unsigned long ebda_cur_addr;
-@@ -571,6 +572,13 @@ void ram_probe(void)
-     ram_size = (cmos_readb(0x30) | (cmos_readb(0x31) << 8)) * 1024 +
-         1 * 1024 * 1024;
-   BX_INFO("ram_size=0x%08lx\n", ram_size);
-+  if (cmos_readb(0x5b) | cmos_readb(0x5c) | cmos_readb(0x5d))
-+    ram_end = (((uint64_t)cmos_readb(0x5b) << 16) |
-+               ((uint64_t)cmos_readb(0x5c) << 24) |
-+               ((uint64_t)cmos_readb(0x5d) << 32)) + (1ull << 32);
-+  else
-+    ram_end = ram_size;
-+  BX_INFO("end of ram=%ldMB\n", ram_end >> 20);
- #ifdef BX_USE_EBDA_TABLES
-   ebda_cur_addr = ((*(uint16_t *)(0x40e)) << 4) + 0x380;
-   BX_INFO("ebda_cur_addr: 0x%08lx\n", ebda_cur_addr);
-@@ -2174,7 +2182,8 @@ void smbios_init(void)
- {
-     unsigned cpu_num, nr_structs = 0, max_struct_size = 0;
-     char *start, *p, *q;
--    int memsize = ram_size / (1024 * 1024);
-+    int memsize = (ram_end == ram_size) ? ram_size / (1024 * 1024) :
-+                  (ram_end - (1ull << 32) + ram_size) / (1024 * 1024);
- 
- #ifdef BX_USE_EBDA_TABLES
-     ebda_cur_addr = align(ebda_cur_addr, 16);
-@@ -2201,8 +2210,8 @@ void smbios_init(void)
-         add_struct(smbios_type_4_init(p, cpu_num));
-     add_struct(smbios_type_16_init(p, memsize));
-     add_struct(smbios_type_17_init(p, memsize));
--    add_struct(smbios_type_19_init(p, memsize));
--    add_struct(smbios_type_20_init(p, memsize));
-+    add_struct(smbios_type_19_init(p, ram_end / (1024 * 1024)));
-+    add_struct(smbios_type_20_init(p, ram_end / (1024 * 1024)));
-     add_struct(smbios_type_32_init(p));
-     add_struct(smbios_type_127_init(p));
- 
diff --git a/pc-bios/bios-pq/0003_kvm-bios-generate-mptable-unconditionally.patch b/pc-bios/bios-pq/0003_kvm-bios-generate-mptable-unconditionally.patch
deleted file mode 100644
index ae2fbf6..0000000
--- a/pc-bios/bios-pq/0003_kvm-bios-generate-mptable-unconditionally.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 9a717b55df29b2b0dd0553ccfa656671bad043d1 Mon Sep 17 00:00:00 2001
-Date: Wed, 21 Jan 2009 21:46:20 +0000
-Subject: generate mptable unconditionally
-From: Avi Kivity <avi@qumranet.com>
-
-VMware ESX requires an mptable even for uniprocessor guests.
-
-Signed-off-by: Avi Kivity <avi@qumranet.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-Index: bochs/bios/rombios32.c
-===================================================================
---- bochs.orig/bios/rombios32.c
-+++ bochs/bios/rombios32.c
-@@ -970,11 +970,6 @@ static void mptable_init(void)
-     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
-
-
diff --git a/pc-bios/bios-pq/0004_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch b/pc-bios/bios-pq/0004_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch
deleted file mode 100644
index 252effc..0000000
--- a/pc-bios/bios-pq/0004_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-From 7217e1240340ab49878c4e415df40aa0c6376eb9 Mon Sep 17 00:00:00 2001
-Date: Wed, 11 Feb 2009 14:55:47 +0000
-Subject: resolve memory device roll over reporting issues with >32G guests
-From: Bill Rieske <brieske@novell.com>
-
-The field within the Memory Device type 17 is only a word with the MSB being
-used to report MB/KB.  Thereby, a guest with 32G and greater would report
-incorrect memory device information rolling over to 0.
-
-This presents more than one memory device and associated memory structures
-if the memory is larger than 16G
-
-Signed-off-by: Bill Rieske <brieske@novell.com>
-Signed-off-by: Avi Kivity <avi@redhat.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-Index: bochs/bios/rombios32.c
-===================================================================
---- bochs.orig/bios/rombios32.c
-+++ bochs/bios/rombios32.c
-@@ -381,6 +381,17 @@ int vsnprintf(char *buf, int buflen, con
-     return buf - buf0;
- }
-
-+int snprintf(char * buf, size_t size, const char *fmt, ...)
-+{
-+	va_list args;
-+	int i;
-+
-+	va_start(args, fmt);
-+	i=vsnprintf(buf,size,fmt,args);
-+	va_end(args);
-+	return i;
-+}
-+
- void bios_printf(int flags, const char *fmt, ...)
- {
-     va_list ap;
-@@ -2039,7 +2050,7 @@ smbios_type_4_init(void *start, unsigned
-
- /* Type 16 -- Physical Memory Array */
- static void *
--smbios_type_16_init(void *start, uint32_t memsize)
-+smbios_type_16_init(void *start, uint32_t memsize, int nr_mem_devs)
- {
-     struct smbios_type_16 *p = (struct smbios_type_16*)start;
-
-@@ -2052,7 +2063,7 @@ smbios_type_16_init(void *start, uint32_
-     p->error_correction = 0x01; /* other */
-     p->maximum_capacity = memsize * 1024;
-     p->memory_error_information_handle = 0xfffe; /* none provided */
--    p->number_of_memory_devices = 1;
-+    p->number_of_memory_devices = nr_mem_devs;
-
-     start += sizeof(struct smbios_type_16);
-     *((uint16_t *)start) = 0;
-@@ -2062,20 +2073,19 @@ smbios_type_16_init(void *start, uint32_
-
- /* Type 17 -- Memory Device */
- static void *
--smbios_type_17_init(void *start, uint32_t memory_size_mb)
-+smbios_type_17_init(void *start, uint32_t memory_size_mb, int instance)
- {
-     struct smbios_type_17 *p = (struct smbios_type_17 *)start;
-
-     p->header.type = 17;
-     p->header.length = sizeof(struct smbios_type_17);
--    p->header.handle = 0x1100;
-+    p->header.handle = 0x1100 + instance;
-
-     p->physical_memory_array_handle = 0x1000;
-     p->total_width = 64;
-     p->data_width = 64;
--    /* truncate memory_size_mb to 16 bits and clear most significant
--       bit [indicates size in MB] */
--    p->size = (uint16_t) memory_size_mb & 0x7fff;
-+/* TODO: should assert in case something is wrong   ASSERT((memory_size_mb & ~0x7fff) == 0); */
-+    p->size = memory_size_mb;
-     p->form_factor = 0x09; /* DIMM */
-     p->device_set = 0;
-     p->device_locator_str = 1;
-@@ -2084,8 +2094,8 @@ smbios_type_17_init(void *start, uint32_
-     p->type_detail = 0;
-
-     start += sizeof(struct smbios_type_17);
--    memcpy((char *)start, "DIMM 1", 7);
--    start += 7;
-+    snprintf(start, 8, "DIMM %d", instance);
-+    start += strlen(start) + 1;
-     *((uint8_t *)start) = 0;
-
-     return start+1;
-@@ -2093,16 +2103,16 @@ smbios_type_17_init(void *start, uint32_
-
- /* Type 19 -- Memory Array Mapped Address */
- static void *
--smbios_type_19_init(void *start, uint32_t memory_size_mb)
-+smbios_type_19_init(void *start, uint32_t memory_size_mb, int instance)
- {
-     struct smbios_type_19 *p = (struct smbios_type_19 *)start;
-
-     p->header.type = 19;
-     p->header.length = sizeof(struct smbios_type_19);
--    p->header.handle = 0x1300;
-+    p->header.handle = 0x1300 + instance;
-
--    p->starting_address = 0;
--    p->ending_address = (memory_size_mb * 1024) - 1;
-+    p->starting_address = instance << 24;
-+    p->ending_address = p->starting_address + (memory_size_mb << 10) - 1;
-     p->memory_array_handle = 0x1000;
-     p->partition_width = 1;
-
-@@ -2114,18 +2124,18 @@ smbios_type_19_init(void *start, uint32_
-
- /* Type 20 -- Memory Device Mapped Address */
- static void *
--smbios_type_20_init(void *start, uint32_t memory_size_mb)
-+smbios_type_20_init(void *start, uint32_t memory_size_mb, int instance)
- {
-     struct smbios_type_20 *p = (struct smbios_type_20 *)start;
-
-     p->header.type = 20;
-     p->header.length = sizeof(struct smbios_type_20);
--    p->header.handle = 0x1400;
-+    p->header.handle = 0x1400 + instance;
-
--    p->starting_address = 0;
--    p->ending_address = (memory_size_mb * 1024) - 1;
--    p->memory_device_handle = 0x1100;
--    p->memory_array_mapped_address_handle = 0x1300;
-+    p->starting_address = instance << 24;
-+    p->ending_address = p->starting_address + (memory_size_mb << 10) - 1;
-+    p->memory_device_handle = 0x1100 + instance;
-+    p->memory_array_mapped_address_handle = 0x1300 + instance;
-     p->partition_row_position = 1;
-     p->interleave_position = 0;
-     p->interleaved_data_depth = 0;
-@@ -2176,6 +2186,7 @@ void smbios_init(void)
-     char *start, *p, *q;
-     int memsize = (ram_end == ram_size) ? ram_size / (1024 * 1024) :
-                   (ram_end - (1ull << 32) + ram_size) / (1024 * 1024);
-+    int i, nr_mem_devs;
-
- #ifdef BX_USE_EBDA_TABLES
-     ebda_cur_addr = align(ebda_cur_addr, 16);
-@@ -2187,23 +2198,32 @@ void smbios_init(void)
-
- 	p = (char *)start + sizeof(struct smbios_entry_point);
-
--#define add_struct(fn) { \
-+#define add_struct(fn) do{ \
-     q = (fn); \
-     nr_structs++; \
-     if ((q - p) > max_struct_size) \
-         max_struct_size = q - p; \
-     p = q; \
--}
-+}while (0)
-
-     add_struct(smbios_type_0_init(p));
-     add_struct(smbios_type_1_init(p));
-     add_struct(smbios_type_3_init(p));
-     for (cpu_num = 1; cpu_num <= smp_cpus; cpu_num++)
-         add_struct(smbios_type_4_init(p, cpu_num));
--    add_struct(smbios_type_16_init(p, memsize));
--    add_struct(smbios_type_17_init(p, memsize));
--    add_struct(smbios_type_19_init(p, ram_end / (1024 * 1024)));
--    add_struct(smbios_type_20_init(p, ram_end / (1024 * 1024)));
-+
-+    /* Each 'memory device' covers up to 16GB of address space. */
-+    nr_mem_devs = (memsize + 0x3fff) >> 14;
-+    add_struct(smbios_type_16_init(p, memsize, nr_mem_devs));
-+    for ( i = 0; i < nr_mem_devs; i++ )
-+    {
-+        uint32_t dev_memsize = ((i == (nr_mem_devs - 1))
-+                                ? (memsize & 0x3fff) : 0x4000);
-+        add_struct(smbios_type_17_init(p, dev_memsize, i));
-+        add_struct(smbios_type_19_init(p, dev_memsize, i));
-+        add_struct(smbios_type_20_init(p, dev_memsize, i));
-+    }
-+
-     add_struct(smbios_type_32_init(p));
-     add_struct(smbios_type_127_init(p));
-
-
-
diff --git a/pc-bios/bios-pq/0005_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch b/pc-bios/bios-pq/0005_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch
deleted file mode 100644
index 0a9e0b0..0000000
--- a/pc-bios/bios-pq/0005_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 7217e1240340ab49878c4e415df40aa0c6376eb9 Mon Sep 17 00:00:00 2001
-Date: Wed, 11 Feb 2009 14:55:47 +0000
-Subject: fix smbios memory device length boundary  condition
-From: Bill Rieske <brieske@novell.com>
-
-dev_memsize ends up 0 when it shouldn't be on 16G boundary conditions.
-    
-Signed-off-by: Bill Rieske <brieske@novell.com>
-Signed-off-by: Avi Kivity <avi@redhat.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-Index: bochs/bios/rombios32.c
-===================================================================
---- bochs.orig/bios/rombios32.c
-+++ bochs/bios/rombios32.c
-@@ -2218,7 +2218,7 @@ void smbios_init(void)
-     for ( i = 0; i < nr_mem_devs; i++ )
-     {
-         uint32_t dev_memsize = ((i == (nr_mem_devs - 1))
--                                ? (memsize & 0x3fff) : 0x4000);
-+                                ? (((memsize-1) & 0x3fff)+1) : 0x4000);
-         add_struct(smbios_type_17_init(p, dev_memsize, i));
-         add_struct(smbios_type_19_init(p, dev_memsize, i));
-         add_struct(smbios_type_20_init(p, dev_memsize, i));
-
-
diff --git a/pc-bios/bios-pq/0006_qemu-bios-use-preprocessor-for-pci-link-routing.patch b/pc-bios/bios-pq/0006_qemu-bios-use-preprocessor-for-pci-link-routing.patch
deleted file mode 100644
index 27a1a33..0000000
--- a/pc-bios/bios-pq/0006_qemu-bios-use-preprocessor-for-pci-link-routing.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 6d2550ea5002feac408ed252f45066aaa0af8b19 Mon Sep 17 00:00:00 2001
-Date: Wed, 11 Feb 2009 15:11:43 +0000
-Subject: qemu: bios: use preprocessor for pci link routing
-From: Avi Kivity <avi@qumranet.com>
-
-Signed-off-by: Avi Kivity <avi@qumranet.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-Index: bochs/bios/acpi-dsdt.dsl
-===================================================================
---- bochs.orig/bios/acpi-dsdt.dsl
-+++ bochs/bios/acpi-dsdt.dsl
-@@ -47,42 +47,22 @@ DefinitionBlock (
-                    section 6.2.8.1 */
-                 /* Note: we provide the same info as the PCI routing
-                    table of the Bochs BIOS */
--
--                // PCI Slot 0
--                Package() {0x0000ffff, 0, LNKD, 0},
--                Package() {0x0000ffff, 1, LNKA, 0},
--                Package() {0x0000ffff, 2, LNKB, 0},
--                Package() {0x0000ffff, 3, LNKC, 0},
--
--                // PCI Slot 1
--                Package() {0x0001ffff, 0, LNKA, 0},
--                Package() {0x0001ffff, 1, LNKB, 0},
--                Package() {0x0001ffff, 2, LNKC, 0},
--                Package() {0x0001ffff, 3, LNKD, 0},
--
--                // PCI Slot 2
--                Package() {0x0002ffff, 0, LNKB, 0},
--                Package() {0x0002ffff, 1, LNKC, 0},
--                Package() {0x0002ffff, 2, LNKD, 0},
--                Package() {0x0002ffff, 3, LNKA, 0},
--
--                // PCI Slot 3
--                Package() {0x0003ffff, 0, LNKC, 0},
--                Package() {0x0003ffff, 1, LNKD, 0},
--                Package() {0x0003ffff, 2, LNKA, 0},
--                Package() {0x0003ffff, 3, LNKB, 0},
--
--                // PCI Slot 4
--                Package() {0x0004ffff, 0, LNKD, 0},
--                Package() {0x0004ffff, 1, LNKA, 0},
--                Package() {0x0004ffff, 2, LNKB, 0},
--                Package() {0x0004ffff, 3, LNKC, 0},
--
--                // PCI Slot 5
--                Package() {0x0005ffff, 0, LNKA, 0},
--                Package() {0x0005ffff, 1, LNKB, 0},
--                Package() {0x0005ffff, 2, LNKC, 0},
--                Package() {0x0005ffff, 3, LNKD, 0},
-+#define prt_slot(nr, lnk0, lnk1, lnk2, lnk3) \
-+       Package() { nr##ffff, 0, lnk0, 0 }, \
-+       Package() { nr##ffff, 1, lnk1, 0 }, \
-+       Package() { nr##ffff, 2, lnk2, 0 }, \
-+       Package() { nr##ffff, 3, lnk3, 0 }
-+
-+#define prt_slot0(nr) prt_slot(nr, LNKD, LNKA, LNKB, LNKC)
-+#define prt_slot1(nr) prt_slot(nr, LNKA, LNKB, LNKC, LNKD)
-+#define prt_slot2(nr) prt_slot(nr, LNKB, LNKC, LNKD, LNKA)
-+#define prt_slot3(nr) prt_slot(nr, LNKC, LNKD, LNKA, LNKB)
-+               prt_slot0(0x0000),
-+               prt_slot1(0x0001),
-+               prt_slot2(0x0002),
-+               prt_slot3(0x0003),
-+               prt_slot0(0x0004),
-+               prt_slot1(0x0005),
-             })
- 
-             Name (_CRS, ResourceTemplate ()
-
--- 
-
-
-
diff --git a/pc-bios/bios-pq/0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch b/pc-bios/bios-pq/0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch
deleted file mode 100644
index a5e72d3..0000000
--- a/pc-bios/bios-pq/0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 6d2550ea5002feac408ed252f45066aaa0af8b19 Mon Sep 17 00:00:00 2001
-Date: Wed, 11 Feb 2009 15:11:43 +0000
-Subject: bios: add 26 pci slots, bringing the total to 32
-From: Avi Kivity <avi@qumranet.com>
-
-lack of pci slots causes Windows to complain when installing too many devices.
-
-Signed-off-by: Avi Kivity <avi@qumranet.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-Index: bochs/bios/acpi-dsdt.dsl
-===================================================================
---- bochs.orig/bios/acpi-dsdt.dsl
-+++ bochs/bios/acpi-dsdt.dsl
-@@ -63,6 +63,32 @@ DefinitionBlock (
-                prt_slot3(0x0003),
-                prt_slot0(0x0004),
-                prt_slot1(0x0005),
-+               prt_slot2(0x0006),
-+               prt_slot3(0x0007),
-+               prt_slot0(0x0008),
-+               prt_slot1(0x0009),
-+               prt_slot2(0x000a),
-+               prt_slot3(0x000b),
-+               prt_slot0(0x000c),
-+               prt_slot1(0x000d),
-+               prt_slot2(0x000e),
-+               prt_slot3(0x000f),
-+               prt_slot0(0x0010),
-+               prt_slot1(0x0011),
-+               prt_slot2(0x0012),
-+               prt_slot3(0x0013),
-+               prt_slot0(0x0014),
-+               prt_slot1(0x0015),
-+               prt_slot2(0x0016),
-+               prt_slot3(0x0017),
-+               prt_slot0(0x0018),
-+               prt_slot1(0x0019),
-+               prt_slot2(0x001a),
-+               prt_slot3(0x001b),
-+               prt_slot0(0x001c),
-+               prt_slot1(0x001d),
-+               prt_slot2(0x001e),
-+               prt_slot3(0x001f),
-             })
- 
-             Name (_CRS, ResourceTemplate ()
-
--- 
-
-
-
diff --git a/pc-bios/bios-pq/0008_qemu-bios-provide-gpe-_l0x-methods.patch b/pc-bios/bios-pq/0008_qemu-bios-provide-gpe-_l0x-methods.patch
deleted file mode 100644
index 004fd9e..0000000
--- a/pc-bios/bios-pq/0008_qemu-bios-provide-gpe-_l0x-methods.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 6d2550ea5002feac408ed252f45066aaa0af8b19 Mon Sep 17 00:00:00 2001
-Date: Wed, 11 Feb 2009 15:11:43 +0000
-Subject: qemu: bios: provide gpe _L0x methods
-From: Glauber Costa <gcosta@redhat.com>
-
-provide methods for gpe blk 0, even though they do nothing atm
-    
-Signed-off-by: Glauber Costa <gcosta@redhat.com>
-Signed-off-by: Avi Kivity <avi@qumranet.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-Index: bochs/bios/acpi-dsdt.dsl
-===================================================================
---- bochs.orig/bios/acpi-dsdt.dsl
-+++ bochs/bios/acpi-dsdt.dsl
-@@ -597,4 +597,59 @@ DefinitionBlock (
-         Zero,  /* reserved */
-         Zero   /* reserved */
-     })
-+
-+    Scope (\_GPE)
-+    {
-+        Name(_HID, "ACPI0006")
-+
-+        Method(_L00) {
-+            Return(0x01)
-+        }
-+        Method(_L01) {
-+            Return(0x01)
-+        }
-+        Method(_L02) {
-+            Return(0x01)
-+        }
-+        Method(_L03) {
-+            Return(0x01)
-+        }
-+        Method(_L04) {
-+            Return(0x01)
-+        }
-+        Method(_L05) {
-+            Return(0x01)
-+        }
-+        Method(_L06) {
-+            Return(0x01)
-+        }
-+        Method(_L07) {
-+            Return(0x01)
-+        }
-+        Method(_L08) {
-+            Return(0x01)
-+        }
-+        Method(_L09) {
-+            Return(0x01)
-+        }
-+        Method(_L0A) {
-+            Return(0x01)
-+        }
-+        Method(_L0B) {
-+            Return(0x01)
-+        }
-+        Method(_L0C) {
-+            Return(0x01)
-+        }
-+        Method(_L0D) {
-+            Return(0x01)
-+        }
-+        Method(_L0E) {
-+            Return(0x01)
-+        }
-+        Method(_L0F) {
-+            Return(0x01)
-+        }
-+    }
-+
- }
-Index: bochs/bios/rombios32.c
-===================================================================
---- bochs.orig/bios/rombios32.c
-+++ bochs/bios/rombios32.c
-@@ -1647,6 +1647,8 @@ void acpi_bios_init(void)
-     fadt->pm_tmr_len = 4;
-     fadt->plvl2_lat = cpu_to_le16(0xfff); // C2 state not supported
-     fadt->plvl3_lat = cpu_to_le16(0xfff); // C3 state not supported
-+    fadt->gpe0_blk = cpu_to_le32(0xafe0);
-+    fadt->gpe0_blk_len = 4;
-     /* WBINVD + PROC_C1 + PWR_BUTTON + SLP_BUTTON + FIX_RTC */
-     fadt->flags = cpu_to_le32((1 << 0) | (1 << 2) | (1 << 4) | (1 << 5) | (1 << 6));
-     acpi_build_table_header((struct acpi_table_header *)fadt, "FACP",
-
--- 
-
-
-
-
-
diff --git a/pc-bios/bios-pq/0009_qemu-bios-pci-hotplug-support.patch b/pc-bios/bios-pq/0009_qemu-bios-pci-hotplug-support.patch
deleted file mode 100644
index 524cc48..0000000
--- a/pc-bios/bios-pq/0009_qemu-bios-pci-hotplug-support.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From 6d2550ea5002feac408ed252f45066aaa0af8b19 Mon Sep 17 00:00:00 2001
-Date: Wed, 11 Feb 2009 15:11:43 +0000
-Subject: qemu: bios: pci hotplug support
-From: Marcelo Tosatti <mtosatti@redhat.com>
-
-Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-Index: bochs/bios/acpi-dsdt.dsl
-===================================================================
---- bochs.orig/bios/acpi-dsdt.dsl
-+++ bochs/bios/acpi-dsdt.dsl
-@@ -91,6 +91,61 @@ DefinitionBlock (
-                prt_slot3(0x001f),
-             })
- 
-+            OperationRegion(PCST, SystemIO, 0xae00, 0x08)
-+            Field (PCST, DWordAcc, NoLock, WriteAsZeros)
-+            {
-+                PCIU, 32,
-+                PCID, 32,
-+            }
-+
-+            OperationRegion(SEJ, SystemIO, 0xae08, 0x04)
-+            Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
-+            {
-+                B0EJ, 32,
-+            }
-+
-+#define hotplug_slot(name, nr) \
-+            Device (S##name) {                    \
-+               Name (_ADR, nr##0000)              \
-+               Method (_EJ0,1) {                  \
-+                    Store(ShiftLeft(1, nr), B0EJ) \
-+                    Return (0x0)                  \
-+               }                                  \
-+               Name (_SUN, name)                  \
-+            }
-+
-+	    hotplug_slot(1, 0x0001)
-+	    hotplug_slot(2, 0x0002)
-+	    hotplug_slot(3, 0x0003)
-+	    hotplug_slot(4, 0x0004)
-+	    hotplug_slot(5, 0x0005)
-+	    hotplug_slot(6, 0x0006)
-+	    hotplug_slot(7, 0x0007)
-+	    hotplug_slot(8, 0x0008)
-+	    hotplug_slot(9, 0x0009)
-+	    hotplug_slot(10, 0x000a)
-+	    hotplug_slot(11, 0x000b)
-+	    hotplug_slot(12, 0x000c)
-+	    hotplug_slot(13, 0x000d)
-+	    hotplug_slot(14, 0x000e)
-+	    hotplug_slot(15, 0x000f)
-+	    hotplug_slot(16, 0x0010)
-+	    hotplug_slot(17, 0x0011)
-+	    hotplug_slot(18, 0x0012)
-+	    hotplug_slot(19, 0x0013)
-+	    hotplug_slot(20, 0x0014)
-+	    hotplug_slot(21, 0x0015)
-+	    hotplug_slot(22, 0x0016)
-+	    hotplug_slot(23, 0x0017)
-+	    hotplug_slot(24, 0x0018)
-+	    hotplug_slot(25, 0x0019)
-+	    hotplug_slot(26, 0x001a)
-+	    hotplug_slot(27, 0x001b)
-+	    hotplug_slot(28, 0x001c)
-+	    hotplug_slot(29, 0x001d)
-+	    hotplug_slot(30, 0x001e)
-+	    hotplug_slot(31, 0x001f)
-+
-             Name (_CRS, ResourceTemplate ()
-             {
-                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
-@@ -605,8 +660,50 @@ DefinitionBlock (
-         Method(_L00) {
-             Return(0x01)
-         }
-+
-+#define gen_pci_hotplug(nr)                                       \
-+            If (And(\_SB.PCI0.PCIU, ShiftLeft(1, nr))) {          \
-+                Notify(\_SB.PCI0.S##nr, 1)                        \
-+            }                                                     \
-+            If (And(\_SB.PCI0.PCID, ShiftLeft(1, nr))) {          \
-+                Notify(\_SB.PCI0.S##nr, 3)                        \
-+            }
-+
-         Method(_L01) {
--            Return(0x01)
-+            gen_pci_hotplug(1)
-+            gen_pci_hotplug(2)
-+            gen_pci_hotplug(3)
-+            gen_pci_hotplug(4)
-+            gen_pci_hotplug(5)
-+            gen_pci_hotplug(6)
-+            gen_pci_hotplug(7)
-+            gen_pci_hotplug(8)
-+            gen_pci_hotplug(9)
-+            gen_pci_hotplug(10)
-+            gen_pci_hotplug(11)
-+            gen_pci_hotplug(12)
-+            gen_pci_hotplug(13)
-+            gen_pci_hotplug(14)
-+            gen_pci_hotplug(15)
-+            gen_pci_hotplug(16)
-+            gen_pci_hotplug(17)
-+            gen_pci_hotplug(18)
-+            gen_pci_hotplug(19)
-+            gen_pci_hotplug(20)
-+            gen_pci_hotplug(21)
-+            gen_pci_hotplug(22)
-+            gen_pci_hotplug(23)
-+            gen_pci_hotplug(24)
-+            gen_pci_hotplug(25)
-+            gen_pci_hotplug(26)
-+            gen_pci_hotplug(27)
-+            gen_pci_hotplug(28)
-+            gen_pci_hotplug(29)
-+            gen_pci_hotplug(30)
-+            gen_pci_hotplug(31)
-+
-+            Return (0x01)
-+
-         }
-         Method(_L02) {
-             Return(0x01)
-
--- 
-
-
-
diff --git a/pc-bios/bios-pq/0010_bios-mark-the-acpi-sci-interrupt-as-connected-to-irq-9.patch b/pc-bios/bios-pq/0010_bios-mark-the-acpi-sci-interrupt-as-connected-to-irq-9.patch
deleted file mode 100644
index 6675694..0000000
--- a/pc-bios/bios-pq/0010_bios-mark-the-acpi-sci-interrupt-as-connected-to-irq-9.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6d2550ea5002feac408ed252f45066aaa0af8b19 Mon Sep 17 00:00:00 2001
-Date: Wed, 11 Feb 2009 15:11:43 +0000
-Subject: bios: mark the acpi sci interrupt as connected to irq 9
-From: Avi Kivity <avi@qumranet.com>
-
-Due to a chipset bug, the sci interrupt is hardwired to irq 9.  Set the
-pci interrupt line register accordingly.
-    
-Signed-off-by: Avi Kivity <avi@qumranet.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-Index: bochs/bios/rombios32.c
-===================================================================
---- bochs.orig/bios/rombios32.c
-+++ bochs/bios/rombios32.c
-@@ -981,6 +981,8 @@ static void pci_bios_init_device(PCIDevi
-         /* PIIX4 Power Management device (for ACPI) */
-         pm_io_base = PM_IO_BASE;
-         smb_io_base = SMB_IO_BASE;
-+        // acpi sci is hardwired to 9
-+        pci_config_writeb(d, PCI_INTERRUPT_LINE, 9);
-         pm_sci_int = pci_config_readb(d, PCI_INTERRUPT_LINE);
-         piix4_pm_enable(d);
-         acpi_enabled = 1;
-
--- 
-
-
-
diff --git a/pc-bios/bios-pq/0011_read-additional-acpi-tables-from-a-vm.patch b/pc-bios/bios-pq/0011_read-additional-acpi-tables-from-a-vm.patch
deleted file mode 100644
index e8aa544..0000000
--- a/pc-bios/bios-pq/0011_read-additional-acpi-tables-from-a-vm.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 8a92ea2f2c7b3e185ef6f4d8d3c376b752275ec7 Mon Sep 17 00:00:00 2001
-Date: Fri, 10 Apr 2009 20:48:17 +0000
-Subject: Read additional ACPI tables from a VM
-From: Gleb Natapov <gleb@redhat.com>
-
-Signed-off-by: Gleb Natapov <gleb@redhat.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index 27c5952..7be4216 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -469,6 +469,8 @@ void wrmsr_smp(uint32_t index, uint64_t val)
- #define QEMU_CFG_SIGNATURE  0x00
- #define QEMU_CFG_ID         0x01
- #define QEMU_CFG_UUID       0x02
-+#define QEMU_CFG_ARCH_LOCAL     0x8000
-+#define QEMU_CFG_ACPI_TABLES  (QEMU_CFG_ARCH_LOCAL + 0)
- 
- int qemu_cfg_port;
- 
-@@ -496,6 +498,27 @@ void qemu_cfg_read(uint8_t *buf, int len)
-     while (len--)
-         *(buf++) = inb(QEMU_CFG_DATA_PORT);
- }
-+
-+static uint16_t acpi_additional_tables(void)
-+{
-+    uint16_t cnt;
-+
-+    qemu_cfg_select(QEMU_CFG_ACPI_TABLES);
-+    qemu_cfg_read((uint8_t*)&cnt, sizeof(cnt));
-+
-+    return cnt;
-+}
-+
-+static int acpi_load_table(int i, uint32_t addr, uint16_t *len)
-+{
-+    qemu_cfg_read((uint8_t*)len, sizeof(*len));
-+
-+    if (!*len)
-+        return -1;
-+
-+    qemu_cfg_read((uint8_t*)addr, *len);
-+    return 0;
-+}
- #endif
- 
- void uuid_probe(void)
-@@ -1550,8 +1573,8 @@ void acpi_bios_init(void)
-     uint32_t hpet_addr;
- #endif
-     uint32_t base_addr, rsdt_addr, fadt_addr, addr, facs_addr, dsdt_addr, ssdt_addr;
--    uint32_t acpi_tables_size, madt_addr, madt_size;
--    int i;
-+    uint32_t acpi_tables_size, madt_addr, madt_size, rsdt_size;
-+    uint16_t i, external_tables;
- 
-     /* reserve memory space for tables */
- #ifdef BX_USE_EBDA_TABLES
-@@ -1564,10 +1587,17 @@ void acpi_bios_init(void)
-     bios_table_cur_addr += sizeof(*rsdp);
- #endif
- 
-+#ifdef BX_QEMU
-+    external_tables = acpi_additional_tables();
-+#else
-+    external_tables = 0;
-+#endif
-+
-     addr = base_addr = ram_size - ACPI_DATA_SIZE;
-     rsdt_addr = addr;
-     rsdt = (void *)(addr);
--    addr += sizeof(*rsdt);
-+    rsdt_size = sizeof(*rsdt) + external_tables * 4;
-+    addr += rsdt_size;
- 
-     fadt_addr = addr;
-     fadt = (void *)(addr);
-@@ -1606,12 +1636,6 @@ void acpi_bios_init(void)
-     addr += sizeof(*hpet);
- #endif
- 
--    acpi_tables_size = addr - base_addr;
--
--    BX_INFO("ACPI tables: RSDP addr=0x%08lx ACPI DATA addr=0x%08lx size=0x%x\n",
--            (unsigned long)rsdp,
--            (unsigned long)rsdt, acpi_tables_size);
--
-     /* RSDP */
-     memset(rsdp, 0, sizeof(*rsdp));
-     memcpy(rsdp->signature, "RSD PTR ", 8);
-@@ -1623,17 +1647,6 @@ void acpi_bios_init(void)
-     rsdp->rsdt_physical_address = cpu_to_le32(rsdt_addr);
-     rsdp->checksum = acpi_checksum((void *)rsdp, 20);
- 
--    /* RSDT */
--    memset(rsdt, 0, sizeof(*rsdt));
--    rsdt->table_offset_entry[0] = cpu_to_le32(fadt_addr);
--    rsdt->table_offset_entry[1] = cpu_to_le32(madt_addr);
--    rsdt->table_offset_entry[2] = cpu_to_le32(ssdt_addr);
--#ifdef BX_QEMU
--    rsdt->table_offset_entry[3] = cpu_to_le32(hpet_addr);
--#endif
--    acpi_build_table_header((struct acpi_table_header *)rsdt,
--                            "RSDT", sizeof(*rsdt), 1);
--
-     /* FADT */
-     memset(fadt, 0, sizeof(*fadt));
-     fadt->firmware_ctrl = cpu_to_le32(facs_addr);
-@@ -1710,6 +1723,7 @@ void acpi_bios_init(void)
-                                 "APIC", madt_size, 1);
-     }
- 
-+    memset(rsdt, 0, rsdt_size);
- #ifdef BX_QEMU
-     /* HPET */
-     memset(hpet, 0, sizeof(*hpet));
-@@ -1720,7 +1734,34 @@ void acpi_bios_init(void)
-     hpet->addr.address = cpu_to_le32(ACPI_HPET_ADDRESS);
-     acpi_build_table_header((struct  acpi_table_header *)hpet,
-                              "HPET", sizeof(*hpet), 1);
-+
-+    acpi_additional_tables(); /* resets cfg to required entry */
-+    for(i = 0; i < external_tables; i++) {
-+        uint16_t len;
-+        if(acpi_load_table(i, addr, &len) < 0)
-+            BX_PANIC("Failed to load ACPI table from QEMU\n");
-+        rsdt->table_offset_entry[i+4] = cpu_to_le32(addr);
-+        addr += len;
-+        if(addr >= ram_size)
-+            BX_PANIC("ACPI table overflow\n");
-+    }
-+#endif
-+
-+    /* RSDT */
-+    rsdt->table_offset_entry[0] = cpu_to_le32(fadt_addr);
-+    rsdt->table_offset_entry[1] = cpu_to_le32(madt_addr);
-+    rsdt->table_offset_entry[2] = cpu_to_le32(ssdt_addr);
-+#ifdef BX_QEMU
-+    rsdt->table_offset_entry[3] = cpu_to_le32(hpet_addr);
- #endif
-+    acpi_build_table_header((struct acpi_table_header *)rsdt,
-+                            "RSDT", rsdt_size, 1);
-+
-+    acpi_tables_size = addr - base_addr;
-+
-+    BX_INFO("ACPI tables: RSDP addr=0x%08lx ACPI DATA addr=0x%08lx size=0x%x\n",
-+            (unsigned long)rsdp,
-+            (unsigned long)rsdt, acpi_tables_size);
- 
- }
- 
diff --git a/pc-bios/bios-pq/0012-load-smbios-entries-and-files-from-qemu.patch b/pc-bios/bios-pq/0012-load-smbios-entries-and-files-from-qemu.patch
deleted file mode 100644
index e304b40..0000000
--- a/pc-bios/bios-pq/0012-load-smbios-entries-and-files-from-qemu.patch
+++ /dev/null
@@ -1,473 +0,0 @@
-From b6f6e3d3a71cee61320216a42940cfaa9b42a162 Mon Sep 17 00:00:00 2001
-Date: Fri, 17 Apr 2009 18:59:56 +0000
-Subject: qemu:bios: Load SMBIOS entries and files from qemu
-From: Alex Williamson <alex.williamson@hp.com>
-
-Allow SMBIOS fields to be overridden and entries replaced by those
-read from qemu.
-
-Signed-off-by: Alex Williamson <alex.williamson@hp.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index 7be4216..1a1ed64 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -441,7 +441,6 @@ uint32_t cpuid_features;
- uint32_t cpuid_ext_features;
- unsigned long ram_size;
- uint64_t ram_end;
--uint8_t bios_uuid[16];
- #ifdef BX_USE_EBDA_TABLES
- unsigned long ebda_cur_addr;
- #endif
-@@ -471,6 +470,7 @@ void wrmsr_smp(uint32_t index, uint64_t val)
- #define QEMU_CFG_UUID       0x02
- #define QEMU_CFG_ARCH_LOCAL     0x8000
- #define QEMU_CFG_ACPI_TABLES  (QEMU_CFG_ARCH_LOCAL + 0)
-+#define QEMU_CFG_SMBIOS_ENTRIES  (QEMU_CFG_ARCH_LOCAL + 1)
- 
- int qemu_cfg_port;
- 
-@@ -519,19 +519,17 @@ static int acpi_load_table(int i, uint32_t addr, uint16_t *len)
-     qemu_cfg_read((uint8_t*)addr, *len);
-     return 0;
- }
--#endif
- 
--void uuid_probe(void)
-+static uint16_t smbios_entries(void)
- {
--#ifdef BX_QEMU
--    if(qemu_cfg_port) {
--        qemu_cfg_select(QEMU_CFG_UUID);
--        qemu_cfg_read(bios_uuid, 16);
--        return;
--    }
--#endif
--    memset(bios_uuid, 0, 16);
-+    uint16_t cnt;
-+
-+    qemu_cfg_select(QEMU_CFG_SMBIOS_ENTRIES);
-+    qemu_cfg_read((uint8_t*)&cnt, sizeof(cnt));
-+
-+    return cnt;
- }
-+#endif
- 
- void cpu_probe(void)
- {
-@@ -1963,21 +1961,105 @@ smbios_entry_point_init(void *start,
-     ep->intermediate_checksum = -sum;
-     }
- 
-+struct smbios_header {
-+    uint16_t length;
-+    uint8_t type;
-+} __attribute__((__packed__));
-+
-+struct smbios_field {
-+    struct smbios_header header;
-+    uint8_t type;
-+    uint16_t offset;
-+    uint8_t data[];
-+} __attribute__((__packed__));
-+
-+struct smbios_table {
-+    struct smbios_header header;
-+    uint8_t data[];
-+} __attribute__((__packed__));
-+
-+#define SMBIOS_FIELD_ENTRY 0
-+#define SMBIOS_TABLE_ENTRY 1
-+
-+static size_t
-+smbios_load_field(int type, size_t offset, void *addr)
-+{
-+#ifdef BX_QEMU
-+    int i;
-+
-+    for (i = smbios_entries(); i > 0; i--) {
-+        struct smbios_field field;
-+
-+        qemu_cfg_read((uint8_t *)&field, sizeof(struct smbios_header));
-+        field.header.length -= sizeof(struct smbios_header);
-+
-+        if (field.header.type != SMBIOS_FIELD_ENTRY) {
-+            while (field.header.length--)
-+                inb(QEMU_CFG_DATA_PORT);
-+            continue;
-+        }
-+
-+        qemu_cfg_read((uint8_t *)&field.type,
-+                      sizeof(field) - sizeof(struct smbios_header));
-+        field.header.length -= sizeof(field) - sizeof(struct smbios_header);
-+
-+        if (field.type != type || field.offset != offset) {
-+            while (field.header.length--)
-+                inb(QEMU_CFG_DATA_PORT);
-+            continue;
-+        }
-+
-+        qemu_cfg_read(addr, field.header.length);
-+        return (size_t)field.header.length;
-+    }
-+#endif
-+    return 0;
-+}
-+ 
-+#define load_str_field_with_default(type, field, def) do {             \
-+    size = smbios_load_field(type, offsetof(struct smbios_type_##type, \
-+                                            field), end);              \
-+    if (size > 0) {                                                    \
-+        end += size;                                                   \
-+    } else {                                                           \
-+        memcpy(end, def, sizeof(def));                                 \
-+        end += sizeof(def);                                            \
-+    }                                                                  \
-+    p->field = ++str_index;                                            \
-+} while (0)
-+
-+#define load_str_field_or_skip(type, field) do {                       \
-+    size = smbios_load_field(type, offsetof(struct smbios_type_##type, \
-+                                            field), end);              \
-+    if (size > 0) {                                                    \
-+        end += size;                                                   \
-+        p->field = ++str_index;                                        \
-+    } else {                                                           \
-+        p->field = 0;                                                  \
-+    }                                                                  \
-+} while (0)
-+
- /* Type 0 -- BIOS Information */
- #define RELEASE_DATE_STR "01/01/2007"
- static void *
--smbios_type_0_init(void *start)
-+smbios_init_type_0(void *start)
- {
-     struct smbios_type_0 *p = (struct smbios_type_0 *)start;
-+    char *end = (char *)start + sizeof(struct smbios_type_0);
-+    size_t size;
-+    int str_index = 0;
- 
-     p->header.type = 0;
-     p->header.length = sizeof(struct smbios_type_0);
-     p->header.handle = 0;
- 
--    p->vendor_str = 1;
--    p->bios_version_str = 1;
-+    load_str_field_with_default(0, vendor_str, BX_APPNAME);
-+    load_str_field_with_default(0, bios_version_str, BX_APPNAME);
-+
-     p->bios_starting_address_segment = 0xe800;
--    p->bios_release_date_str = 2;
-+
-+    load_str_field_with_default(0, bios_release_date_str, RELEASE_DATE_STR);
-+
-     p->bios_rom_size = 0; /* FIXME */
- 
-     memset(p->bios_characteristics, 0, 8);
-@@ -1985,50 +2067,66 @@ smbios_type_0_init(void *start)
-     p->bios_characteristics_extension_bytes[0] = 0;
-     p->bios_characteristics_extension_bytes[1] = 0;
- 
--    p->system_bios_major_release = 1;
--    p->system_bios_minor_release = 0;
-+    if (!smbios_load_field(0, offsetof(struct smbios_type_0,
-+                                       system_bios_major_release),
-+                           &p->system_bios_major_release))
-+        p->system_bios_major_release = 1;
-+
-+    if (!smbios_load_field(0, offsetof(struct smbios_type_0,
-+                                       system_bios_minor_release),
-+                           &p->system_bios_minor_release))
-+        p->system_bios_minor_release = 0;
-+
-     p->embedded_controller_major_release = 0xff;
-     p->embedded_controller_minor_release = 0xff;
- 
--    start += sizeof(struct smbios_type_0);
--    memcpy((char *)start, BX_APPNAME, sizeof(BX_APPNAME));
--    start += sizeof(BX_APPNAME);
--    memcpy((char *)start, RELEASE_DATE_STR, sizeof(RELEASE_DATE_STR));
--    start += sizeof(RELEASE_DATE_STR);
--    *((uint8_t *)start) = 0;
-+    *end = 0;
-+    end++;
- 
--    return start+1;
-+    return end;
- }
- 
- /* Type 1 -- System Information */
- static void *
--smbios_type_1_init(void *start)
-+smbios_init_type_1(void *start)
- {
-     struct smbios_type_1 *p = (struct smbios_type_1 *)start;
-+    char *end = (char *)start + sizeof(struct smbios_type_1);
-+    size_t size;
-+    int str_index = 0;
-+
-     p->header.type = 1;
-     p->header.length = sizeof(struct smbios_type_1);
-     p->header.handle = 0x100;
- 
--    p->manufacturer_str = 0;
--    p->product_name_str = 0;
--    p->version_str = 0;
--    p->serial_number_str = 0;
-+    load_str_field_or_skip(1, manufacturer_str);
-+    load_str_field_or_skip(1, product_name_str);
-+    load_str_field_or_skip(1, version_str);
-+    load_str_field_or_skip(1, serial_number_str);
- 
--    memcpy(p->uuid, bios_uuid, 16);
-+    size = smbios_load_field(1, offsetof(struct smbios_type_1,
-+                                         uuid), &p->uuid);
-+    if (size == 0)
-+        memset(p->uuid, 0, 16);
- 
-     p->wake_up_type = 0x06; /* power switch */
--    p->sku_number_str = 0;
--    p->family_str = 0;
- 
--    start += sizeof(struct smbios_type_1);
--    *((uint16_t *)start) = 0;
-+    load_str_field_or_skip(1, sku_number_str);
-+    load_str_field_or_skip(1, family_str);
- 
--    return start+2;
-+    *end = 0;
-+    end++;
-+    if (!str_index) {
-+        *end = 0;
-+        end++;
-+    }
-+
-+    return end;
- }
- 
- /* Type 3 -- System Enclosure */
- static void *
--smbios_type_3_init(void *start)
-+smbios_init_type_3(void *start)
- {
-     struct smbios_type_3 *p = (struct smbios_type_3 *)start;
- 
-@@ -2058,7 +2156,7 @@ smbios_type_3_init(void *start)
- 
- /* Type 4 -- Processor Information */
- static void *
--smbios_type_4_init(void *start, unsigned int cpu_number)
-+smbios_init_type_4(void *start, unsigned int cpu_number)
- {
-     struct smbios_type_4 *p = (struct smbios_type_4 *)start;
- 
-@@ -2098,7 +2196,7 @@ smbios_type_4_init(void *start, unsigned int cpu_number)
- 
- /* Type 16 -- Physical Memory Array */
- static void *
--smbios_type_16_init(void *start, uint32_t memsize, int nr_mem_devs)
-+smbios_init_type_16(void *start, uint32_t memsize, int nr_mem_devs)
- {
-     struct smbios_type_16 *p = (struct smbios_type_16*)start;
- 
-@@ -2121,7 +2219,7 @@ smbios_type_16_init(void *start, uint32_t memsize, int nr_mem_devs)
- 
- /* Type 17 -- Memory Device */
- static void *
--smbios_type_17_init(void *start, uint32_t memory_size_mb, int instance)
-+smbios_init_type_17(void *start, uint32_t memory_size_mb, int instance)
- {
-     struct smbios_type_17 *p = (struct smbios_type_17 *)start;
- 
-@@ -2151,7 +2249,7 @@ smbios_type_17_init(void *start, uint32_t memory_size_mb, int instance)
- 
- /* Type 19 -- Memory Array Mapped Address */
- static void *
--smbios_type_19_init(void *start, uint32_t memory_size_mb, int instance)
-+smbios_init_type_19(void *start, uint32_t memory_size_mb, int instance)
- {
-     struct smbios_type_19 *p = (struct smbios_type_19 *)start;
- 
-@@ -2172,7 +2270,7 @@ smbios_type_19_init(void *start, uint32_t memory_size_mb, int instance)
- 
- /* Type 20 -- Memory Device Mapped Address */
- static void *
--smbios_type_20_init(void *start, uint32_t memory_size_mb, int instance)
-+smbios_init_type_20(void *start, uint32_t memory_size_mb, int instance)
- {
-     struct smbios_type_20 *p = (struct smbios_type_20 *)start;
- 
-@@ -2196,7 +2294,7 @@ smbios_type_20_init(void *start, uint32_t memory_size_mb, int instance)
- 
- /* Type 32 -- System Boot Information */
- static void *
--smbios_type_32_init(void *start)
-+smbios_init_type_32(void *start)
- {
-     struct smbios_type_32 *p = (struct smbios_type_32 *)start;
- 
-@@ -2214,7 +2312,7 @@ smbios_type_32_init(void *start)
- 
- /* Type 127 -- End of Table */
- static void *
--smbios_type_127_init(void *start)
-+smbios_init_type_127(void *start)
- {
-     struct smbios_type_127 *p = (struct smbios_type_127 *)start;
- 
-@@ -2228,6 +2326,78 @@ smbios_type_127_init(void *start)
-     return start + 2;
- }
- 
-+static int
-+smbios_load_external(int type, char **p, unsigned *nr_structs,
-+                     unsigned *max_struct_size)
-+{
-+#ifdef BX_QEMU
-+    static uint64_t used_bitmap[4] = { 0 };
-+    char *start = *p;
-+    int i;
-+
-+    /* Check if we've already reported these tables */
-+    if (used_bitmap[(type >> 6) & 0x3] & (1ULL << (type & 0x3f)))
-+        return 1;
-+
-+    /* Don't introduce spurious end markers */
-+    if (type == 127)
-+        return 0;
-+
-+    for (i = smbios_entries(); i > 0; i--) {
-+        struct smbios_table table;
-+        struct smbios_structure_header *header = (void *)*p;
-+        int string;
-+
-+        qemu_cfg_read((uint8_t *)&table, sizeof(struct smbios_header));
-+        table.header.length -= sizeof(struct smbios_header);
-+
-+        if (table.header.type != SMBIOS_TABLE_ENTRY) {
-+            while (table.header.length--)
-+                inb(QEMU_CFG_DATA_PORT);
-+            continue;
-+        }
-+
-+        qemu_cfg_read((uint8_t *)*p, sizeof(struct smbios_structure_header));
-+        table.header.length -= sizeof(struct smbios_structure_header);
-+
-+        if (header->type != type) {
-+            while (table.header.length--)
-+                inb(QEMU_CFG_DATA_PORT);
-+            continue;
-+        }
-+
-+        *p += sizeof(struct smbios_structure_header);
-+
-+        /* Entries end with a double NULL char, if there's a string at
-+         * the end (length is greater than formatted length), the string
-+         * terminator provides the first NULL. */
-+        string = header->length < table.header.length +
-+                 sizeof(struct smbios_structure_header);
-+
-+        /* Read the rest and terminate the entry */
-+        qemu_cfg_read((uint8_t *)*p, table.header.length);
-+        *p += table.header.length;
-+        *((uint8_t*)*p) = 0;
-+        (*p)++;
-+        if (!string) {
-+            *((uint8_t*)*p) = 0;
-+            (*p)++;
-+        }
-+
-+        (*nr_structs)++;
-+        if (*p - (char *)header > *max_struct_size)
-+            *max_struct_size = *p - (char *)header;
-+    }
-+
-+    /* Mark that we've reported on this type */
-+    used_bitmap[(type >> 6) & 0x3] |= (1ULL << (type & 0x3f));
-+
-+    return (start != *p);
-+#else /* !BX_QEMU */
-+    return 0;
-+#endif
-+}
-+
- void smbios_init(void)
- {
-     unsigned cpu_num, nr_structs = 0, max_struct_size = 0;
-@@ -2246,34 +2416,39 @@ void smbios_init(void)
- 
- 	p = (char *)start + sizeof(struct smbios_entry_point);
- 
--#define add_struct(fn) do{ \
--    q = (fn); \
--    nr_structs++; \
--    if ((q - p) > max_struct_size) \
--        max_struct_size = q - p; \
--    p = q; \
--}while (0)
--
--    add_struct(smbios_type_0_init(p));
--    add_struct(smbios_type_1_init(p));
--    add_struct(smbios_type_3_init(p));
-+#define add_struct(type, args...) do {                                    \
-+    if (!smbios_load_external(type, &p, &nr_structs, &max_struct_size)) { \
-+        q = smbios_init_type_##type(args);                                \
-+        nr_structs++;                                                     \
-+        if ((q - p) > max_struct_size)                                    \
-+            max_struct_size = q - p;                                      \
-+        p = q;                                                            \
-+    }                                                                     \
-+} while (0)
-+
-+    add_struct(0, p);
-+    add_struct(1, p);
-+    add_struct(3, p);
-     for (cpu_num = 1; cpu_num <= smp_cpus; cpu_num++)
--        add_struct(smbios_type_4_init(p, cpu_num));
-+        add_struct(4, p, cpu_num);
- 
-     /* Each 'memory device' covers up to 16GB of address space. */
-     nr_mem_devs = (memsize + 0x3fff) >> 14;
--    add_struct(smbios_type_16_init(p, memsize, nr_mem_devs));
-+    add_struct(16, p, memsize, nr_mem_devs);
-     for ( i = 0; i < nr_mem_devs; i++ )
-     {
-         uint32_t dev_memsize = ((i == (nr_mem_devs - 1))
-                                 ? (((memsize-1) & 0x3fff)+1) : 0x4000);
--        add_struct(smbios_type_17_init(p, dev_memsize, i));
--        add_struct(smbios_type_19_init(p, dev_memsize, i));
--        add_struct(smbios_type_20_init(p, dev_memsize, i));
-+        add_struct(17, p, dev_memsize, i);
-+        add_struct(19, p, dev_memsize, i);
-+        add_struct(20, p, dev_memsize, i);
-     }
- 
--    add_struct(smbios_type_32_init(p));
--    add_struct(smbios_type_127_init(p));
-+    add_struct(32, p);
-+    /* Add any remaining provided entries before the end marker */
-+    for (i = 0; i < 256; i++)
-+        smbios_load_external(i, &p, &nr_structs, &max_struct_size);
-+    add_struct(127, p);
- 
- #undef add_struct
- 
-@@ -2380,8 +2555,6 @@ void rombios32_init(uint32_t *s3_resume_vector, uint8_t *shutdown_flag)
- 
-         mptable_init();
- 
--        uuid_probe();
--
-         smbios_init();
- 
-         if (acpi_enabled)
-
-
---
-To unsubscribe from this list: send the line "unsubscribe kvm" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at  http://vger.kernel.org/majordomo-info.html
-
diff --git a/pc-bios/bios-pq/0013_fix-non-acpi-timer-interrupt-routing.patch b/pc-bios/bios-pq/0013_fix-non-acpi-timer-interrupt-routing.patch
deleted file mode 100644
index 80e7716..0000000
--- a/pc-bios/bios-pq/0013_fix-non-acpi-timer-interrupt-routing.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From c09142004a409bf27070939f470c5e0b37595a5a Mon Sep 17 00:00:00 2001
-From: Beth Kon <eak@us.ibm.com>
-Date: Fri, 19 Jun 2009 14:22:00 -0400
-Subject: [PATCH] Fix non-ACPI Timer Interrupt Routing - v3
-
-Replicate ACPI irq0->inti2 override in mp table for non-acpi case.
-
-v1 -> v2 adds comment suggested by Ryan.
-v2 -> v3 clarifies comment and corrects entry count
-
-Signed-off-by: Beth Kon <eak@us.ibm.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
----
- bios/rombios32.c |   14 ++++++++++++++
- 1 files changed, 14 insertions(+), 0 deletions(-)
-
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index 1a1ed64..d789e20 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -1124,7 +1124,11 @@ static void mptable_init(void)
-     putstr(&q, "0.1         "); /* vendor id */
-     putle32(&q, 0); /* OEM table ptr */
-     putle16(&q, 0); /* OEM table size */
-+#ifdef BX_QEMU
-+    putle16(&q, smp_cpus + 17); /* entry count */
-+#else
-     putle16(&q, smp_cpus + 18); /* entry count */
-+#endif
-     putle32(&q, 0xfee00000); /* local APIC addr */
-     putle16(&q, 0); /* ext table length */
-     putb(&q, 0); /* ext table checksum */
-@@ -1166,6 +1170,12 @@ static void mptable_init(void)
- 
-     /* irqs */
-     for(i = 0; i < 16; i++) {
-+#ifdef BX_QEMU
-+        /* One entry per ioapic interrupt destination. Destination 2 is covered
-+           by irq0->inti2 override (i == 0). Source IRQ 2 is unused */
-+        if (i == 2)
-+            continue;
-+#endif
-         putb(&q, 3); /* entry type = I/O interrupt */
-         putb(&q, 0); /* interrupt type = vectored interrupt */
-         putb(&q, 0); /* flags: po=0, el=0 */
-@@ -1173,7 +1183,11 @@ static void mptable_init(void)
-         putb(&q, 0); /* source bus ID = ISA */
-         putb(&q, i); /* source bus IRQ */
-         putb(&q, ioapic_id); /* dest I/O APIC ID */
-+#ifdef BX_QEMU
-+        putb(&q, i == 0 ? 2 : i); /* dest I/O APIC interrupt in */
-+#else
-         putb(&q, i); /* dest I/O APIC interrupt in */
-+#endif
-     }
-     /* patch length */
-     len = q - mp_config_table;
--- 
-1.6.2.5
-
diff --git a/pc-bios/bios-pq/0014_add-srat-acpi-table-support.patch b/pc-bios/bios-pq/0014_add-srat-acpi-table-support.patch
deleted file mode 100644
index 0fa94df..0000000
--- a/pc-bios/bios-pq/0014_add-srat-acpi-table-support.patch
+++ /dev/null
@@ -1,308 +0,0 @@
-From 11c2fd3e01835fe8562a7dae4842a645c9fe8bb5 Mon Sep 17 00:00:00 2001
-Date: Tue, 21 Apr 2009 22:31:41 +0000
-Subject: add SRAT ACPI table support
-From: Andre Przywara <andre.przywara@amd.com>
-
-Take NUMA topology info from the QEMU firmware configuration interface
-(number of nodes, node for each (V)CPU and amount of memory) and build
-a SRAT table describing this topology for the guest OS. Handles more than
-4 GB of RAM by including a hole for 32bit PCI memory mapping.
-
-Signed-off-by: Andre Przywara <andre.przywara@amd.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index 49dfd62..d8f6d4e 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -450,6 +450,11 @@ int pm_sci_int;
- unsigned long bios_table_cur_addr;
- unsigned long bios_table_end_addr;
-
-+static inline uint64_t le64_to_cpu(uint64_t x)
-+{
-+    return x;
-+}
-+
- void wrmsr_smp(uint32_t index, uint64_t val)
- {
-     static struct { uint32_t ecx, eax, edx; } *p = (void *)SMP_MSR_ADDR;
-@@ -468,6 +473,7 @@ void wrmsr_smp(uint32_t index, uint64_t val)
- #define QEMU_CFG_SIGNATURE  0x00
- #define QEMU_CFG_ID         0x01
- #define QEMU_CFG_UUID       0x02
-+#define QEMU_CFG_NUMA       0x0D
- #define QEMU_CFG_ARCH_LOCAL     0x8000
- #define QEMU_CFG_ACPI_TABLES  (QEMU_CFG_ARCH_LOCAL + 0)
- #define QEMU_CFG_SMBIOS_ENTRIES  (QEMU_CFG_ARCH_LOCAL + 1)
-@@ -529,6 +535,14 @@ static uint16_t smbios_entries(void)
-
-     return cnt;
- }
-+
-+uint64_t qemu_cfg_get64 (void)
-+{
-+    uint64_t ret;
-+
-+    qemu_cfg_read((uint8_t*)&ret, 8);
-+    return le64_to_cpu(ret);
-+}
- #endif
-
- void cpu_probe(void)
-@@ -1281,7 +1295,7 @@ struct rsdt_descriptor_rev1
- {
- 	ACPI_TABLE_HEADER_DEF                           /* ACPI common table header */
- #ifdef BX_QEMU
--	uint32_t                             table_offset_entry [4]; /* Array of pointers to other */
-+	uint32_t                             table_offset_entry [5]; /* Array of pointers to other */
- #else
- 	uint32_t                             table_offset_entry [3]; /* Array of pointers to other */
- #endif
-@@ -1389,7 +1403,7 @@ struct multiple_apic_table
- } __attribute__((__packed__));
-
-
--/* Values for Type in APIC_HEADER_DEF */
-+/* Values for Type in APIC sub-headers */
-
- #define APIC_PROCESSOR          0
- #define APIC_IO                 1
-@@ -1402,18 +1416,18 @@ struct multiple_apic_table
- #define APIC_XRUPT_SOURCE       8
- #define APIC_RESERVED           9           /* 9 and greater are reserved */
-
--/*
-- * MADT sub-structures (Follow MULTIPLE_APIC_DESCRIPTION_TABLE)
-- */
--#define APIC_HEADER_DEF                     /* Common APIC sub-structure header */\
-+#define ACPI_SUB_HEADER_DEF                 /* Common ACPI sub-structure header */\
- 	uint8_t                              type; \
- 	uint8_t                              length;
-
-+/*
-+ * MADT sub-structures (Follow MULTIPLE_APIC_DESCRIPTION_TABLE)
-+ */
- /* Sub-structures for MADT */
-
- struct madt_processor_apic
- {
--	APIC_HEADER_DEF
-+	ACPI_SUB_HEADER_DEF
- 	uint8_t                              processor_id;           /* ACPI processor id */
- 	uint8_t                              local_apic_id;          /* Processor's local APIC id */
- #if 0
-@@ -1424,6 +1438,43 @@ struct madt_processor_apic
- #endif
- } __attribute__((__packed__));
-
-+/*
-+ * SRAT (NUMA topology description) table
-+ */
-+
-+#define SRAT_PROCESSOR          0
-+#define SRAT_MEMORY             1
-+
-+struct system_resource_affinity_table
-+{
-+    ACPI_TABLE_HEADER_DEF
-+    uint32_t    reserved1;
-+    uint32_t    reserved2[2];
-+};
-+
-+struct srat_processor_affinity
-+{
-+    ACPI_SUB_HEADER_DEF
-+    uint8_t     proximity_lo;
-+    uint8_t     local_apic_id;
-+    uint32_t    flags;
-+    uint8_t     local_sapic_eid;
-+    uint8_t     proximity_hi[3];
-+    uint32_t    reserved;
-+};
-+
-+struct srat_memory_affinity
-+{
-+    ACPI_SUB_HEADER_DEF
-+    uint8_t     proximity[4];
-+    uint16_t    reserved1;
-+    uint32_t    base_addr_low,base_addr_high;
-+    uint32_t    length_low,length_high;
-+    uint32_t    reserved2;
-+    uint32_t    flags;
-+    uint32_t    reserved3[2];
-+};
-+
- #ifdef BX_QEMU
- /*
-  *  * ACPI 2.0 Generic Address Space definition.
-@@ -1452,7 +1503,7 @@ struct acpi_20_hpet {
-
- struct madt_io_apic
- {
--	APIC_HEADER_DEF
-+	ACPI_SUB_HEADER_DEF
- 	uint8_t                              io_apic_id;             /* I/O APIC ID */
- 	uint8_t                              reserved;               /* Reserved - must be zero */
- 	uint32_t                             address;                /* APIC physical address */
-@@ -1463,7 +1514,7 @@ struct madt_io_apic
- #ifdef BX_QEMU
- struct madt_int_override
- {
--	APIC_HEADER_DEF
-+	ACPI_SUB_HEADER_DEF
- 	uint8_t                bus;     /* Identifies ISA Bus */
- 	uint8_t                source;  /* Bus-relative interrupt source */
- 	uint32_t               gsi;     /* GSI that source will signal */
-@@ -1567,6 +1618,21 @@ int acpi_build_processor_ssdt(uint8_t *ssdt)
-     return ssdt_ptr - ssdt;
- }
-
-+static void acpi_build_srat_memory(struct srat_memory_affinity *numamem,
-+    uint64_t base, uint64_t len, int node, int enabled)
-+{
-+     numamem->type = SRAT_MEMORY;
-+     numamem->length = sizeof(*numamem);
-+     memset (numamem->proximity, 0 ,4);
-+     numamem->proximity[0] = node;
-+     numamem->flags = cpu_to_le32(!!enabled);
-+     numamem->base_addr_low = base & 0xFFFFFFFF;
-+     numamem->base_addr_high = base >> 32;
-+     numamem->length_low = len & 0xFFFFFFFF;
-+     numamem->length_high = len >> 32;
-+     return;
-+}
-+
- /* base_addr must be a multiple of 4KB */
- void acpi_bios_init(void)
- {
-@@ -1577,12 +1643,15 @@ void acpi_bios_init(void)
-     struct multiple_apic_table *madt;
-     uint8_t *dsdt, *ssdt;
- #ifdef BX_QEMU
-+    struct system_resource_affinity_table *srat;
-     struct acpi_20_hpet *hpet;
-     uint32_t hpet_addr;
- #endif
-     uint32_t base_addr, rsdt_addr, fadt_addr, addr, facs_addr, dsdt_addr, ssdt_addr;
-     uint32_t acpi_tables_size, madt_addr, madt_size, rsdt_size;
-+    uint32_t srat_addr,srat_size;
-     uint16_t i, external_tables;
-+    int nb_numa_nodes;
-
-     /* reserve memory space for tables */
- #ifdef BX_USE_EBDA_TABLES
-@@ -1624,6 +1693,25 @@ void acpi_bios_init(void)
-     ssdt_addr = addr;
-     ssdt = (void *)(addr);
-     addr += acpi_build_processor_ssdt(ssdt);
-+#ifdef BX_QEMU
-+    qemu_cfg_select(QEMU_CFG_NUMA);
-+    nb_numa_nodes = qemu_cfg_get64();
-+#else
-+    nb_numa_nodes = 0;
-+#endif
-+    if (nb_numa_nodes > 0) {
-+        addr = (addr + 7) & ~7;
-+        srat_addr = addr;
-+        srat_size = sizeof(*srat) +
-+            sizeof(struct srat_processor_affinity) * smp_cpus +
-+            sizeof(struct srat_memory_affinity) * (nb_numa_nodes + 2);
-+        srat = (void *)(addr);
-+        addr += srat_size;
-+    } else {
-+        srat_addr = addr;
-+        srat = (void*)(addr);
-+        srat_size = 0;
-+    }
-
-     addr = (addr + 7) & ~7;
-     madt_addr = addr;
-@@ -1733,6 +1821,69 @@ void acpi_bios_init(void)
-
-     memset(rsdt, 0, rsdt_size);
- #ifdef BX_QEMU
-+    /* SRAT */
-+    if (nb_numa_nodes > 0) {
-+        struct srat_processor_affinity *core;
-+        struct srat_memory_affinity *numamem;
-+        int slots;
-+        uint64_t mem_len, mem_base, next_base = 0, curnode;
-+
-+        qemu_cfg_select(QEMU_CFG_NUMA);
-+        qemu_cfg_get64();
-+        memset (srat, 0 , srat_size);
-+        srat->reserved1=1;
-+ 
-+        core = (void*)(srat + 1);
-+        for (i = 0; i < smp_cpus; ++i) {
-+             core->type = SRAT_PROCESSOR;
-+             core->length = sizeof(*core);
-+             core->local_apic_id = i;
-+             curnode = qemu_cfg_get64();
-+             core->proximity_lo = curnode;
-+             memset (core->proximity_hi, 0, 3);
-+             core->local_sapic_eid = 0;
-+             if (i < smp_cpus)
-+                 core->flags = cpu_to_le32(1);
-+             else
-+                 core->flags = 0;
-+             core++;
-+        }
-+
-+        /* the memory map is a bit tricky, it contains at least one hole
-+         * from 640k-1M and possibly another one from 3.5G-4G.
-+         */
-+        numamem = (void*)core; slots = 0;
-+        acpi_build_srat_memory(numamem, 0, 640*1024, 0, 1);
-+        next_base = 1024 * 1024; numamem++;slots++;
-+        for (i = 1; i < nb_numa_nodes + 1; ++i) {
-+            mem_base = next_base;
-+            mem_len = qemu_cfg_get64();
-+            if (i == 1) mem_len -= 1024 * 1024;
-+            next_base = mem_base + mem_len;
-+ 
-+            /* Cut out the PCI hole */
-+            if (mem_base <= ram_size && next_base > ram_size) {
-+                mem_len -= next_base - ram_size;
-+                if (mem_len > 0) {
-+                    acpi_build_srat_memory(numamem, mem_base, mem_len, i-1, 1);
-+                    numamem++; slots++;
-+                }
-+                mem_base = 1ULL << 32;
-+                mem_len = next_base - ram_size;
-+                next_base += (1ULL << 32) - ram_size;
-+            }
-+            acpi_build_srat_memory(numamem, mem_base, mem_len, i-1, 1);
-+            numamem++; slots++;
-+        }
-+        for (; slots < nb_numa_nodes + 2; slots++) {
-+            acpi_build_srat_memory(numamem, 0, 0, 0, 0);
-+            numamem++;
-+        }
-+
-+         acpi_build_table_header((struct acpi_table_header *)srat,
-+                                "SRAT", srat_size, 1);
-+    }
-+
-     /* HPET */
-     memset(hpet, 0, sizeof(*hpet));
-     /* Note timer_block_id value must be kept in sync with value advertised by
-@@ -1761,9 +1912,11 @@ void acpi_bios_init(void)
-     rsdt->table_offset_entry[2] = cpu_to_le32(ssdt_addr);
- #ifdef BX_QEMU
-     rsdt->table_offset_entry[3] = cpu_to_le32(hpet_addr);
-+    if (nb_numa_nodes > 0)
-+        rsdt->table_offset_entry[4] = cpu_to_le32(srat_addr);
- #endif
--    acpi_build_table_header((struct acpi_table_header *)rsdt,
--                            "RSDT", rsdt_size, 1);
-+    acpi_build_table_header((struct acpi_table_header *)rsdt, "RSDT",
-+        rsdt_size - (nb_numa_nodes > 0? 0: sizeof(uint32_t)), 1);
-
-     acpi_tables_size = addr - base_addr;
-
--- 
-1.6.1.3
-
-
diff --git a/pc-bios/bios-pq/0015_enable-power-button-even-generation.patch b/pc-bios/bios-pq/0015_enable-power-button-even-generation.patch
deleted file mode 100644
index ee6d028..0000000
--- a/pc-bios/bios-pq/0015_enable-power-button-even-generation.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From a6d6552426dcbf726e5549f08b70c9318d6be14b Mon Sep 17 00:00:00 2001
-Date: Fri, 8 May 2009 10:13:01 -0500
-Subject: Enable power button event generation.
-From: Gleb Natapov <gleb@redhat.com>
-
-Signed-off-by: Gleb Natapov <gleb@redhat.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index 81e3bad..9986531 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -1767,8 +1767,8 @@ void acpi_bios_init(void)
-     fadt->plvl3_lat = cpu_to_le16(0xfff); // C3 state not supported
-     fadt->gpe0_blk = cpu_to_le32(0xafe0);
-     fadt->gpe0_blk_len = 4;
--    /* WBINVD + PROC_C1 + PWR_BUTTON + SLP_BUTTON + FIX_RTC */
--    fadt->flags = cpu_to_le32((1 << 0) | (1 << 2) | (1 << 4) | (1 << 5) | (1 << 6));
-+    /* WBINVD + PROC_C1 + SLP_BUTTON + FIX_RTC */
-+    fadt->flags = cpu_to_le32((1 << 0) | (1 << 2) | (1 << 5) | (1 << 6));
-     acpi_build_table_header((struct acpi_table_header *)fadt, "FACP",
-                             sizeof(*fadt), 1);
- 
diff --git a/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch b/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch
deleted file mode 100644
index f94fd12..0000000
--- a/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 00070396b06392fadcee0e19d499a43b81c63c45 Mon Sep 17 00:00:00 2001
-Date: Fri, 22 May 2009 09:57:32 -0500
-Subject: [PATCH] bios: Use the correct mask to size the PCI option ROM BAR
-From: Alex Williamson <alex.williamson@hp.com>
-
-Bit 0 is the enable bit, which we not only don't want to set, but
-it will stick and make us think it's an I/O port resource.
-
-Signed-off-by: Alex Williamson <alex.williamson@hp.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
----
-
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index d7e18e9..f861f81 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -985,11 +985,13 @@ static void pci_bios_init_device(PCIDevice *d)
-             int ofs;
-             uint32_t val, size ;
- 
--            if (i == PCI_ROM_SLOT)
-+            if (i == PCI_ROM_SLOT) {
-                 ofs = 0x30;
--            else
-+                pci_config_writel(d, ofs, 0xfffffffe);
-+            } else {
-                 ofs = 0x10 + i * 4;
--            pci_config_writel(d, ofs, 0xffffffff);
-+                pci_config_writel(d, ofs, 0xffffffff);
-+            }
-             val = pci_config_readl(d, ofs);
-             if (val != 0) {
-                 size = (~(val & ~0xf)) + 1;
-
-
diff --git a/pc-bios/bios-pq/0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch b/pc-bios/bios-pq/0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch
deleted file mode 100644
index f6a1788..0000000
--- a/pc-bios/bios-pq/0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From f371c480cb93f3516f34af5e3a4524ee6ba43c24 Mon Sep 17 00:00:00 2001
-From: Jan Kiszka <jan.kiszka@web.de>
-Date: Thu, 2 Jul 2009 00:11:38 +0200
-Subject: [PATCH 1/2] bochs-bios: Move QEMU_CFG constants to rombios.h
-
-We will need them outside of rombios32.c.
-
-Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
----
- bios/rombios.h   |   10 ++++++++++
- bios/rombios32.c |   10 ----------
- 2 files changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/bios/rombios.h b/bios/rombios.h
-index 6f9cbb1..59ce19d 100644
---- a/bios/rombios.h
-+++ b/bios/rombios.h
-@@ -58,6 +58,16 @@
- #define SMB_IO_BASE       0xb100
- #define SMP_MSR_ADDR      0x0510
- 
-+#define QEMU_CFG_CTL_PORT         0x510
-+#define QEMU_CFG_DATA_PORT        0x511
-+#define QEMU_CFG_SIGNATURE        0x00
-+#define QEMU_CFG_ID               0x01
-+#define QEMU_CFG_UUID             0x02
-+#define QEMU_CFG_NUMA             0x0d
-+#define QEMU_CFG_ARCH_LOCAL       0x8000
-+#define QEMU_CFG_ACPI_TABLES      (QEMU_CFG_ARCH_LOCAL + 0)
-+#define QEMU_CFG_SMBIOS_ENTRIES   (QEMU_CFG_ARCH_LOCAL + 1)
-+
-   // Define the application NAME
- #if defined(BX_QEMU)
- #  define BX_APPNAME "QEMU"
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index f861f81..3fe4e48 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -468,16 +468,6 @@ void wrmsr_smp(uint32_t index, uint64_t val)
- }
- 
- #ifdef BX_QEMU
--#define QEMU_CFG_CTL_PORT 0x510
--#define QEMU_CFG_DATA_PORT 0x511
--#define QEMU_CFG_SIGNATURE  0x00
--#define QEMU_CFG_ID         0x01
--#define QEMU_CFG_UUID       0x02
--#define QEMU_CFG_NUMA       0x0D
--#define QEMU_CFG_ARCH_LOCAL     0x8000
--#define QEMU_CFG_ACPI_TABLES  (QEMU_CFG_ARCH_LOCAL + 0)
--#define QEMU_CFG_SMBIOS_ENTRIES  (QEMU_CFG_ARCH_LOCAL + 1)
--
- int qemu_cfg_port;
- 
- void qemu_cfg_select(int f)
--- 
-1.6.2.5
-
diff --git a/pc-bios/bios-pq/0018-bochs-bios-Make-boot-prompt-optional.patch b/pc-bios/bios-pq/0018-bochs-bios-Make-boot-prompt-optional.patch
deleted file mode 100644
index cda9757..0000000
--- a/pc-bios/bios-pq/0018-bochs-bios-Make-boot-prompt-optional.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From fff8ffe1c92474ee58ebd6da82fede0ab7929214 Mon Sep 17 00:00:00 2001
-From: Jan Kiszka <jan.kiszka@web.de>
-Date: Thu, 2 Jul 2009 00:11:44 +0200
-Subject: [PATCH 2/2] bochs-bios: Make boot prompt optional
-
-Check via QEMU's firmware configuration interface if the boot prompt
-should be given. This allows to disable the prompt with its several
-seconds long delay, speeding up the common boot case.
-
-Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
----
- bios/rombios.c |   19 +++++++++++++++++++
- bios/rombios.h |    1 +
- 2 files changed, 20 insertions(+), 0 deletions(-)
-
-diff --git a/bios/rombios.c b/bios/rombios.c
-index 0f13b53..560e6d5 100644
---- a/bios/rombios.c
-+++ b/bios/rombios.c
-@@ -2015,6 +2015,21 @@ Bit16u i; ipl_entry_t *e;
- }
- 
- #if BX_ELTORITO_BOOT
-+#ifdef BX_QEMU
-+int
-+qemu_cfg_probe_bootkey()
-+{
-+  outw(QEMU_CFG_CTL_PORT, QEMU_CFG_SIGNATURE);
-+  if (inb(QEMU_CFG_DATA_PORT) != 'Q' ||
-+      inb(QEMU_CFG_DATA_PORT) != 'E' ||
-+      inb(QEMU_CFG_DATA_PORT) != 'M' ||
-+      inb(QEMU_CFG_DATA_PORT) != 'U') return 1;
-+
-+  outw(QEMU_CFG_CTL_PORT, QEMU_CFG_BOOT_MENU);
-+  return inb(QEMU_CFG_DATA_PORT);
-+}
-+#endif // BX_QEMU
-+
-   void
- interactive_bootkey()
- {
-@@ -2026,6 +2041,10 @@ interactive_bootkey()
-   Bit16u ss = get_SS();
-   Bit16u valid_choice = 0;
- 
-+#ifdef BX_QEMU
-+  if (!qemu_cfg_probe_bootkey()) return;
-+#endif
-+
-   while (check_for_keystroke())
-     get_keystroke();
- 
-diff --git a/bios/rombios.h b/bios/rombios.h
-index 59ce19d..8ece2ee 100644
---- a/bios/rombios.h
-+++ b/bios/rombios.h
-@@ -64,6 +64,7 @@
- #define QEMU_CFG_ID               0x01
- #define QEMU_CFG_UUID             0x02
- #define QEMU_CFG_NUMA             0x0d
-+#define QEMU_CFG_BOOT_MENU        0x0e
- #define QEMU_CFG_ARCH_LOCAL       0x8000
- #define QEMU_CFG_ACPI_TABLES      (QEMU_CFG_ARCH_LOCAL + 0)
- #define QEMU_CFG_SMBIOS_ENTRIES   (QEMU_CFG_ARCH_LOCAL + 1)
--- 
-1.6.2.5
-
diff --git a/pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch b/pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch
deleted file mode 100644
index 47d3a55..0000000
--- a/pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e1e8f35a4f59d82ab9a5361c3990c8dadd2e7678 Mon Sep 17 00:00:00 2001
-Date: Fri, 10 Jul 2009 14:52:56 -0500
-Subject: bios: Fix multiple calls into smbios_load_ex
-From: Alex Williamson <alex.williamson@hp.com>
-
-We're marking the used entry bitmap in smbios_load_external() for each
-type we check, regardless of whether we loaded anything.  This makes
-subsequent calls behave as if we've already loaded the tables from qemu
-and can result in missing tables (ex. multiple type4 entries on an SMP
-guest).  Only mark the bitmap if we actually load something.
-
-Signed-off-by: Alex Williamson <alex.williamson@hp.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index f861f81..c869798 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -2554,13 +2554,14 @@ smbios_load_external(int type, char **p, unsigned *nr_structs,
-             *max_struct_size = *p - (char *)header;
-     }
- 
--    /* Mark that we've reported on this type */
--    used_bitmap[(type >> 6) & 0x3] |= (1ULL << (type & 0x3f));
-+    if (start != *p) {
-+        /* Mark that we've reported on this type */
-+        used_bitmap[(type >> 6) & 0x3] |= (1ULL << (type & 0x3f));
-+        return 1;
-+    }
- 
--    return (start != *p);
--#else /* !BX_QEMU */
-+#endif /* !BX_QEMU */
-     return 0;
--#endif
- }
- 
- void smbios_init(void)
diff --git a/pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch b/pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch
deleted file mode 100644
index 75b2ad2..0000000
--- a/pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From baef8a666c137fae513a195c8abeb80e1806d7bd Mon Sep 17 00:00:00 2001
-Date: Thu, 23 Jul 2009 17:03:43 +0200
-Subject: Read max_cpus variable from QEMU_CFG. If not provided, use value of smp_cpus.
-From: Jes Sorensen <jes@sgi.com>
-
-Signed-off-by: Jes Sorensen <jes@sgi.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-diff --git a/bios/rombios.h b/bios/rombios.h
-index 8ece2ee..dbf3bd3 100644
---- a/bios/rombios.h
-+++ b/bios/rombios.h
-@@ -65,6 +65,7 @@
- #define QEMU_CFG_UUID             0x02
- #define QEMU_CFG_NUMA             0x0d
- #define QEMU_CFG_BOOT_MENU        0x0e
-+#define QEMU_CFG_MAX_CPUS         0x0f
- #define QEMU_CFG_ARCH_LOCAL       0x8000
- #define QEMU_CFG_ACPI_TABLES      (QEMU_CFG_ARCH_LOCAL + 0)
- #define QEMU_CFG_SMBIOS_ENTRIES   (QEMU_CFG_ARCH_LOCAL + 1)
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index 69e82b1..610fc1f 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -436,6 +436,7 @@ void delay_ms(int n)
- }
- 
- uint16_t smp_cpus;
-+uint16_t max_cpus;
- uint32_t cpuid_signature;
- uint32_t cpuid_features;
- uint32_t cpuid_ext_features;
-@@ -526,6 +527,19 @@ static uint16_t smbios_entries(void)
-     return cnt;
- }
- 
-+static uint16_t get_max_cpus(void)
-+{
-+    uint16_t cnt;
-+
-+    qemu_cfg_select(QEMU_CFG_MAX_CPUS);
-+    qemu_cfg_read((uint8_t*)&cnt, sizeof(cnt));
-+
-+    if (!cnt)
-+        cnt = smp_cpus;
-+
-+    return cnt;
-+}
-+
- uint64_t qemu_cfg_get64 (void)
- {
-     uint64_t ret;
-@@ -2689,6 +2703,12 @@ void rombios32_init(uint32_t *s3_resume_vector, uint8_t *shutdown_flag)
- 
-     smp_probe();
- 
-+#ifdef BX_QEMU
-+    max_cpus = get_max_cpus();
-+#else
-+    max_cpus = smp_cpus;
-+#endif
-+
-     find_bios_table_area();
- 
-     if (*shutdown_flag == 0xfe) {
diff --git a/pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch b/pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch
deleted file mode 100644
index 270eece..0000000
--- a/pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From baef8a666c137fae513a195c8abeb80e1806d7bd Mon Sep 17 00:00:00 2001
-Date: Thu, 23 Jul 2009 17:03:43 +0200
-Subject: Use max_cpus when building bios tables.
-From: Jes Sorensen <jes@sgi.com>
-
-Signed-off-by: Jes Sorensen <jes@sgi.com>
-Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-
-diff --git a/bios/rombios32.c b/bios/rombios32.c
-index e6bb164..3d15283 100644
---- a/bios/rombios32.c
-+++ b/bios/rombios32.c
-@@ -1145,23 +1145,25 @@ static void mptable_init(void)
-     putle32(&q, 0); /* OEM table ptr */
-     putle16(&q, 0); /* OEM table size */
- #ifdef BX_QEMU
--    putle16(&q, smp_cpus + 17); /* entry count */
-+    putle16(&q, max_cpus + 17); /* entry count */
- #else
--    putle16(&q, smp_cpus + 18); /* entry count */
-+    putle16(&q, max_cpus + 18); /* entry count */
- #endif
-     putle32(&q, 0xfee00000); /* local APIC addr */
-     putle16(&q, 0); /* ext table length */
-     putb(&q, 0); /* ext table checksum */
-     putb(&q, 0); /* reserved */
- 
--    for(i = 0; i < smp_cpus; i++) {
-+    for(i = 0; i < max_cpus; i++) {
-         putb(&q, 0); /* entry type = processor */
-         putb(&q, i); /* APIC id */
-         putb(&q, 0x11); /* local APIC version number */
-         if (i == 0)
-             putb(&q, 3); /* cpu flags: enabled, bootstrap cpu */
--        else
-+        else if (i < smp_cpus)
-             putb(&q, 1); /* cpu flags: enabled */
-+        else
-+            putb(&q, 0); /* cpu flags: disabled */
-         putb(&q, 0); /* cpu signature */
-         putb(&q, 6);
-         putb(&q, 0);
-@@ -1181,7 +1183,7 @@ static void mptable_init(void)
-     putstr(&q, "ISA   ");
- 
-     /* ioapic */
--    ioapic_id = smp_cpus;
-+    ioapic_id = max_cpus;
-     putb(&q, 2); /* entry type = I/O APIC */
-     putb(&q, ioapic_id); /* apic ID */
-     putb(&q, 0x11); /* I/O APIC version number */
-@@ -1581,7 +1583,7 @@ int acpi_build_processor_ssdt(uint8_t *ssdt)
- {
-     uint8_t *ssdt_ptr = ssdt;
-     int i, length;
--    int acpi_cpus = smp_cpus > 0xff ? 0xff : smp_cpus;
-+    int acpi_cpus = max_cpus > 0xff ? 0xff : max_cpus;
- 
-     ssdt_ptr[9] = 0; // checksum;
-     ssdt_ptr += sizeof(struct acpi_table_header);
-@@ -1713,7 +1715,7 @@ void acpi_bios_init(void)
-         addr = (addr + 7) & ~7;
-         srat_addr = addr;
-         srat_size = sizeof(*srat) +
--            sizeof(struct srat_processor_affinity) * smp_cpus +
-+            sizeof(struct srat_processor_affinity) * max_cpus +
-             sizeof(struct srat_memory_affinity) * (nb_numa_nodes + 2);
-         srat = (void *)(addr);
-         addr += srat_size;
-@@ -1726,7 +1728,7 @@ void acpi_bios_init(void)
-     addr = (addr + 7) & ~7;
-     madt_addr = addr;
-     madt_size = sizeof(*madt) +
--        sizeof(struct madt_processor_apic) * smp_cpus +
-+        sizeof(struct madt_processor_apic) * max_cpus +
- #ifdef BX_QEMU
-         sizeof(struct madt_io_apic) + sizeof(struct madt_int_override);
- #else
-@@ -1799,18 +1801,21 @@ void acpi_bios_init(void)
-         madt->local_apic_address = cpu_to_le32(0xfee00000);
-         madt->flags = cpu_to_le32(1);
-         apic = (void *)(madt + 1);
--        for(i=0;i<smp_cpus;i++) {
-+        for(i = 0;i < max_cpus; i++) {
-             apic->type = APIC_PROCESSOR;
-             apic->length = sizeof(*apic);
-             apic->processor_id = i;
-             apic->local_apic_id = i;
--            apic->flags = cpu_to_le32(1);
-+            if (i < smp_cpus)
-+                apic->flags = cpu_to_le32(1);
-+            else
-+                apic->flags = 0;
-             apic++;
-         }
-         io_apic = (void *)apic;
-         io_apic->type = APIC_IO;
-         io_apic->length = sizeof(*io_apic);
--        io_apic->io_apic_id = smp_cpus;
-+        io_apic->io_apic_id = max_cpus;
-         io_apic->address = cpu_to_le32(0xfec00000);
-         io_apic->interrupt = cpu_to_le32(0);
- #ifdef BX_QEMU
-@@ -1844,7 +1849,7 @@ void acpi_bios_init(void)
-         srat->reserved1=1;
-  
-         core = (void*)(srat + 1);
--        for (i = 0; i < smp_cpus; ++i) {
-+        for (i = 0; i < max_cpus; ++i) {
-              core->type = SRAT_PROCESSOR;
-              core->length = sizeof(*core);
-              core->local_apic_id = i;
-@@ -2603,7 +2608,7 @@ void smbios_init(void)
-     add_struct(0, p);
-     add_struct(1, p);
-     add_struct(3, p);
--    for (cpu_num = 1; cpu_num <= smp_cpus; cpu_num++)
-+    for (cpu_num = 1; cpu_num <= max_cpus; cpu_num++)
-         add_struct(4, p, cpu_num);
- 
-     /* Each 'memory device' covers up to 16GB of address space. */
diff --git a/pc-bios/bios-pq/HEAD b/pc-bios/bios-pq/HEAD
deleted file mode 100644
index 3a849d8..0000000
--- a/pc-bios/bios-pq/HEAD
+++ /dev/null
@@ -1 +0,0 @@
-04387139e3b5ac97b5633cd40b3d87cdf45efd6c
diff --git a/pc-bios/bios-pq/series b/pc-bios/bios-pq/series
deleted file mode 100644
index 0422dec..0000000
--- a/pc-bios/bios-pq/series
+++ /dev/null
@@ -1,21 +0,0 @@
-0001_bx-qemu.patch
-0002_kvm-bios-update-smbios-table-to-report-memory-above-4g.patch
-0003_kvm-bios-generate-mptable-unconditionally.patch
-0004_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch
-0005_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch
-0006_qemu-bios-use-preprocessor-for-pci-link-routing.patch
-0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch
-0008_qemu-bios-provide-gpe-_l0x-methods.patch
-0009_qemu-bios-pci-hotplug-support.patch
-0010_bios-mark-the-acpi-sci-interrupt-as-connected-to-irq-9.patch
-0011_read-additional-acpi-tables-from-a-vm.patch
-0012-load-smbios-entries-and-files-from-qemu.patch
-0013_fix-non-acpi-timer-interrupt-routing.patch
-0014_add-srat-acpi-table-support.patch
-0015_enable-power-button-even-generation.patch
-0016-use-correct-mask-to-size-pci-option-rom-bar.patch
-0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch
-0018-bochs-bios-Make-boot-prompt-optional.patch
-0019-bios-fix-multiple-calls.patch
-0020-qemu-kvm-cfg-maxcpus.patch
-0021-qemu-madt-maxcpus.patch
-- 
1.6.2.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot
       [not found] ` <m3eirz474o.fsf@neno.mitica>
@ 2009-07-29 19:35   ` Anthony Liguori
  2009-07-30  9:38   ` Avi Kivity
  1 sibling, 0 replies; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 19:35 UTC (permalink / raw)
  To: Juan Quintela; +Cc: Alex Graf, qemu-devel, Avi Kivity

Juan Quintela wrote:
> Anthony Liguori <aliguori@us.ibm.com> wrote:
>   
>> We'll be storing all of our rom source code in roms/
>>     
>
> Can we store the source in roms_source/roms_src or something similar, please?
>   

Why?

-- 
Regards,

Anthony Liguori

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 6/7] Add pc-bios as a git submodule
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 6/7] Add pc-bios as a git submodule Anthony Liguori
@ 2009-07-29 21:25   ` Alexander Graf
  2009-07-29 21:40     ` Anthony Liguori
  2009-07-29 22:10   ` [Qemu-devel] " Jordan Justen
  1 sibling, 1 reply; 20+ messages in thread
From: Alexander Graf @ 2009-07-29 21:25 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: qemu-devel@nongnu.org, Avi Kivity





On 29.07.2009, at 20:45, Anthony Liguori <aliguori@us.ibm.com> wrote:

> This will allow us to build pc-bios on demand
>


How do you get the submodule? Will there be a 'make sync' kind of  
target that just grabs everything for me?

I don't really want to mess with submodules when I don't have to.

Alex

> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> ---
> .gitmodules  |    3 +++
> Makefile     |    5 +++--
> configure    |   43 +++++++++++++++++++++++++++++++++++++++++--
> roms/pc-bios |    1 +
> 4 files changed, 48 insertions(+), 4 deletions(-)
> create mode 100644 .gitmodules
> create mode 160000 roms/pc-bios
>
> diff --git a/.gitmodules b/.gitmodules
> new file mode 100644
> index 0000000..7ff5bb4
> --- /dev/null
> +++ b/.gitmodules
> @@ -0,0 +1,3 @@
> +[submodule "roms/pc-bios"]
> +    path = roms/pc-bios
> +    url = git://git.qemu.org/pcbios.git
> diff --git a/Makefile b/Makefile
> index 4f06ec1..7fa5253 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -239,7 +239,7 @@ ar      de     en-us  fi  fr-be  hr     it  lv   
> nl         pl  ru     th \
> common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt   
> sl     tr
>
> ifdef INSTALL_BLOBS
> -BLOBS=bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
> +BLOBS=vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
> video.x openbios-sparc32 openbios-sparc64 openbios-ppc \
> pxe-ne2k_pci.bin pxe-rtl8139.bin pxe-pcnet.bin pxe-e1000.bin \
> bamboo.dtb petalogix-s3adsp1800.dtb
> @@ -274,9 +274,10 @@ ifneq ($(BLOBS),)
>    done
> endif
>         # FIXME: this is terrible
> -    for rom in multiboot; do \
> +    for rom in $(ROMS); do \
>      case $$rom in \
>        multiboot) srcbin=multiboot.bin ;; \
> +        pc-bios) srcbin=BIOS-bochs-latest; dstbin=bios.bin ;; \
>      esac; \
>      if test -z "$$dstbin" ; then \
>        dstbin=$$srcbin ; \
> diff --git a/configure b/configure
> index 75e5657..71075fd 100755
> --- a/configure
> +++ b/configure
> @@ -17,8 +17,10 @@ TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
> TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
> TMPI="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
> TMPSDLLOG="${TMPDIR1}/qemu-conf-sdl-$$-${RANDOM}.log"
> +TMPDSL="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.dsl"
> +TMPAML="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.aml"
>
> -trap "rm -f $TMPC $TMPO $TMPE $TMPS $TMPI $TMPSDLLOG; exit" 0 2 3 15
> +trap "rm -f $TMPC $TMPO $TMPE $TMPS $TMPI $TMPSDLLOG $TMPDSL  
> $TMPAML; exit" 0 2 3 15
>
> # default parameters
> prefix=""
> @@ -207,6 +209,8 @@ fdt="yes"
> sdl="yes"
> xen="yes"
> pkgversion=""
> +bcc="yes"
> +iasl="yes"
>
> # OS specific
> if check_define __linux__ ; then
> @@ -526,6 +530,10 @@ for opt do
>   ;;
>   --disable-docs) build_docs="no"
>   ;;
> +  --disable-bcc) bcc="no"
> +  ;;
> +  --disable-isal) iasl="no"
> +  ;;
>   *) echo "ERROR: unknown option $opt"; show_help="yes"
>   ;;
>   esac
> @@ -860,6 +868,32 @@ else
> fi
>
> ##########################################
> +# bcc check
> +cat > $TMPC <<EOF
> +int main() { return 0; }
> +EOF
> +if test "$bcc" = "yes" ; then
> +    if bcc -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
> +    :
> +    else
> +    bcc="no"
> +    fi
> +fi
> +
> +#########################################
> +# iasl check
> +cat > $TMPDSL <<EOF
> +DefinitionBlock("$TMPAML", "DSDT", 0x01, "BXPC", "BXDSDT", 0x1) { }
> +EOF
> +if test "$iasl" = "yes" ; then
> +    if iasl $TMPDSL > /dev/null 2> /dev/null ; then
> +    :
> +    else
> +    iasl="no"
> +    fi
> +fi
> +
> +##########################################
> # zlib check
>
> cat > $TMPC << EOF
> @@ -1751,6 +1785,9 @@ if test \( \( "$cpu" = "i386" -o "$cpu" =  
> "x86_64" \) -a \
>         "$targetos" != "Darwin" \) -o \
>         "$i386_cross_prefix" ; then
>   roms="$roms multiboot"
> +  if test "$bcc" = "yes" -a "$iasl" = "yes" ; then
> +    roms="$roms pc-bios"
> +  fi
> fi
> echo "ROMS=$roms" >> $config_host_mak
>
> @@ -2123,7 +2160,7 @@ for rom in $roms; do
>     ln -s $source_path/roms/$rom/Makefile pc-bios/$rom/Makefile
>     config_mak="pc-bios/$rom/config.mak"
>     case "$rom" in
> -      multiboot)
> +      multiboot|pc-bios)
>    prefix=${i386_cross_prefix}
>    ;;
>     esac
> @@ -2136,6 +2173,8 @@ for rom in $roms; do
>     echo "CPP=${prefix}cpp" >> $config_mak
>     echo "LD=${prefix}${ld}" >> $config_mak
>     echo "OBJCOPY=${prefix}${objcopy}" >> $config_mak
> +    echo "BCC=bcc" >> $config_mak
> +    echo "IASL=iasl" >> $config_mak
> done
>
> # build tree in object directory if source path is different from  
> current one
> diff --git a/roms/pc-bios b/roms/pc-bios
> new file mode 160000
> index 0000000..c658541
> --- /dev/null
> +++ b/roms/pc-bios
> @@ -0,0 +1 @@
> +Subproject commit c658541caaec566c58a8afccc1ed8b56e0e0fbd9
> -- 
> 1.6.2.5
>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 6/7] Add pc-bios as a git submodule
  2009-07-29 21:25   ` [Qemu-devel] " Alexander Graf
@ 2009-07-29 21:40     ` Anthony Liguori
  2009-07-29 21:51       ` Alexander Graf
  0 siblings, 1 reply; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 21:40 UTC (permalink / raw)
  To: Alexander Graf; +Cc: qemu-devel@nongnu.org, Avi Kivity

Alexander Graf wrote:
>
>
>
>
> On 29.07.2009, at 20:45, Anthony Liguori <aliguori@us.ibm.com> wrote:
>
>> This will allow us to build pc-bios on demand
>>
>
>
> How do you get the submodule? Will there be a 'make sync' kind of 
> target that just grabs everything for me?
>
> I don't really want to mess with submodules when I don't have to.

Actually, that reminds me that I need to handle the case where the 
submodules haven't been updated.

But all you do is:

git submodule update --init

And everything will just work.

-- 
Regards,

Anthony Liguori

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 6/7] Add pc-bios as a git submodule
  2009-07-29 21:40     ` Anthony Liguori
@ 2009-07-29 21:51       ` Alexander Graf
  0 siblings, 0 replies; 20+ messages in thread
From: Alexander Graf @ 2009-07-29 21:51 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: qemu-devel@nongnu.org, Avi Kivity


On 29.07.2009, at 23:40, Anthony Liguori wrote:

> Alexander Graf wrote:
>>
>>
>>
>>
>> On 29.07.2009, at 20:45, Anthony Liguori <aliguori@us.ibm.com> wrote:
>>
>>> This will allow us to build pc-bios on demand
>>>
>>
>>
>> How do you get the submodule? Will there be a 'make sync' kind of  
>> target that just grabs everything for me?
>>
>> I don't really want to mess with submodules when I don't have to.
>
> Actually, that reminds me that I need to handle the case where the  
> submodules haven't been updated.
>
> But all you do is:
>
> git submodule update --init
>
> And everything will just work.

Well, at least be sure to document that in several places. I tend to  
forget git syntax _really_ fast :-).

Alex

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 6/7] Add pc-bios as a git submodule
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 6/7] Add pc-bios as a git submodule Anthony Liguori
  2009-07-29 21:25   ` [Qemu-devel] " Alexander Graf
@ 2009-07-29 22:10   ` Jordan Justen
  2009-07-29 22:13     ` Anthony Liguori
  1 sibling, 1 reply; 20+ messages in thread
From: Jordan Justen @ 2009-07-29 22:10 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Alex Graf, qemu-devel, Avi Kivity

On Wed, Jul 29, 2009 at 11:45 AM, Anthony Liguori<aliguori@us.ibm.com> wrote:
> This will allow us to build pc-bios on demand
>
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> ---
>  .gitmodules  |    3 +++
>  Makefile     |    5 +++--
>  configure    |   43 +++++++++++++++++++++++++++++++++++++++++--
>  roms/pc-bios |    1 +
>  4 files changed, 48 insertions(+), 4 deletions(-)
>  create mode 100644 .gitmodules
>  create mode 160000 roms/pc-bios
>
> diff --git a/.gitmodules b/.gitmodules
> new file mode 100644
> index 0000000..7ff5bb4
> --- /dev/null
> +++ b/.gitmodules
> @@ -0,0 +1,3 @@
> +[submodule "roms/pc-bios"]
> +       path = roms/pc-bios
> +       url = git://git.qemu.org/pcbios.git

Will this cause hassles for those without git protocol access?
For example, at work I pull qemu via the http url to go through
the proxy server.

> diff --git a/Makefile b/Makefile
> index 4f06ec1..7fa5253 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -239,7 +239,7 @@ ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th \
>  common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt  sl     tr
>
>  ifdef INSTALL_BLOBS
> -BLOBS=bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
> +BLOBS=vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
>  video.x openbios-sparc32 openbios-sparc64 openbios-ppc \
>  pxe-ne2k_pci.bin pxe-rtl8139.bin pxe-pcnet.bin pxe-e1000.bin \
>  bamboo.dtb petalogix-s3adsp1800.dtb
> @@ -274,9 +274,10 @@ ifneq ($(BLOBS),)
>        done
>  endif
>         # FIXME: this is terrible
> -       for rom in multiboot; do \
> +       for rom in $(ROMS); do \
>          case $$rom in \
>            multiboot) srcbin=multiboot.bin ;; \
> +           pc-bios) srcbin=BIOS-bochs-latest; dstbin=bios.bin ;; \
>          esac; \
>          if test -z "$$dstbin" ; then \
>            dstbin=$$srcbin ; \
> diff --git a/configure b/configure
> index 75e5657..71075fd 100755
> --- a/configure
> +++ b/configure
> @@ -17,8 +17,10 @@ TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
>  TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
>  TMPI="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
>  TMPSDLLOG="${TMPDIR1}/qemu-conf-sdl-$$-${RANDOM}.log"
> +TMPDSL="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.dsl"
> +TMPAML="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.aml"
>
> -trap "rm -f $TMPC $TMPO $TMPE $TMPS $TMPI $TMPSDLLOG; exit" 0 2 3 15
> +trap "rm -f $TMPC $TMPO $TMPE $TMPS $TMPI $TMPSDLLOG $TMPDSL $TMPAML; exit" 0 2 3 15
>
>  # default parameters
>  prefix=""
> @@ -207,6 +209,8 @@ fdt="yes"
>  sdl="yes"
>  xen="yes"
>  pkgversion=""
> +bcc="yes"
> +iasl="yes"
>
>  # OS specific
>  if check_define __linux__ ; then
> @@ -526,6 +530,10 @@ for opt do
>   ;;
>   --disable-docs) build_docs="no"
>   ;;
> +  --disable-bcc) bcc="no"
> +  ;;
> +  --disable-isal) iasl="no"
> +  ;;
>   *) echo "ERROR: unknown option $opt"; show_help="yes"
>   ;;
>   esac
> @@ -860,6 +868,32 @@ else
>  fi
>
>  ##########################################
> +# bcc check
> +cat > $TMPC <<EOF
> +int main() { return 0; }
> +EOF
> +if test "$bcc" = "yes" ; then
> +    if bcc -o $TMPE $TMPC > /dev/null 2> /dev/null ; then
> +       :
> +    else
> +       bcc="no"
> +    fi
> +fi
> +
> +#########################################
> +# iasl check
> +cat > $TMPDSL <<EOF
> +DefinitionBlock("$TMPAML", "DSDT", 0x01, "BXPC", "BXDSDT", 0x1) { }
> +EOF
> +if test "$iasl" = "yes" ; then
> +    if iasl $TMPDSL > /dev/null 2> /dev/null ; then
> +       :
> +    else
> +       iasl="no"
> +    fi
> +fi
> +
> +##########################################
>  # zlib check
>
>  cat > $TMPC << EOF
> @@ -1751,6 +1785,9 @@ if test \( \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
>         "$targetos" != "Darwin" \) -o \
>         "$i386_cross_prefix" ; then
>   roms="$roms multiboot"
> +  if test "$bcc" = "yes" -a "$iasl" = "yes" ; then
> +    roms="$roms pc-bios"
> +  fi
>  fi
>  echo "ROMS=$roms" >> $config_host_mak
>
> @@ -2123,7 +2160,7 @@ for rom in $roms; do
>     ln -s $source_path/roms/$rom/Makefile pc-bios/$rom/Makefile
>     config_mak="pc-bios/$rom/config.mak"
>     case "$rom" in
> -      multiboot)
> +      multiboot|pc-bios)
>        prefix=${i386_cross_prefix}
>        ;;
>     esac
> @@ -2136,6 +2173,8 @@ for rom in $roms; do
>     echo "CPP=${prefix}cpp" >> $config_mak
>     echo "LD=${prefix}${ld}" >> $config_mak
>     echo "OBJCOPY=${prefix}${objcopy}" >> $config_mak
> +    echo "BCC=bcc" >> $config_mak
> +    echo "IASL=iasl" >> $config_mak
>  done
>
>  # build tree in object directory if source path is different from current one
> diff --git a/roms/pc-bios b/roms/pc-bios
> new file mode 160000
> index 0000000..c658541
> --- /dev/null
> +++ b/roms/pc-bios
> @@ -0,0 +1 @@
> +Subproject commit c658541caaec566c58a8afccc1ed8b56e0e0fbd9
> --
> 1.6.2.5
>
>
>
>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH 6/7] Add pc-bios as a git submodule
  2009-07-29 22:10   ` [Qemu-devel] " Jordan Justen
@ 2009-07-29 22:13     ` Anthony Liguori
  0 siblings, 0 replies; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 22:13 UTC (permalink / raw)
  To: Jordan Justen; +Cc: Alex Graf, qemu-devel, Avi Kivity

Jordan Justen wrote:
> On Wed, Jul 29, 2009 at 11:45 AM, Anthony Liguori<aliguori@us.ibm.com> wrote:
>   
>> This will allow us to build pc-bios on demand
>>
>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>> ---
>>  .gitmodules  |    3 +++
>>  Makefile     |    5 +++--
>>  configure    |   43 +++++++++++++++++++++++++++++++++++++++++--
>>  roms/pc-bios |    1 +
>>  4 files changed, 48 insertions(+), 4 deletions(-)
>>  create mode 100644 .gitmodules
>>  create mode 160000 roms/pc-bios
>>
>> diff --git a/.gitmodules b/.gitmodules
>> new file mode 100644
>> index 0000000..7ff5bb4
>> --- /dev/null
>> +++ b/.gitmodules
>> @@ -0,0 +1,3 @@
>> +[submodule "roms/pc-bios"]
>> +       path = roms/pc-bios
>> +       url = git://git.qemu.org/pcbios.git
>>     
>
> Will this cause hassles for those without git protocol access?
> For example, at work I pull qemu via the http url to go through
> the proxy server.
>   

When this gets committed, the url will be ../pcbios.git and we'll move 
to git.qemu.org being the host for qemu.git too.  I just wanted to post 
these patches to get some feedback first.

So if you do an http pull through a proxy, it'll Just Work.

-- 
Regards,

Anthony Liguori

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 3/7] If we built a rom, install it.  Otherwise, use shipped copy.
       [not found]   ` <m37hxr46rt.fsf@neno.mitica>
@ 2009-07-29 22:16     ` Anthony Liguori
  2009-07-30  9:34       ` Avi Kivity
  0 siblings, 1 reply; 20+ messages in thread
From: Anthony Liguori @ 2009-07-29 22:16 UTC (permalink / raw)
  To: Juan Quintela; +Cc: Alex Graf, qemu-devel, Avi Kivity

Juan Quintela wrote:
> Anthony Liguori <aliguori@us.ibm.com> wrote:
>   
>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
>>     
>
> Hi
>
> If we are shuffling directories anyways, can we:
>
>   
>> +        # FIXME: this is terrible
>> +	for rom in multiboot; do \
>> +	  case $$rom in \
>> +	    multiboot) srcbin=multiboot.bin ;; \
>> +	  esac; \
>> +	  if test -z "$$dstbin" ; then \
>> +	    dstbin=$$srcbin ; \
>> +	  fi; \
>> +	  if test -e pc-bios/$$rom/$$srcbin ; then \
>>     
>
>   
>> +	    $(INSTALL_DATA) pc-bios/$$rom/$$srcbin "$(DESTDIR)$(datadir)/$$dstbin"; \
>> +	  else \
>> +	    $(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$dstbin "$(DESTDIR)$(datadir)"; \
>>     
>                                                 ^^^^^^^^
> move this one to something like roms_precompiled/ or similar?
>
> At this point we are going to have:
>
> source bios in $TOP_LEVEL/roms/
> prebuilt bios in $TOP_LEVEL/pc-bios/
> compiled bios in $TOP_LEVEL/<name_rom_rom>/<name_rom>
>   

pc-bios should go away as it's a misnomer.  Long term, I think we want 
something like:

$TOP_LEVEL/roms
$TOP_LEVEL/roms/shipped
$TOP_LEVEL/roms/src/$ROMNAME
$TOP_LEVEL/roms/build/$BUILDNAME

and pc-bios goes away.  But there are greater ramifications to this 
because -L /path/to/git/pc-bios no longer works.  I think we probably 
need to think through a reorganization of <prefix>/share/qemu or make -L 
smarter wrt the build system.

Either way, I see this sort of reorganization a follow on to this 
series.  I want to get this series in so we can start pulling in new 
roms like seabios.

-- 
Regards,

Anthony Liguori

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 3/7] If we built a rom, install it.  Otherwise, use shipped copy.
  2009-07-29 22:16     ` [Qemu-devel] " Anthony Liguori
@ 2009-07-30  9:34       ` Avi Kivity
  2009-07-30  9:39         ` Alexander Graf
  0 siblings, 1 reply; 20+ messages in thread
From: Avi Kivity @ 2009-07-30  9:34 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Alex Graf, Juan Quintela, qemu-devel

On 07/30/2009 01:16 AM, Anthony Liguori wrote:
> and pc-bios goes away.  But there are greater ramifications to this 
> because -L /path/to/git/pc-bios no longer works.  I think we probably 
> need to think through a reorganization of <prefix>/share/qemu or make 
> -L smarter wrt the build system.

We really want -firmware /path/to/bios.bin and -keymaps /path/to/keymaps.

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot
       [not found] ` <m3eirz474o.fsf@neno.mitica>
  2009-07-29 19:35   ` [Qemu-devel] Re: [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot Anthony Liguori
@ 2009-07-30  9:38   ` Avi Kivity
  1 sibling, 0 replies; 20+ messages in thread
From: Avi Kivity @ 2009-07-30  9:38 UTC (permalink / raw)
  To: Juan Quintela; +Cc: Anthony Liguori, qemu-devel, Alex Graf

On 07/29/2009 10:32 PM, Juan Quintela wrote:
> Anthony Liguori<aliguori@us.ibm.com>  wrote:
>    
>> We'll be storing all of our rom source code in roms/
>>      
>
> Can we store the source in roms_source/roms_src or something similar, please?
>    

It's silly to call directories in a source code repository source.  
They're all source.  We need a special name when storing something that 
is not source.

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 7/7] Remove BIOS patches from the queue and update the README
  2009-07-29 18:45 ` [Qemu-devel] [PATCH 7/7] Remove BIOS patches from the queue and update the README Anthony Liguori
@ 2009-07-30  9:38   ` Avi Kivity
  0 siblings, 0 replies; 20+ messages in thread
From: Avi Kivity @ 2009-07-30  9:38 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: qemu-devel, Alex Graf

On 07/29/2009 09:45 PM, Anthony Liguori wrote:
>   delete mode 100644 pc-bios/bios-pq/0001_bx-qemu.patch
>   delete mode 100644 pc-bios/bios-pq/0002_kvm-bios-update-smbios-table-to-report-memory-above-4g.patch
>   delete mode 100644 pc-bios/bios-pq/0003_kvm-bios-generate-mptable-unconditionally.patch
>   delete mode 100644 pc-bios/bios-pq/0004_kvm-bios-resolve-memory-device-roll-over-reporting--issues-with-32g-guests.patch
>   delete mode 100644 pc-bios/bios-pq/0005_kvm-bios-fix-smbios-memory-device-length-boundary--condition.patch
>   delete mode 100644 pc-bios/bios-pq/0006_qemu-bios-use-preprocessor-for-pci-link-routing.patch
>   delete mode 100644 pc-bios/bios-pq/0007_bios-add-26-pci-slots,-bringing-the-total-to-32.patch
>   delete mode 100644 pc-bios/bios-pq/0008_qemu-bios-provide-gpe-_l0x-methods.patch
>   delete mode 100644 pc-bios/bios-pq/0009_qemu-bios-pci-hotplug-support.patch
>   delete mode 100644 pc-bios/bios-pq/0010_bios-mark-the-acpi-sci-interrupt-as-connected-to-irq-9.patch
>   delete mode 100644 pc-bios/bios-pq/0011_read-additional-acpi-tables-from-a-vm.patch
>   delete mode 100644 pc-bios/bios-pq/0012-load-smbios-entries-and-files-from-qemu.patch
>   delete mode 100644 pc-bios/bios-pq/0013_fix-non-acpi-timer-interrupt-routing.patch
>   delete mode 100644 pc-bios/bios-pq/0014_add-srat-acpi-table-support.patch
>   delete mode 100644 pc-bios/bios-pq/0015_enable-power-button-even-generation.patch
>   delete mode 100644 pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch
>   delete mode 100644 pc-bios/bios-pq/0017-bochs-bios-Move-QEMU_CFG-constants-to-rombios.h.patch
>   delete mode 100644 pc-bios/bios-pq/0018-bochs-bios-Make-boot-prompt-optional.patch
>   delete mode 100644 pc-bios/bios-pq/0019-bios-fix-multiple-calls.patch
>   delete mode 100644 pc-bios/bios-pq/0020-qemu-kvm-cfg-maxcpus.patch
>   delete mode 100644 pc-bios/bios-pq/0021-qemu-madt-maxcpus.patch
>   delete mode 100644 pc-bios/bios-pq/HEAD
>   delete mode 100644 pc-bios/bios-pq/series
>    

ACK!

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 3/7] If we built a rom, install it.  Otherwise, use shipped copy.
  2009-07-30  9:34       ` Avi Kivity
@ 2009-07-30  9:39         ` Alexander Graf
  2009-07-30 10:07           ` Avi Kivity
  0 siblings, 1 reply; 20+ messages in thread
From: Alexander Graf @ 2009-07-30  9:39 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Anthony Liguori, Juan Quintela, qemu-devel


On 30.07.2009, at 11:34, Avi Kivity wrote:

> On 07/30/2009 01:16 AM, Anthony Liguori wrote:
>> and pc-bios goes away.  But there are greater ramifications to this  
>> because -L /path/to/git/pc-bios no longer works.  I think we  
>> probably need to think through a reorganization of <prefix>/share/ 
>> qemu or make -L smarter wrt the build system.
>
> We really want -firmware /path/to/bios.bin and -keymaps /path/to/ 
> keymaps.

So how would you find the path to multiboot.bin and extboot.bin, as  
well as the PXE roms then?

Alex

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 3/7] If we built a rom, install it.  Otherwise, use shipped copy.
  2009-07-30 10:07           ` Avi Kivity
@ 2009-07-30 10:04             ` Alexander Graf
  0 siblings, 0 replies; 20+ messages in thread
From: Alexander Graf @ 2009-07-30 10:04 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Anthony Liguori, Juan Quintela, qemu-devel


On 30.07.2009, at 12:07, Avi Kivity wrote:

> On 07/30/2009 12:39 PM, Alexander Graf wrote:
>>
>> On 30.07.2009, at 11:34, Avi Kivity wrote:
>>
>>> On 07/30/2009 01:16 AM, Anthony Liguori wrote:
>>>> and pc-bios goes away.  But there are greater ramifications to  
>>>> this because -L /path/to/git/pc-bios no longer works.  I think we  
>>>> probably need to think through a reorganization of <prefix>/share/ 
>>>> qemu or make -L smarter wrt the build system.
>>>
>>> We really want -firmware /path/to/bios.bin and -keymaps /path/to/ 
>>> keymaps.
>>
>> So how would you find the path to multiboot.bin and extboot.bin, as  
>> well as the PXE roms then?
>>
>
> Similar parameters.  Perhaps -firmware  
> bios=blah,extboot=foo,multiboot=bar.

Sounds pretty messy to me. I like the simplicity of -L.

Alex

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] Re: [PATCH 3/7] If we built a rom, install it.  Otherwise, use shipped copy.
  2009-07-30  9:39         ` Alexander Graf
@ 2009-07-30 10:07           ` Avi Kivity
  2009-07-30 10:04             ` Alexander Graf
  0 siblings, 1 reply; 20+ messages in thread
From: Avi Kivity @ 2009-07-30 10:07 UTC (permalink / raw)
  To: Alexander Graf; +Cc: Anthony Liguori, Juan Quintela, qemu-devel

On 07/30/2009 12:39 PM, Alexander Graf wrote:
>
> On 30.07.2009, at 11:34, Avi Kivity wrote:
>
>> On 07/30/2009 01:16 AM, Anthony Liguori wrote:
>>> and pc-bios goes away.  But there are greater ramifications to this 
>>> because -L /path/to/git/pc-bios no longer works.  I think we 
>>> probably need to think through a reorganization of 
>>> <prefix>/share/qemu or make -L smarter wrt the build system.
>>
>> We really want -firmware /path/to/bios.bin and -keymaps 
>> /path/to/keymaps.
>
> So how would you find the path to multiboot.bin and extboot.bin, as 
> well as the PXE roms then?
>

Similar parameters.  Perhaps -firmware bios=blah,extboot=foo,multiboot=bar.

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2009-07-30 10:05 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-29 18:45 [Qemu-devel] [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot Anthony Liguori
2009-07-29 18:45 ` [Qemu-devel] [PATCH 2/7] Always build roms in a separate directory Anthony Liguori
2009-07-29 18:45 ` [Qemu-devel] [PATCH 3/7] If we built a rom, install it. Otherwise, use shipped copy Anthony Liguori
     [not found]   ` <m37hxr46rt.fsf@neno.mitica>
2009-07-29 22:16     ` [Qemu-devel] " Anthony Liguori
2009-07-30  9:34       ` Avi Kivity
2009-07-30  9:39         ` Alexander Graf
2009-07-30 10:07           ` Avi Kivity
2009-07-30 10:04             ` Alexander Graf
2009-07-29 18:45 ` [Qemu-devel] [PATCH 4/7] Allow a cross compiler to be used for rom builds Anthony Liguori
2009-07-29 18:45 ` [Qemu-devel] [PATCH 5/7] Add proper headers to all BIOS patches Anthony Liguori
2009-07-29 18:45 ` [Qemu-devel] [PATCH 6/7] Add pc-bios as a git submodule Anthony Liguori
2009-07-29 21:25   ` [Qemu-devel] " Alexander Graf
2009-07-29 21:40     ` Anthony Liguori
2009-07-29 21:51       ` Alexander Graf
2009-07-29 22:10   ` [Qemu-devel] " Jordan Justen
2009-07-29 22:13     ` Anthony Liguori
2009-07-29 18:45 ` [Qemu-devel] [PATCH 7/7] Remove BIOS patches from the queue and update the README Anthony Liguori
2009-07-30  9:38   ` [Qemu-devel] " Avi Kivity
     [not found] ` <m3eirz474o.fsf@neno.mitica>
2009-07-29 19:35   ` [Qemu-devel] Re: [PATCH 1/7] Rename pc-bios/optionrom -> roms/multiboot Anthony Liguori
2009-07-30  9:38   ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).