commit: 5519f4abdc4be060b4f4a043ffadffbbbe97c1ee
Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 10 22:22:46 2017 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Fri Nov 10 23:23:57 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5519f4ab
app-emulation/qemu: need seavgabios for pseries
Emulation of PPC64 pSeries needs a VGA BIOS:
$ qemu-system-ppc64 -m 256 -nographic \
-echr 0x05 \
-kernel cirros-0.4.0~pre1-ppc64-kernel \
-initrd cirros-0.4.0~pre1-ppc64-initramfs \
-append rdroot \
-m 256 \
-machine pseries
qemu-system-ppc64: Initialization of device VGA failed: failed to find romfile
"vgabios-stdvga.bin"
Tested on bogsucker.ppc64.dev.g.o by booting CirrOS PPC64 images.
Package-Manager: Portage-2.3.8, Repoman-2.3.3
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
app-emulation/qemu/qemu-2.10.0-r1.ebuild | 15 +++++++++++++--
app-emulation/qemu/qemu-9999.ebuild | 15 +++++++++++++--
2 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/app-emulation/qemu/qemu-2.10.0-r1.ebuild
b/app-emulation/qemu/qemu-2.10.0-r1.ebuild
index a1210f3d599..0c1e2e68231 100644
--- a/app-emulation/qemu/qemu-2.10.0-r1.ebuild
+++ b/app-emulation/qemu/qemu-2.10.0-r1.ebuild
@@ -164,6 +164,14 @@ X86_FIRMWARE_DEPEND="
>=sys-firmware/seabios-1.10.2[seavgabios]
sys-firmware/sgabios
)"
+PPC64_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/seabios-1.10.2[binary,seavgabios]
+ )
+ !pin-upstream-blobs? (
+ >=sys-firmware/seabios-1.10.2[seavgabios]
+ )
+"
CDEPEND="
!static? (
@@ -171,7 +179,9 @@ CDEPEND="
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
)
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )"
+ qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} )
+"
DEPEND="${CDEPEND}
dev-lang/perl
=dev-lang/python-2*
@@ -698,7 +708,8 @@ src_install() {
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
- if use qemu_softmmu_targets_x86_64 || use
qemu_softmmu_targets_i386; then
+ # PPC64 loads vgabios-stdvga
+ if use qemu_softmmu_targets_x86_64 || use
qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then
dosym ../seavgabios/vgabios-isavga.bin
/usr/share/qemu/vgabios.bin
dosym ../seavgabios/vgabios-cirrus.bin
/usr/share/qemu/vgabios-cirrus.bin
dosym ../seavgabios/vgabios-qxl.bin
/usr/share/qemu/vgabios-qxl.bin
diff --git a/app-emulation/qemu/qemu-9999.ebuild
b/app-emulation/qemu/qemu-9999.ebuild
index e96e3a8a8f4..a256ce5e7f7 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-9999.ebuild
@@ -164,6 +164,14 @@ X86_FIRMWARE_DEPEND="
>=sys-firmware/seabios-1.10.2[seavgabios]
sys-firmware/sgabios
)"
+PPC64_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/seabios-1.10.2[binary,seavgabios]
+ )
+ !pin-upstream-blobs? (
+ >=sys-firmware/seabios-1.10.2[seavgabios]
+ )
+"
CDEPEND="
!static? (
@@ -171,7 +179,9 @@ CDEPEND="
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
)
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
- qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )"
+ qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} )
+"
DEPEND="${CDEPEND}
dev-lang/perl
=dev-lang/python-2*
@@ -695,7 +705,8 @@ src_install() {
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
- if use qemu_softmmu_targets_x86_64 || use
qemu_softmmu_targets_i386; then
+ # PPC64 loads vgabios-stdvga
+ if use qemu_softmmu_targets_x86_64 || use
qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then
dosym ../seavgabios/vgabios-isavga.bin
/usr/share/qemu/vgabios.bin
dosym ../seavgabios/vgabios-cirrus.bin
/usr/share/qemu/vgabios-cirrus.bin
dosym ../seavgabios/vgabios-qxl.bin
/usr/share/qemu/vgabios-qxl.bin