From: Robin H. Johnson Date: Fri, 10 Nov 2017 22:22:46 +0000 (-0800) Subject: app-emulation/qemu: need seavgabios for pseries X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=5519f4abdc4be060b4f4a043ffadffbbbe97c1ee;p=gentoo.git 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 --- diff --git a/app-emulation/qemu/qemu-2.10.0-r1.ebuild b/app-emulation/qemu/qemu-2.10.0-r1.ebuild index a1210f3d5994..0c1e2e682316 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 e96e3a8a8f42..a256ce5e7f72 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