Accepting request 199020 from home:bfrogers:branches:Virtualization

Build x86 firmware from the tarball. Add 4 qemu-* firmware subpackages. (bnc#830002)

OBS-URL: https://build.opensuse.org/request/show/199020
OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=162
This commit is contained in:
Andreas Färber 2013-09-13 21:59:15 +00:00 committed by Git OBS Bridge
parent 2b10aa2354
commit 78d83468f1
43 changed files with 491 additions and 94 deletions

View File

@ -4,8 +4,8 @@ Date: Mon, 21 Nov 2011 23:50:36 +0100
Subject: [PATCH] XXX dont dump core on sigabort
---
linux-user/signal.c | 6 ++++++
1 file changed, 6 insertions(+)
linux-user/signal.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 23d65da..c6f9968 100644

View File

@ -5,10 +5,10 @@ Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)
[AF: CPUState -> CPUArchState, adapt to reindentation]
---
linux-user/main.c | 25 +++++++++------
linux-user/qemu.h | 3 ++
linux-user/signal.c | 22 +++++++++++++
linux-user/syscall.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++-
linux-user/main.c | 25 +++++++++-----
linux-user/qemu.h | 3 ++
linux-user/signal.c | 22 ++++++++++++
linux-user/syscall.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++-
4 files changed, 130 insertions(+), 10 deletions(-)
diff --git a/linux-user/main.c b/linux-user/main.c

View File

@ -10,8 +10,8 @@ Fixes binfmt_misc setup script:
Signed-off-by: Ulrich Hecht <uli@suse.de>
---
scripts/qemu-binfmt-conf.sh | 37 ++++++++++++++++++++-----------------
1 file changed, 20 insertions(+), 17 deletions(-)
scripts/qemu-binfmt-conf.sh | 37 ++++++++++++++++++++-----------------
1 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
index 0da2618..dc652f0 100644

View File

@ -8,9 +8,9 @@ Implements TYPE_INTBITFIELD partially. (required for ALSA support)
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Ulrich Hecht <uli@suse.de>
---
include/exec/user/thunk.h | 3 +++
thunk.c | 21 +++++++++++++++++++++
2 files changed, 24 insertions(+)
include/exec/user/thunk.h | 3 +++
thunk.c | 21 +++++++++++++++++++++
2 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/include/exec/user/thunk.h b/include/exec/user/thunk.h
index 87025c3..6c35e64 100644

View File

@ -14,7 +14,7 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
linux-user/syscall_defs.h | 2 +
linux-user/syscall_types.h | 5 +
linux-user/syscall_types_alsa.h | 1336 +++++++++++++++++++++++++++++
6 files changed, 3555 insertions(+)
6 files changed, 3555 insertions(+), 0 deletions(-)
create mode 100644 linux-user/ioctls_alsa.h
create mode 100644 linux-user/ioctls_alsa_structs.h
create mode 100644 linux-user/syscall_types_alsa.h

View File

@ -8,8 +8,8 @@ Hack to prevent ALSA from using mmap() interface to simplify emulation.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Ulrich Hecht <uli@suse.de>
---
linux-user/mmap.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
linux-user/mmap.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index a249f0c..34a5615 100644

View File

@ -5,8 +5,8 @@ Subject: [PATCH] qemu-cvs-gettimeofday
No clue what this is for.
---
linux-user/syscall.c | 2 ++
1 file changed, 2 insertions(+)
linux-user/syscall.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 23954c1..709c167 100644

View File

@ -8,8 +8,8 @@ Extends unsupported ioctl debug output.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Ulrich Hecht <uli@suse.de>
---
linux-user/syscall.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
linux-user/syscall.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 709c167..7453ff5 100644

View File

@ -11,8 +11,8 @@ IOC_RW.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Ulrich Hecht <uli@suse.de>
---
linux-user/syscall.c | 6 ++++++
1 file changed, 6 insertions(+)
linux-user/syscall.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 7453ff5..18ec182 100644

View File

@ -11,10 +11,10 @@ Signed-off-by: Ulrich Hecht <uli@suse.de>
[AF: Rebased onto upstream VMDK SCSI support]
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
block.c | 6 +++++-
block/vmdk.c | 9 ++++++++-
include/block/block_int.h | 2 ++
qemu-img.c | 8 +++++++-
block.c | 6 +++++-
block/vmdk.c | 9 ++++++++-
include/block/block_int.h | 2 ++
qemu-img.c | 8 +++++++-
4 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/block.c b/block.c

View File

@ -27,10 +27,10 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
[AF: Rebased onto new Makefile infrastructure]
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
Makefile.target | 12 ++++++++++++
linux-user/Makefile.objs | 2 ++
linux-user/binfmt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
scripts/qemu-binfmt-conf.sh | 34 +++++++++++++++++-----------------
Makefile.target | 12 ++++++++++++
linux-user/Makefile.objs | 2 ++
linux-user/binfmt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
scripts/qemu-binfmt-conf.sh | 34 +++++++++++++++++-----------------
4 files changed, 73 insertions(+), 17 deletions(-)
create mode 100644 linux-user/binfmt.c

View File

@ -8,8 +8,8 @@ about it breaks some %check tests in OBS, so better ignore it silently.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/syscall.c | 5 +++++
1 file changed, 5 insertions(+)
linux-user/syscall.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 18ec182..eda4455 100644

View File

@ -9,8 +9,8 @@ implementation and go on with life :)
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/syscall.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
linux-user/syscall.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index eda4455..628fe66 100644

View File

@ -9,8 +9,8 @@ check for MMU notifiers that on 970 can not be implemented properly.
So disable the check for mmu notifiers on PowerPC guests, making
KVM guests work there, even if possibly racy in some odd circumstances.
---
exec.c | 2 ++
1 file changed, 2 insertions(+)
exec.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/exec.c b/exec.c
index 3ca9381..e4d92d7 100644

View File

@ -21,9 +21,9 @@ Reported-by: Fabio Erculiani <lxnay@sabayon.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
include/exec/spinlock.h | 10 ++++++++++
user-exec.c | 4 ++++
2 files changed, 14 insertions(+)
include/exec/spinlock.h | 10 ++++++++++
user-exec.c | 4 ++++
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/include/exec/spinlock.h b/include/exec/spinlock.h
index a72edda..e460e12 100644

View File

@ -8,8 +8,8 @@ trying to run, let's just use that instead as it will be a lot faster.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/binfmt.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
linux-user/binfmt.c | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/linux-user/binfmt.c b/linux-user/binfmt.c
index cd1f513..87dc4c6 100644

View File

@ -10,8 +10,8 @@ tb_flush on reset.
So something in our thread creation is broken. But for now, let's revert the
change to at least get a working build again.
---
target-arm/cpu.c | 4 ++++
1 file changed, 4 insertions(+)
target-arm/cpu.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/target-arm/cpu.c b/target-arm/cpu.c
index 5a7566b..40bddc3 100644

View File

@ -11,11 +11,11 @@ So let's silently ignore that bogus ioctl.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/ioctls.h | 1 +
linux-user/linux_loop.h | 1 +
linux-user/syscall.c | 7 +++++++
linux-user/syscall_defs.h | 1 +
4 files changed, 10 insertions(+)
linux-user/ioctls.h | 1 +
linux-user/linux_loop.h | 1 +
linux-user/syscall.c | 7 +++++++
linux-user/syscall_defs.h | 1 +
4 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 28dc0b2..da4f12c 100644

View File

@ -13,9 +13,9 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
[AF: Rebased onto exec.c/translate-all.c split for 1.4]
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
linux-user/mmap.c | 3 +++
tcg/tcg.c | 36 ++++++++++++++++++++++++++++++++++--
tcg/tcg.h | 6 ++++++
linux-user/mmap.c | 3 +++
tcg/tcg.c | 36 ++++++++++++++++++++++++++++++++++--
tcg/tcg.h | 6 ++++++
3 files changed, 43 insertions(+), 2 deletions(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c

View File

@ -15,8 +15,8 @@ This gets Java 1.7 working for me again on my test box.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/syscall.c | 9 +++++++++
1 file changed, 9 insertions(+)
linux-user/syscall.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 38ca7af..8aef3e8 100644

View File

@ -10,8 +10,8 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
[AF: Rebased onto exec.c/translate-all.c split for 1.4]
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
translate-all.c | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
translate-all.c | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/translate-all.c b/translate-all.c
index 3b5fc7c..165a63e 100644

View File

@ -18,8 +18,8 @@ Signed-off-by: Alexander Graf <agraf@suse.de>
[AF: Rebased for v1.6]
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
linux-user/syscall.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
linux-user/syscall.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 8aef3e8..429ab3a 100644

View File

@ -11,9 +11,9 @@ v1 -> v2:
- use TYPE_LONG instead of TYPE_INT
---
linux-user/ioctls.h | 1 +
linux-user/syscall_defs.h | 2 ++
2 files changed, 3 insertions(+)
linux-user/ioctls.h | 1 +
linux-user/syscall_defs.h | 2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index da4f12c..17b67af 100644

View File

@ -11,9 +11,9 @@ v1 -> v2
- use TYPE_LONG instead of TYPE_INT
---
linux-user/ioctls.h | 1 +
linux-user/syscall_defs.h | 1 +
2 files changed, 2 insertions(+)
linux-user/ioctls.h | 1 +
linux-user/syscall_defs.h | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 17b67af..a77b72c 100644

View File

@ -5,8 +5,8 @@ Subject: [PATCH] linux-user: XXX disable fiemap
agraf: fiemap breaks in libarchive. Disable it for now.
---
linux-user/syscall.c | 5 +++++
1 file changed, 5 insertions(+)
linux-user/syscall.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 429ab3a..5c42bc9 100644

View File

@ -5,11 +5,11 @@ Subject: [PATCH] slirp: -nooutgoing
TBD (from SUSE Studio team)
---
qemu-options.hx | 10 ++++++++++
slirp/socket.c | 8 ++++++++
slirp/tcp_subr.c | 13 +++++++++++++
vl.c | 9 +++++++++
4 files changed, 40 insertions(+)
qemu-options.hx | 10 ++++++++++
slirp/socket.c | 8 ++++++++
slirp/tcp_subr.c | 13 +++++++++++++
vl.c | 9 +++++++++
4 files changed, 40 insertions(+), 0 deletions(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index d15338e..e8097ac 100644

View File

@ -5,8 +5,8 @@ Subject: [PATCH] vnc: password-file= and incoming-connections=
TBD (from SUSE Studio team)
---
ui/vnc.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
ui/vnc.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 0 deletions(-)
diff --git a/ui/vnc.c b/ui/vnc.c
index 5601cc3..d5796e6 100644

View File

@ -7,10 +7,10 @@ Implement a few more ioctls that operate on block devices.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/ioctls.h | 18 ++++++++++++++++++
linux-user/syscall_defs.h | 6 ++++++
linux-user/syscall_types.h | 3 +++
3 files changed, 27 insertions(+)
linux-user/ioctls.h | 18 ++++++++++++++++++
linux-user/syscall_defs.h | 6 ++++++
linux-user/syscall_types.h | 3 +++
3 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index a77b72c..4c6d2ee 100644

View File

@ -12,8 +12,8 @@ Pass syscall arguments as ulong always.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/qemu.h | 8 ++++----
linux-user/syscall.c | 8 ++++----
linux-user/qemu.h | 8 ++++----
linux-user/syscall.c | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/linux-user/qemu.h b/linux-user/qemu.h

View File

@ -27,9 +27,9 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Tim Hardeck <thardeck@suse.de>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
block/Makefile.objs | 1 +
block/dictzip.c | 596 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 597 insertions(+)
block/Makefile.objs | 1 +
block/dictzip.c | 596 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 597 insertions(+), 0 deletions(-)
create mode 100644 block/dictzip.c
diff --git a/block/Makefile.objs b/block/Makefile.objs

View File

@ -28,9 +28,9 @@ Signed-off-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Tim Hardeck <thardeck@suse.de>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
block/Makefile.objs | 1 +
block/tar.c | 386 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 387 insertions(+)
block/Makefile.objs | 1 +
block/tar.c | 386 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 387 insertions(+), 0 deletions(-)
create mode 100644 block/tar.c
diff --git a/block/Makefile.objs b/block/Makefile.objs

View File

@ -4,8 +4,8 @@ Date: Wed, 12 Dec 2012 19:11:30 +0100
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-dictzip3.patch
---
block/tar.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
block/tar.c | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/block/tar.c b/block/tar.c
index 87bf552..bf24c98 100644

View File

@ -4,8 +4,8 @@ Date: Wed, 12 Dec 2012 19:11:31 +0100
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-report-default-mac-used.patch
---
net/net.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
net/net.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/net/net.c b/net/net.c
index c0d61bf..adc389f 100644

View File

@ -12,8 +12,8 @@ outputting guest serial consoles to the graphical console emulator.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
ui/console.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
ui/console.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/ui/console.c b/ui/console.c
index e3e8297..8784cd0 100644

View File

@ -18,8 +18,8 @@ it polls again after a while to check if the guest is now receiving input.
This patch fixes input when using -nographic on s390 for me.
---
qemu-char.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
qemu-char.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c
index 1be1cf6..ad7c8fd 100644

View File

@ -12,8 +12,8 @@ absolute positioned which we need to maintain as unsigned.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
linux-user/syscall.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
linux-user/syscall.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index ab30b58..4136873 100644

View File

@ -8,8 +8,8 @@ Fixes the build on SLE 11 SP2.
[AF: Extend to ppc64]
---
fsdev/virtfs-proxy-helper.c | 7 +++++++
1 file changed, 7 insertions(+)
fsdev/virtfs-proxy-helper.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c
index 713a7b2..b8da77d 100644

View File

@ -0,0 +1,17 @@
---
roms/Makefile | 2 ++
1 file changed, 2 insertions(+)
Index: b/roms/Makefile
===================================================================
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -50,6 +50,8 @@ seavgabios-%: config.vga.%
cp seabios/out/vgabios.bin ../pc-bios/vgabios-$*.bin
lgplvgabios: $(patsubst %,lgplvgabios-%,$(vgabios_variants))
+ make -C vgabios vgabios.bin
+ cp vgabios/VGABIOS-lgpl-latest.bin ../pc-bios/vgabios.bin
lgplvgabios-%:
make -C vgabios vgabios-$*.bin

View File

@ -0,0 +1,55 @@
From 238050dfd46e3c4a87329da1d48b4d8dde5af8a1 Mon Sep 17 00:00:00 2001
From: Michael Brown <mcb30@ipxe.org>
Date: Fri, 7 Jun 2013 13:46:27 +0100
Subject: [PATCH] [build] Work around bug in gcc >= 4.8
gcc 4.8 and 4.9 fail to compile pxe_call.c with the error "bp cannot
be used in asm here". Other points in the codebase which use "ebp" in
the asm clobber list do not seem to be affected.
Unfortunately gcc provides no way to specify %ebp as an output
register, so we cannot use this as a workaround. The only viable
solution is to explicitly push/pop %ebp within the asm itself. This
is ugly for two reasons: firstly, it may be unnecessary; secondly, it
may cause gcc to generate invalid %esp-relative addresses if the asm
happens to use memory operands. This specific block of asm uses no
memory operands and so will not generate invalid code.
Reported-by: Daniel P. Berrange <berrange@redhat.com>
Reported-by: Christian Hesse <list@eworm.de>
Originally-fixed-by: Christian Hesse <list@eworm.de>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
---
roms/ipxe/src/arch/i386/interface/pxe/pxe_call.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
Index: b/roms/ipxe/src/arch/i386/interface/pxe/pxe_call.c
===================================================================
--- a/roms/ipxe/src/arch/i386/interface/pxe/pxe_call.c
+++ b/roms/ipxe/src/arch/i386/interface/pxe/pxe_call.c
@@ -265,12 +265,14 @@ int pxe_start_nbp ( void ) {
DBG ( "Restarting NBP (%x)\n", jmp );
/* Far call to PXE NBP */
- __asm__ __volatile__ ( REAL_CODE ( "movw %%cx, %%es\n\t"
+ __asm__ __volatile__ ( REAL_CODE ( "pushl %%ebp\n\t" /* gcc bug */
+ "movw %%cx, %%es\n\t"
"pushw %%es\n\t"
"pushw %%di\n\t"
"sti\n\t"
"lcall $0, $0x7c00\n\t"
- "addw $4, %%sp\n\t" )
+ "popl %%ebp\n\t" /* discard */
+ "popl %%ebp\n\t" /* gcc bug */ )
: "=a" ( rc ), "=b" ( discard_b ),
"=c" ( discard_c ), "=d" ( discard_d ),
"=D" ( discard_D )
@@ -278,7 +280,7 @@ int pxe_start_nbp ( void ) {
"c" ( rm_cs ),
"d" ( virt_to_phys ( &pxenv ) ),
"D" ( __from_text16 ( &ppxe ) )
- : "esi", "ebp", "memory" );
+ : "esi", "memory" );
return rc;
}

View File

@ -0,0 +1,41 @@
From eb5a2ba5962579e514b377f5fdab7292be0fb2a7 Mon Sep 17 00:00:00 2001
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Tue, 5 Mar 2013 15:18:20 +0000
Subject: [PATCH] [zbin] Fix size used for memset in alloc_output_file
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The output->buf field is a pointer, not an array, so sizeof() is not
applicable. We must use the allocated string length instead.
Identified by gcc:
util/zbin.c: In function alloc_output_file:
util/zbin.c:146:37: warning: argument to sizeof in memset call
is the same expression as the destination; did you mean to
dereference it? [-Wsizeof-pointer-memaccess]
memset ( output->buf, 0xff, sizeof ( output->buf ) );
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
---
src/util/zbin.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/roms/ipxe/src/util/zbin.c b/roms/ipxe/src/util/zbin.c
index 0dabaf1..3b7cf95 100644
--- a/roms/ipxe/src/util/zbin.c
+++ b/roms/ipxe/src/util/zbin.c
@@ -143,7 +143,7 @@ static int alloc_output_file ( size_t max_len, struct output_file *output ) {
max_len );
return -1;
}
- memset ( output->buf, 0xff, sizeof ( output->buf ) );
+ memset ( output->buf, 0xff, max_len );
return 0;
}
--
1.7.7

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 13 11:14:45 UTC 2013 - brogers@suse.com
- Build x86 firmware from tarball source. The firmware components
produced are equivalent to the upstream provided binary blobs
currently being used. They are delivered in noarch subpackages as
follows (addresses bnc#830002):
* qemu-seabios v1.7.2.2
* qemu-vgabios v0.6c
* qemu-sgabios v8 (svn rev 8)
* qemu-ipxe v1.0.0
-------------------------------------------------------------------
Mon Aug 26 06:40:22 UTC 2013 - rob.verduijn@gmail.com

136
qemu.spec
View File

@ -16,6 +16,13 @@
#
%ifarch %ix86 x86_64
# choice of building all from source or using provided binary x86 blobs
%define build_x86_fw_from_source 1
%else
%define build_x86_fw_from_source 0
%endif
Name: qemu
Url: http://www.qemu.org/
Summary: Universal CPU emulator
@ -64,6 +71,11 @@ Patch0036: 0036-linux-user-lseek-explicitly-cast-no.patch
Patch0037: 0037-virtfs-proxy-helper-Provide-__u64-f.patch
Patch0038: 0038-gdbstub-Fix-gdb_register_coprocesso.patch
# Please do not add patches manually here, run update_git.sh.
Patch1000: ipxe-build-Work-around-bug-in-gcc-4.8.patch
Patch1001: ipxe-zbin-Fix-size-used-for-memset-in-al.patch
Patch1002: build_and_copy_vgabios_bin.patch
# this is to make lint happy
Source300: rpmlintrc
Source302: bridge.conf
@ -77,6 +89,14 @@ BuildRequires: brlapi-devel
%endif
BuildRequires: curl-devel
BuildRequires: cyrus-sasl-devel
%if %{build_x86_fw_from_source}
%if 0%{?suse_version} > 1110
BuildRequires: iasl
%else
BuildRequires: pmtools
%endif
BuildRequires: dev86
%endif
BuildRequires: e2fsprogs-devel
BuildRequires: fdupes
BuildRequires: glib2-devel
@ -126,8 +146,14 @@ BuildRequires: spice-protocol-devel
Requires: /usr/sbin/groupadd
Requires: pwdutils
Requires: timezone
Requires: qemu-ipxe
Requires: qemu-seabios
Requires: qemu-sgabios
Requires: qemu-vgabios
Recommends: qemu-tools
%define firmware_files {acpi-dsdt.aml bios.bin q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom}
%description
QEMU is an extremely well-performing CPU emulator that allows you to
choose between simulating an entire system and running userspace
@ -150,6 +176,52 @@ as PC and PowerMac systems.
This sub-package contains translations.
%endif
%package seabios
Summary: x86 BIOS for QEMU
Group: System/Emulators/PC
Version: 1.7.2.2
Release: 0
BuildArch: noarch
%description seabios
SeaBIOS is an open source implementation of a 16bit x86 BIOS. SeaBIOS
is the default BIOS for QEMU.
%package vgabios
Summary: VGA BIOSes for QEMU
Group: System/Emulators/PC
Version: 0.6c
Release: 0
BuildArch: noarch
%description vgabios
VGABIOS provides the video ROM BIOSes for the following variants of VGA
emulated devices: Std VGA, QXL, Cirrus CLGD 5446 and VMware emulated
video card.
%package sgabios
Summary: Serial Graphics Adapter BIOS for QEMU
Group: System/Emulators/PC
Version: 8
Release: 0
BuildArch: noarch
%description sgabios
The Google Serial Graphics Adapter BIOS or SGABIOS provides a means for legacy
x86 software to communicate with an attached serial console as if a video card
were attached.
%package ipxe
Summary: PXE ROMs for QEMU NICs
Group: System/Emulators/PC
Version: 1.0.0
Release: 0
BuildArch: noarch
%description ipxe
Preboot Execution Environment (PXE) ROM support for various emulated network
adapters available with QEMU.
%package tools
Summary: Universal CPU emulator -- Tools
Group: System/Emulators/PC
@ -220,6 +292,18 @@ This sub-package contains the guest agent.
%patch0037 -p1
%patch0038 -p1
%patch1000 -p1
%patch1001 -p1
%patch1002 -p1
%if %{build_x86_fw_from_source}
# as a safeguard, delete the firmware files that we intend to build
for i in %firmware_files
do
rm -f pc-bios/$i
done
%endif
%build
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
--libexecdir=%_libexecdir \
@ -265,6 +349,15 @@ This sub-package contains the guest agent.
make %{?_smp_mflags} V=1
# Firmware
%if %{build_x86_fw_from_source}
make -C roms bios
make -C roms lgplvgabios
make -C roms pxerom
make -C roms/sgabios
cp roms/sgabios/sgabios.bin pc-bios/sgabios.bin
%endif
%install
make install DESTDIR=$RPM_BUILD_ROOT
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
@ -297,7 +390,23 @@ rm -rf ${RPM_BUILD_ROOT}
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
%_bindir/qemu-system-*
%doc %_mandir/man1/qemu.1.gz
%dir %_datadir/%name
%_datadir/%name
%exclude %_datadir/%name/bios.bin
%exclude %_datadir/%name/acpi-dsdt.aml
%exclude %_datadir/%name/q35-acpi-dsdt.aml
%exclude %_datadir/%name/vgabios.bin
%exclude %_datadir/%name/vgabios-cirrus.bin
%exclude %_datadir/%name/vgabios-qxl.bin
%exclude %_datadir/%name/vgabios-stdvga.bin
%exclude %_datadir/%name/vgabios-vmware.bin
%exclude %_datadir/%name/sgabios.bin
%exclude %_datadir/%name/pxe-e1000.rom
%exclude %_datadir/%name/pxe-eepro100.rom
%exclude %_datadir/%name/pxe-pcnet.rom
%exclude %_datadir/%name/pxe-ne2k_pci.rom
%exclude %_datadir/%name/pxe-rtl8139.rom
%exclude %_datadir/%name/pxe-virtio.rom
%dir %_sysconfdir/%name
%config %_sysconfdir/%name/target-x86_64.conf
@ -306,6 +415,33 @@ rm -rf ${RPM_BUILD_ROOT}
%defattr(-, root, root)
%endif
%files seabios
%defattr(-, root, root)
%_datadir/%name/bios.bin
%_datadir/%name/acpi-dsdt.aml
%_datadir/%name/q35-acpi-dsdt.aml
%files vgabios
%defattr(-, root, root)
%_datadir/%name/vgabios.bin
%_datadir/%name/vgabios-cirrus.bin
%_datadir/%name/vgabios-qxl.bin
%_datadir/%name/vgabios-stdvga.bin
%_datadir/%name/vgabios-vmware.bin
%files sgabios
%defattr(-, root, root)
%_datadir/%name/sgabios.bin
%files ipxe
%defattr(-, root, root)
%_datadir/%name/pxe-e1000.rom
%_datadir/%name/pxe-eepro100.rom
%_datadir/%name/pxe-pcnet.rom
%_datadir/%name/pxe-ne2k_pci.rom
%_datadir/%name/pxe-rtl8139.rom
%_datadir/%name/pxe-virtio.rom
%files tools
%defattr(-, root, root)
%doc %_mandir/man1/qemu-img.1.gz

View File

@ -16,6 +16,13 @@
#
%ifarch %ix86 x86_64
# choice of building all from source or using provided binary x86 blobs
%define build_x86_fw_from_source 1
%else
%define build_x86_fw_from_source 0
%endif
Name: qemu
Url: http://www.qemu.org/
Summary: Universal CPU emulator
@ -27,6 +34,11 @@ Source: %name-1.6.0.tar.bz2
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
PATCH_FILES
# Please do not add patches manually here, run update_git.sh.
Patch1000: ipxe-build-Work-around-bug-in-gcc-4.8.patch
Patch1001: ipxe-zbin-Fix-size-used-for-memset-in-al.patch
Patch1002: build_and_copy_vgabios_bin.patch
# this is to make lint happy
Source300: rpmlintrc
Source302: bridge.conf
@ -40,6 +52,14 @@ BuildRequires: brlapi-devel
%endif
BuildRequires: curl-devel
BuildRequires: cyrus-sasl-devel
%if %{build_x86_fw_from_source}
%if 0%{?suse_version} > 1110
BuildRequires: iasl
%else
BuildRequires: pmtools
%endif
BuildRequires: dev86
%endif
BuildRequires: e2fsprogs-devel
BuildRequires: fdupes
BuildRequires: glib2-devel
@ -89,8 +109,14 @@ BuildRequires: spice-protocol-devel
Requires: /usr/sbin/groupadd
Requires: pwdutils
Requires: timezone
Requires: qemu-ipxe
Requires: qemu-seabios
Requires: qemu-sgabios
Requires: qemu-vgabios
Recommends: qemu-tools
%define firmware_files {acpi-dsdt.aml bios.bin q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom}
%description
QEMU is an extremely well-performing CPU emulator that allows you to
choose between simulating an entire system and running userspace
@ -113,6 +139,52 @@ as PC and PowerMac systems.
This sub-package contains translations.
%endif
%package seabios
Summary: x86 BIOS for QEMU
Group: System/Emulators/PC
Version: 1.7.2.2
Release: 0
BuildArch: noarch
%description seabios
SeaBIOS is an open source implementation of a 16bit x86 BIOS. SeaBIOS
is the default BIOS for QEMU.
%package vgabios
Summary: VGA BIOSes for QEMU
Group: System/Emulators/PC
Version: 0.6c
Release: 0
BuildArch: noarch
%description vgabios
VGABIOS provides the video ROM BIOSes for the following variants of VGA
emulated devices: Std VGA, QXL, Cirrus CLGD 5446 and VMware emulated
video card.
%package sgabios
Summary: Serial Graphics Adapter BIOS for QEMU
Group: System/Emulators/PC
Version: 8
Release: 0
BuildArch: noarch
%description sgabios
The Google Serial Graphics Adapter BIOS or SGABIOS provides a means for legacy
x86 software to communicate with an attached serial console as if a video card
were attached.
%package ipxe
Summary: PXE ROMs for QEMU NICs
Group: System/Emulators/PC
Version: 1.0.0
Release: 0
BuildArch: noarch
%description ipxe
Preboot Execution Environment (PXE) ROM support for various emulated network
adapters available with QEMU.
%package tools
Summary: Universal CPU emulator -- Tools
Group: System/Emulators/PC
@ -146,6 +218,18 @@ This sub-package contains the guest agent.
%setup -q #-n %name-1.6.0-rc3
PATCH_EXEC
%patch1000 -p1
%patch1001 -p1
%patch1002 -p1
%if %{build_x86_fw_from_source}
# as a safeguard, delete the firmware files that we intend to build
for i in %firmware_files
do
rm -f pc-bios/$i
done
%endif
%build
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
--libexecdir=%_libexecdir \
@ -191,6 +275,15 @@ PATCH_EXEC
make %{?_smp_mflags} V=1
# Firmware
%if %{build_x86_fw_from_source}
make -C roms bios
make -C roms lgplvgabios
make -C roms pxerom
make -C roms/sgabios
cp roms/sgabios/sgabios.bin pc-bios/sgabios.bin
%endif
%install
make install DESTDIR=$RPM_BUILD_ROOT
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
@ -223,7 +316,23 @@ rm -rf ${RPM_BUILD_ROOT}
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
%_bindir/qemu-system-*
%doc %_mandir/man1/qemu.1.gz
%dir %_datadir/%name
%_datadir/%name
%exclude %_datadir/%name/bios.bin
%exclude %_datadir/%name/acpi-dsdt.aml
%exclude %_datadir/%name/q35-acpi-dsdt.aml
%exclude %_datadir/%name/vgabios.bin
%exclude %_datadir/%name/vgabios-cirrus.bin
%exclude %_datadir/%name/vgabios-qxl.bin
%exclude %_datadir/%name/vgabios-stdvga.bin
%exclude %_datadir/%name/vgabios-vmware.bin
%exclude %_datadir/%name/sgabios.bin
%exclude %_datadir/%name/pxe-e1000.rom
%exclude %_datadir/%name/pxe-eepro100.rom
%exclude %_datadir/%name/pxe-pcnet.rom
%exclude %_datadir/%name/pxe-ne2k_pci.rom
%exclude %_datadir/%name/pxe-rtl8139.rom
%exclude %_datadir/%name/pxe-virtio.rom
%dir %_sysconfdir/%name
%config %_sysconfdir/%name/target-x86_64.conf
@ -232,6 +341,33 @@ rm -rf ${RPM_BUILD_ROOT}
%defattr(-, root, root)
%endif
%files seabios
%defattr(-, root, root)
%_datadir/%name/bios.bin
%_datadir/%name/acpi-dsdt.aml
%_datadir/%name/q35-acpi-dsdt.aml
%files vgabios
%defattr(-, root, root)
%_datadir/%name/vgabios.bin
%_datadir/%name/vgabios-cirrus.bin
%_datadir/%name/vgabios-qxl.bin
%_datadir/%name/vgabios-stdvga.bin
%_datadir/%name/vgabios-vmware.bin
%files sgabios
%defattr(-, root, root)
%_datadir/%name/sgabios.bin
%files ipxe
%defattr(-, root, root)
%_datadir/%name/pxe-e1000.rom
%_datadir/%name/pxe-eepro100.rom
%_datadir/%name/pxe-pcnet.rom
%_datadir/%name/pxe-ne2k_pci.rom
%_datadir/%name/pxe-rtl8139.rom
%_datadir/%name/pxe-virtio.rom
%files tools
%defattr(-, root, root)
%doc %_mandir/man1/qemu-img.1.gz