pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/emulators/qemu51 emulators/qemu51: import qemu-5.1.0nb13



details:   https://anonhg.NetBSD.org/pkgsrc/rev/138f43d6a672
branches:  trunk
changeset: 447477:138f43d6a672
user:      ryoon <ryoon%pkgsrc.org@localhost>
date:      Sat Feb 20 22:55:19 2021 +0000

description:
emulators/qemu51: import qemu-5.1.0nb13

QEMU is a FAST! processor emulator using dynamic translation to achieve
good emulation speed, QEMU has two operating modes:

    * Full system emulation. In this mode, QEMU emulates a full system
      (for example a PC), including a processor and various peripherals.
      It can be used to launch different Operating Systems without rebooting
      the PC or to debug system code.
    * User mode emulation (Linux host only). In this mode, QEMU can launch
      Linux processes compiled for one CPU on another CPU. It can be used
      to launch the Wine Windows API emulator or to ease cross-compilation
      and cross-debugging.

This package contains Qemu 5.1.0 with NetBSD NVMM support.

diffstat:

 emulators/qemu51/DESCR                                                 |    13 +
 emulators/qemu51/Makefile                                              |   182 +
 emulators/qemu51/PLIST                                                 |   403 +++
 emulators/qemu51/distinfo                                              |    58 +
 emulators/qemu51/files/Makefile.multinode-NetBSD                       |    59 +
 emulators/qemu51/files/hw-mips-mipssim_virtio.c                        |   115 +
 emulators/qemu51/options.mk                                            |    91 +
 emulators/qemu51/patches/patch-Makefile                                |    12 +
 emulators/qemu51/patches/patch-accel_stubs_Makefile.objs               |    14 +
 emulators/qemu51/patches/patch-accel_stubs_nvmm-stub.c                 |    50 +
 emulators/qemu51/patches/patch-backends_tpm_tpm__ioctl.h               |    16 +
 emulators/qemu51/patches/patch-capstone_Makefile                       |    17 +
 emulators/qemu51/patches/patch-configure                               |   121 +
 emulators/qemu51/patches/patch-contrib_ivshmem-client_ivshmem-client.c |    37 +
 emulators/qemu51/patches/patch-contrib_ivshmem-server_ivshmem-server.c |    36 +
 emulators/qemu51/patches/patch-default-configs-mips-softmmu-common.mak |    12 +
 emulators/qemu51/patches/patch-hw-mips-Kconfig                         |    19 +
 emulators/qemu51/patches/patch-hw-mips-Makefiles.objs                  |    12 +
 emulators/qemu51/patches/patch-hw-mips-mipssim.c                       |    23 +
 emulators/qemu51/patches/patch-hw_alpha_alpha_sys.h                    |    15 +
 emulators/qemu51/patches/patch-hw_alpha_dp264.c                        |    39 +
 emulators/qemu51/patches/patch-hw_alpha_typhoon.c                      |   148 +
 emulators/qemu51/patches/patch-hw_core_uboot__image.h                  |    12 +
 emulators/qemu51/patches/patch-hw_display_omap__dss.c                  |    30 +
 emulators/qemu51/patches/patch-hw_display_tcx.c                        |    54 +
 emulators/qemu51/patches/patch-hw_net_etraxfs__eth.c                   |    25 +
 emulators/qemu51/patches/patch-hw_net_xilinx__axienet.c                |    16 +
 emulators/qemu51/patches/patch-hw_pci-host_sabre.c                     |    16 +
 emulators/qemu51/patches/patch-hw_rtc_mc146818rtc.c                    |    32 +
 emulators/qemu51/patches/patch-hw_scsi_scsi-disk.c                     |    50 +
 emulators/qemu51/patches/patch-hw_usb_dev-mtp.c                        |    27 +
 emulators/qemu51/patches/patch-include_sysemu_hw__accel.h              |    55 +
 emulators/qemu51/patches/patch-include_sysemu_kvm.h                    |    23 +
 emulators/qemu51/patches/patch-include_sysemu_nvmm.h                   |    42 +
 emulators/qemu51/patches/patch-net_tap-solaris.c                       |    14 +
 emulators/qemu51/patches/patch-qemu-options.hx                         |    42 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_hwrpb.h               |    72 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_init.c                |   234 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_memcpy.c              |    15 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_memset.c              |    15 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_pal.S                 |    53 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_pci.c                 |    78 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_pci.h                 |    18 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_printf.c              |    31 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_protos.h              |    66 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_sys-clipper.h         |    38 +
 emulators/qemu51/patches/patch-roms_qemu-palcode_vgaio.c               |    16 +
 emulators/qemu51/patches/patch-roms_u-boot-sam460ex_Makefile           |    32 +
 emulators/qemu51/patches/patch-roms_u-boot_tools_imx8m__image.sh       |    24 +
 emulators/qemu51/patches/patch-softmmu_cpus.c                          |    92 +
 emulators/qemu51/patches/patch-target_i386_Makefile.objs               |    14 +
 emulators/qemu51/patches/patch-target_i386_helper.c                    |    15 +
 emulators/qemu51/patches/patch-target_i386_kvm-stub.c                  |    23 +
 emulators/qemu51/patches/patch-target_i386_nvmm-all.c                  |  1233 ++++++++++
 emulators/qemu51/patches/patch-target_sparc_translate.c                |    24 +
 55 files changed, 4023 insertions(+), 0 deletions(-)

diffs (truncated from 4243 to 300 lines):

diff -r 77db0300a35e -r 138f43d6a672 emulators/qemu51/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/qemu51/DESCR    Sat Feb 20 22:55:19 2021 +0000
@@ -0,0 +1,13 @@
+QEMU is a FAST! processor emulator using dynamic translation to achieve
+good emulation speed, QEMU has two operating modes:
+
+    * Full system emulation. In this mode, QEMU emulates a full system
+      (for example a PC), including a processor and various peripherals.
+      It can be used to launch different Operating Systems without rebooting
+      the PC or to debug system code.
+    * User mode emulation (Linux host only). In this mode, QEMU can launch
+      Linux processes compiled for one CPU on another CPU. It can be used
+      to launch the Wine Windows API emulator or to ease cross-compilation
+      and cross-debugging.
+
+This package contains Qemu 5.1.0 with NetBSD NVMM support.
diff -r 77db0300a35e -r 138f43d6a672 emulators/qemu51/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/qemu51/Makefile Sat Feb 20 22:55:19 2021 +0000
@@ -0,0 +1,182 @@
+# $NetBSD: Makefile,v 1.1 2021/02/20 22:55:19 ryoon Exp $
+
+DISTNAME=      qemu-5.1.0
+PKGREVISION=   13
+CATEGORIES=    emulators
+MASTER_SITES=  https://download.qemu.org/
+EXTRACT_SUFX=  .tar.xz
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      http://www.qemu-project.org/
+COMMENT=       CPU emulator using dynamic translation
+LICENSE=       gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd
+
+USE_CURSES=            resize_term wide
+USE_LANGUAGES+=                c c++
+USE_TOOLS+=            bison flex gmake makeinfo perl:build pod2man pkg-config
+FAKE_NCURSES=          yes
+UNLIMIT_RESOURCES=     datasize
+HAS_CONFIGURE=         yes
+
+GMAKE_REQD=            4.1 # needed for docs
+
+PYTHON_VERSIONED_DEPENDENCIES= sphinx:tool
+
+SUBST_CLASSES+=                        sphinx-build
+SUBST_STAGE.sphinx-build=      pre-configure
+SUBST_MESSAGE.sphinx-build=    Fix hardcoded sphinx-build
+SUBST_FILES.sphinx-build+=     configure
+SUBST_FILES.sphinx-build+=     roms/skiboot/doc/Makefile
+SUBST_FILES.sphinx-build+=     roms/u-boot/Documentation/Makefile
+SUBST_SED.sphinx-build+=       -e 's/sphinx-build/sphinx-build-${PYVERSSUFFIX}/g'
+
+.include "options.mk"
+
+.include "../../mk/bsd.prefs.mk"
+
+DISTFILES=             ${DEFAULT_DISTFILES}
+DISTFILES+=            palcode-clipper
+SITES.palcode-clipper= http://ftp.netbsd.org/pub/NetBSD/arch/alpha/qemu/
+
+CONFIGURE_ARGS+=       --prefix=${PREFIX}
+CONFIGURE_ARGS+=       --interp-prefix=${PREFIX}/share/qemu
+CONFIGURE_ARGS+=       --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+=       --python=${PYTHONBIN}
+CONFIGURE_ARGS+=       --smbd=${PREFIX}/sbin/smbd
+CONFIGURE_ARGS+=       --mandir=${PREFIX}/${PKGMANDIR}
+CONFIGURE_ARGS+=       --enable-curses
+CONFIGURE_ARGS+=       --enable-docs
+CONFIGURE_ARGS+=       --enable-jemalloc
+CONFIGURE_ENV+=                mansuffix=/${PKGMANDIR}
+
+.if defined(PKGSRC_USE_SSP)
+# do not add flags to everything
+PKGSRC_USE_SSP=                no
+CONFIGURE_ARGS+=       --enable-stack-protector
+.endif
+
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-aarch64
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-alpha
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-arm
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-cris
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-hppa
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-i386
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-lm32
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-m68k
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-microblaze
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-microblazeel
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-mips
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-mips64
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-mips64el
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-mipsel
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-moxie
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-nios2
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-or1k
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-ppc
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-ppc64
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-riscv32
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-riscv64
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-s390x
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-sh4
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-sh4eb
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-sparc
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-sparc64
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-tricore
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-unicore32
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-x86_64
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-xtensa
+NOT_PAX_MPROTECT_SAFE+=        bin/qemu-system-xtensaeb
+
+PKG_SYSCONFSUBDIR=     qemu
+
+REPLACE_PERL+=         scripts/texi2pod.pl
+
+INSTALLATION_DIRS=     ${PKGMANDIR}/man1 share/doc/qemu
+
+UE_ARCHS+=             aarch64 aarch64_be
+UE_ARCHS+=             alpha arm armeb cris
+UE_ARCHS+=             hppa
+UE_ARCHS+=             i386
+UE_ARCHS+=             m68k microblaze microblazeel
+UE_ARCHS+=             mips mips64 mips64el mipsel mipsn32 mipsn32el
+UE_ARCHS+=             nios2
+UE_ARCHS+=             or1k ppc ppc64 ppc64le ppc64abi32
+UE_ARCHS+=             riscv32 riscv64
+UE_ARCHS+=             s390x sh4 sh4eb sparc sparc32plus sparc64
+UE_ARCHS+=             tilegx
+UE_ARCHS+=             x86_64 xtensa xtensaeb
+
+.if ${OPSYS} == "NetBSD"
+PLIST.nbd=                     yes
+.  if !exists(/usr/include/machine/trap.h)
+CONFIGURE_ARGS+=               --disable-bsd-user
+.  else
+USER_EMUL=                     i386 x86_64 sparc sparc64
+.  endif
+.elif !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly"
+USER_EMUL=                     i386 x86_64 sparc sparc64
+PLIST.nbd=                     yes
+.elif ${OPSYS} == "Darwin"
+USER_EMUL=
+CONFIGURE_ARGS+=               --disable-bsd-user
+PLIST.nbd=                     yes
+.elif ${OPSYS} == "Linux"
+USER_EMUL=                     ${UE_ARCHS}
+PLIST.bridge-helper=           yes
+PLIST.nbd=                     yes
+PLIST.ivshmem=                 yes
+PLIST.pr-helper=               yes
+.elif !empty(MACHINE_PLATFORM:MSunOS-5.11-*)
+PLIST.ivshmem=                 yes
+PLIST.nbd=                     yes
+CONFIGURE_ARGS+=               --disable-coroutine-pool
+.endif
+
+PLIST_VARS+=           ${UE_ARCHS} bridge-helper ivshmem keymap nbd pr-helper
+.for pvar in ${USER_EMUL}
+PLIST.${pvar}=         yes
+.endfor
+
+# different versions of Sphinx generate different static files
+PLIST_SRC=     PLIST ${WRKDIR}/PLIST.STATIC
+
+TEST_TARGET=           check
+
+post-extract:
+       cp ${WRKDIR}/palcode-clipper ${WRKSRC}/pc-bios/palcode-clipper
+       cp ${FILESDIR}/hw-mips-mipssim_virtio.c ${WRKSRC}/hw/mips/mipssim_virtio.c
+
+# Some dependencies aren't correct and this tries to be re-made on install,
+# failing due to configure bugs.
+post-build:
+       ${TOUCH} ${WRKSRC}/config-host.mak
+
+post-install:
+       ${INSTALL_DATA} ${FILESDIR}/Makefile.multinode-NetBSD \
+               ${DESTDIR}${PREFIX}/share/doc/qemu/
+       ${RM} -f ${DESTDIR}${PREFIX}/share/doc/qemu/interop/.buildinfo
+       ${RM} -f ${DESTDIR}${PREFIX}/share/doc/qemu/specs/.buildinfo
+       ${RM} -f ${WRKDIR}/PLIST.STATIC
+       cd ${DESTDIR}${PREFIX} && \
+       ${FIND} share/doc/qemu -path '*/_static/*' -type f -print > ${WRKDIR}/PLIST.STATIC
+
+# On Darwin, qemu uses CoreAudio
+.if ${OPSYS} != "Darwin"
+.include "../../mk/oss.buildlink3.mk"
+.endif
+.include "../../archivers/lzo/buildlink3.mk"
+.include "../../devel/glib2/buildlink3.mk"
+.include "../../devel/jemalloc/buildlink3.mk"
+.include "../../devel/snappy/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../graphics/png/buildlink3.mk"
+.include "../../lang/python/extension.mk"
+.include "../../lang/python/versioned_dependencies.mk"
+.include "../../security/libgcrypt/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../x11/pixman/buildlink3.mk"
+.include "../../mk/curses.buildlink3.mk"
+.include "../../mk/jpeg.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r 77db0300a35e -r 138f43d6a672 emulators/qemu51/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/qemu51/PLIST    Sat Feb 20 22:55:19 2021 +0000
@@ -0,0 +1,403 @@
+@comment $NetBSD: PLIST,v 1.1 2021/02/20 22:55:19 ryoon Exp $
+bin/elf2dmp
+${PLIST.ivshmem}bin/ivshmem-client
+${PLIST.ivshmem}bin/ivshmem-server
+${PLIST.aarch64}bin/qemu-aarch64
+${PLIST.aarch64_be}bin/qemu-aarch64_be
+${PLIST.alpha}bin/qemu-alpha
+${PLIST.arm}bin/qemu-arm
+${PLIST.armeb}bin/qemu-armeb
+${PLIST.cris}bin/qemu-cris
+bin/qemu-edid
+bin/qemu-ga
+${PLIST.hppa}bin/qemu-hppa
+${PLIST.i386}bin/qemu-i386
+bin/qemu-img
+bin/qemu-io
+${PLIST.keymap}bin/qemu-keymap
+${PLIST.m68k}bin/qemu-m68k
+${PLIST.microblaze}bin/qemu-microblaze
+${PLIST.microblazeel}bin/qemu-microblazeel
+${PLIST.mips}bin/qemu-mips
+${PLIST.mips64}bin/qemu-mips64
+${PLIST.mips64el}bin/qemu-mips64el
+${PLIST.mipsel}bin/qemu-mipsel
+${PLIST.mipsn32}bin/qemu-mipsn32
+${PLIST.mipsn32el}bin/qemu-mipsn32el
+${PLIST.nbd}bin/qemu-nbd
+${PLIST.nios2}bin/qemu-nios2
+${PLIST.or1k}bin/qemu-or1k
+${PLIST.ppc}bin/qemu-ppc
+${PLIST.ppc64}bin/qemu-ppc64
+${PLIST.ppc64abi32}bin/qemu-ppc64abi32
+${PLIST.ppc64le}bin/qemu-ppc64le
+${PLIST.riscv32}bin/qemu-riscv32
+${PLIST.riscv64}bin/qemu-riscv64
+${PLIST.s390x}bin/qemu-s390x
+${PLIST.sh4}bin/qemu-sh4
+${PLIST.sh4eb}bin/qemu-sh4eb
+${PLIST.sparc}bin/qemu-sparc
+${PLIST.sparc32plus}bin/qemu-sparc32plus
+${PLIST.sparc64}bin/qemu-sparc64
+bin/qemu-storage-daemon
+bin/qemu-system-aarch64
+bin/qemu-system-alpha
+bin/qemu-system-arm
+bin/qemu-system-avr
+bin/qemu-system-cris
+bin/qemu-system-hppa
+bin/qemu-system-i386
+bin/qemu-system-lm32
+bin/qemu-system-m68k
+bin/qemu-system-microblaze
+bin/qemu-system-microblazeel
+bin/qemu-system-mips
+bin/qemu-system-mips64
+bin/qemu-system-mips64el
+bin/qemu-system-mipsel
+bin/qemu-system-moxie
+bin/qemu-system-nios2
+bin/qemu-system-or1k
+bin/qemu-system-ppc
+bin/qemu-system-ppc64
+bin/qemu-system-riscv32
+bin/qemu-system-riscv64
+bin/qemu-system-rx
+bin/qemu-system-s390x
+bin/qemu-system-sh4
+bin/qemu-system-sh4eb
+bin/qemu-system-sparc
+bin/qemu-system-sparc64
+bin/qemu-system-tricore
+bin/qemu-system-unicore32
+bin/qemu-system-x86_64
+bin/qemu-system-xtensa
+bin/qemu-system-xtensaeb
+${PLIST.tilegx}bin/qemu-tilegx
+${PLIST.x86_64}bin/qemu-x86_64
+${PLIST.xtensa}bin/qemu-xtensa
+${PLIST.xtensaeb}bin/qemu-xtensaeb
+${PLIST.bridge-helper}libexec/qemu-bridge-helper
+${PLIST.pr-helper}libexec/qemu-pr-helper
+${PLIST.virtfs-proxy-helper}libexec/virtfs-proxy-helper
+man/man1/qemu-img.1
+man/man1/qemu.1
+${PLIST.virtfs-proxy-helper}man/man1/virtfs-proxy-helper.1
+man/man7/qemu-block-drivers.7
+man/man7/qemu-cpu-models.7
+man/man7/qemu-ga-ref.7
+man/man7/qemu-qmp-ref.7
+man/man8/qemu-ga.8
+man/man8/qemu-nbd.8
+share/applications/qemu.desktop
+share/doc/qemu/Makefile.multinode-NetBSD



Home | Main Index | Thread Index | Old Index