diff options
author | Rene Ladan <rene@FreeBSD.org> | 2020-08-27 11:25:47 +0000 |
---|---|---|
committer | Rene Ladan <rene@FreeBSD.org> | 2020-08-27 11:25:47 +0000 |
commit | 09df8f4601b3653cf8971f4f25192685d2ee7322 (patch) | |
tree | 54e6a1db3f20f2f9dcd0222d5d8f9abfd2e6cedc /emulators | |
parent | 3ba6db94dd8adf5581739f6517cfa95241d097b6 (diff) | |
download | ports-09df8f4601b3653cf8971f4f25192685d2ee7322.tar.gz ports-09df8f4601b3653cf8971f4f25192685d2ee7322.zip |
Notes
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/Makefile | 1 | ||||
-rw-r--r-- | emulators/qemu40/Makefile | 165 | ||||
-rw-r--r-- | emulators/qemu40/distinfo | 3 | ||||
-rw-r--r-- | emulators/qemu40/files/patch-Makefile | 42 | ||||
-rw-r--r-- | emulators/qemu40/files/patch-configure | 213 | ||||
-rw-r--r-- | emulators/qemu40/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc | 11 | ||||
-rw-r--r-- | emulators/qemu40/files/patch-include_net_net.h | 13 | ||||
-rw-r--r-- | emulators/qemu40/files/patch-include_qemu_atomic.h | 54 | ||||
-rw-r--r-- | emulators/qemu40/files/patch-net_tap-bsd.c | 10 | ||||
-rw-r--r-- | emulators/qemu40/files/patch-qemu-doc.texi | 21 | ||||
-rw-r--r-- | emulators/qemu40/files/patch-util-cacheinfo.c | 41 | ||||
-rw-r--r-- | emulators/qemu40/files/pcap-patch-net_clients.h | 13 | ||||
-rw-r--r-- | emulators/qemu40/files/pcap-patch-net_net.c | 250 | ||||
-rw-r--r-- | emulators/qemu40/files/pcap-patch-qapi_net.json | 56 | ||||
-rw-r--r-- | emulators/qemu40/files/qemu-ifdown.sample | 2 | ||||
-rw-r--r-- | emulators/qemu40/files/qemu-ifup.sample | 2 | ||||
-rw-r--r-- | emulators/qemu40/pkg-descr | 19 | ||||
-rw-r--r-- | emulators/qemu40/pkg-message | 188 | ||||
-rw-r--r-- | emulators/qemu40/pkg-plist | 155 |
19 files changed, 0 insertions, 1259 deletions
diff --git a/emulators/Makefile b/emulators/Makefile index 2e1373e18294..379cfdb63811 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -118,7 +118,6 @@ SUBDIR += qemu-user-static-devel SUBDIR += qemu-utils SUBDIR += qemu31 - SUBDIR += qemu40 SUBDIR += qemu41 SUBDIR += qemu50 SUBDIR += qmc2 diff --git a/emulators/qemu40/Makefile b/emulators/qemu40/Makefile deleted file mode 100644 index ba88e082ccdb..000000000000 --- a/emulators/qemu40/Makefile +++ /dev/null @@ -1,165 +0,0 @@ -# Created by: Juergen Lock <nox@jelal.kn-bremen.de> -# $FreeBSD$ - -PORTNAME= qemu -PORTVERSION= 4.0.1 -PORTREVISION= 2 -CATEGORIES= emulators -MASTER_SITES= https://download.qemu.org/ -PKGNAMESUFFIX= 40 -DIST_SUBDIR= qemu/${PORTVERSION} - -MAINTAINER= bofh@FreeBSD.org -COMMENT= QEMU CPU Emulator - 4.0.X version - -LICENSE= GPLv2 - -ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 - -LIB_DEPENDS= libnettle.so:security/nettle \ - libfontconfig.so:x11-fonts/fontconfig \ - libfreetype.so:print/freetype2 \ - libepoxy.so:graphics/libepoxy \ - libpcre2-8.so:devel/pcre2 - -USES= bison compiler:c11 cpe gmake gnome iconv:wchar_t perl5 \ - pkgconfig python:build tar:xz -USE_GNOME= cairo glib20 libxml2 -USE_PERL5= build - -DEPRECATED= Please consider using qemu or qemu41 -EXPIRATION_DATE=2020-08-20 -#BROKEN_powerpc64= fails to compile: In function aio_bh_poll: internal compiler error: Segmentation fault - -#.if !defined(PKGNAMESUFFIX) || (${PKGNAMESUFFIX} != "-utils" && ${PKGNAMESUFFIX} != "-guest-agent") -#.endif - -HAS_CONFIGURE= yes -MAKE_ENV+= BSD_MAKE="${MAKE}" V=1 - -OPTIONS_DEFINE= SAMBA X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CURL \ - VDE CDROM_DMA PCAP USBREDIR X86_TARGETS \ - STATIC_LINK DOCS NCURSES -SAMBA_DESC= samba dependency (for -smb) -GNUTLS_DESC= gnutls dependency (vnc encryption) -SASL_DESC= cyrus-sasl dependency (vnc encryption) -JPEG_DESC= jpeg dependency (vnc lossy compression) -PNG_DESC= png dependency (vnc compression) -CDROM_DMA_DESC= IDE CDROM DMA -PCAP_DESC= pcap dependency (networking with bpf) -USBREDIR_DESC= usb device network redirection (experimental!) -X86_TARGETS_DESC= Build only x86 system targets -STATIC_LINK_DESC= Statically link the executables -VDE_DESC= vde dependency (for vde networking) -OPTIONS_DEFAULT=X11 GTK3 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP NCURSES VDE -OPTIONS_SUB= yes -X11_USE= SDL=sdl2 XORG=x11,xext GNOME=gdkpixbuf2 -X11_USES= gnome sdl xorg -X11_CONFIGURE_ENABLE= sdl -GTK3_LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon -GTK3_USE= GNOME=gdkpixbuf2,gtk30,vte3 XORG=x11,xext -GTK3_USES= gettext gl xorg -GTK3_CONFIGURE_OFF= --disable-gtk --disable-vte -GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls -GNUTLS_CONFIGURE_OFF= --disable-gnutls -SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 -SASL_CONFIGURE_OFF= --disable-vnc-sasl -JPEG_USES= jpeg -JPEG_CONFIGURE_OFF= --disable-vnc-jpeg -PNG_LIB_DEPENDS= libpng.so:graphics/png -PNG_CONFIGURE_OFF= --disable-vnc-png -CURL_LIB_DEPENDS= libcurl.so:ftp/curl -CURL_CONFIGURE_OFF= --disable-curl -OPENGL_USE= GL=gl -OPENGL_USES= gl -OPENGL_CONFIGURE_OFF= --disable-opengl -USBREDIR_BUILD_DEPENDS= usbredir>=0.6:net/usbredir -USBREDIR_RUN_DEPENDS= usbredir>=0.6:net/usbredir -USBREDIR_CONFIGURE_OFF= --disable-usb-redir -PCAP_CONFIGURE_ON= --enable-pcap -PCAP_EXTRA_PATCHES= ${FILESDIR}/pcap-patch-qapi_net.json ${FILESDIR}/pcap-patch-net_net.c \ - ${FILESDIR}/pcap-patch-net_clients.h -VDE_LIB_DEPENDS= libvdeplug.so:net/vde2 -VDE_CONFIGURE_OFF= --disable-vde -STATIC_LINK_CONFIGURE_ON= --static -STATIC_LINK_PREVENTS= GTK3 X11 -STATIC_LINK_PREVENTS_MSG= X11 ui cannot be built static -NCURSES_USES= ncurses:base -SAMBA_USES= samba:run # smbd -SAMBA_CONFIGURE_ON= --smbd=${LOCALBASE}/sbin/smbd -DOCS_BUILD_DEPENDS= texi2html:textproc/texi2html \ - sphinx-build:textproc/py-sphinx -DOCS_USES= makeinfo -DOCS_MAKE_ARGS_OFF= NOPORTDOCS=1 -X86_TARGETS_USE_OFF= XORG=pixman,x11 -X86_TARGETS_USES_OFF= xorg - -PORTDOCS= docs interop/.buildinfo interop/* qemu-doc.html qemu-doc.txt qemu-ga-ref.html qemu-ga-ref.txt \ - qemu-qmp-ref.html qemu-qmp-ref.txt - -WITHOUT_CPU_CFLAGS=yes #to avoid problems with register allocation -CFLAGS:= ${CFLAGS:C/-fno-tree-vrp//} -CONFIGURE_ARGS= --localstatedir=/var --extra-ldflags=-L\"/usr/lib\" \ - --extra-ldflags=-L\"${LOCALBASE}/lib\" --disable-libssh2 --enable-debug \ - --prefix=${PREFIX} --cc=${CC} --enable-netmap --enable-docs --disable-kvm \ - --disable-linux-user --disable-linux-aio --disable-xen \ - --enable-debug-info --python=${PYTHON_CMD} \ - --extra-cflags=-I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"\"${PREFIX}\\\"\" -INSTALLS_ICONS= yes - -.include <bsd.port.options.mk> - -.if !defined(STRIP) || ${STRIP} == "" -CONFIGURE_ARGS+=--disable-strip -.endif - -.if ${ARCH} == "amd64" -MAKE_ARGS+= ARCH=x86_64 -.endif - -.if ${ARCH} == "powerpc" -MAKE_ARGS+= ARCH=ppc -.endif - -.if ${ARCH} == "powerpc64" -MAKE_ARGS+= ARCH=ppc64 -.endif - -.if ${ARCH} == "sparc64" -CONFIGURE_ARGS+= --sparc_cpu=v9 -.endif - -PLIST_SUB+= LINUXBOOT_DMA="" - -# -lprocstat actually only _needs_ -lelf after r249666 or r250870 (MFC) -# but it shouldn't matter much -post-patch: - @${REINPLACE_CMD} -e '/LIBS/s|-lprocstat|-lprocstat -lelf|' \ - -e '/libusb/s/ --atleast-version=1\.0\.[0-9]*//' \ - ${WRKSRC}/configure - @${REINPLACE_CMD} -E \ - -e "s|^(CFLAGS=).*|\1${CFLAGS} -fno-strict-aliasing -I.|" \ - -e "s|^(LDFLAGS=).*|\1${LDFLAGS}|" \ - ${WRKSRC}/Makefile - -post-patch-CDROM_DMA-off: - @${REINPLACE_CMD} -e '/USE_DMA_CDROM/d' ${WRKSRC}/include/hw/ide/internal.h - -# XXX need to disable usb host code on head while it's not ported to the -# new usb stack yet -post-configure: - @${REINPLACE_CMD} -E \ - -e "s|^(HOST_USB=)bsd|\1stub|" \ - ${WRKSRC}/config-host.mak - -.if !target(post-install) -post-install: - ${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifup.sample ${STAGEDIR}${PREFIX}/etc - ${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifdown.sample ${STAGEDIR}${PREFIX}/etc - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/qemu-* - -post-install-DOCS-on: - @(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR}/) -.endif - -.include <bsd.port.mk> diff --git a/emulators/qemu40/distinfo b/emulators/qemu40/distinfo deleted file mode 100644 index e8610eb99faa..000000000000 --- a/emulators/qemu40/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1574541700 -SHA256 (qemu/4.0.1/qemu-4.0.1.tar.xz) = f2674dd6053ef1d48593aa1f0a50c5ac9039f7a059ecb6f9b8307f3fb2fcedad -SIZE (qemu/4.0.1/qemu-4.0.1.tar.xz) = 55637016 diff --git a/emulators/qemu40/files/patch-Makefile b/emulators/qemu40/files/patch-Makefile deleted file mode 100644 index 095b684f8e80..000000000000 --- a/emulators/qemu40/files/patch-Makefile +++ /dev/null @@ -1,42 +0,0 @@ ---- Makefile.orig 2019-04-23 18:14:45 UTC -+++ Makefile -@@ -311,9 +311,14 @@ LIBS+=-lz $(LIBS_TOOLS) - HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = qemu-bridge-helper$(EXESUF) - - ifdef BUILD_DOCS -+ifdef NOPORTDOCS -+DOCS=qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8 -+DOCS+=docs/interop/qemu-qmp-ref.7 docs/interop/qemu-ga-ref.7 -+else - DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8 - DOCS+=docs/interop/qemu-qmp-ref.html docs/interop/qemu-qmp-ref.txt docs/interop/qemu-qmp-ref.7 - DOCS+=docs/interop/qemu-ga-ref.html docs/interop/qemu-ga-ref.txt docs/interop/qemu-ga-ref.7 -+endif - DOCS+=docs/qemu-block-drivers.7 - DOCS+=docs/qemu-cpu-models.7 - ifdef CONFIG_VIRTFS -@@ -742,11 +747,13 @@ install-sphinxdocs: sphinxdocs - $(call install-manual,interop) - - install-doc: $(DOCS) install-sphinxdocs -+ifndef NOPORTDOCS - $(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) qemu-doc.txt "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) docs/interop/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) docs/interop/qemu-qmp-ref.txt "$(DESTDIR)$(qemu_docdir)" -+endif - ifdef CONFIG_POSIX - $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1" - $(INSTALL_DATA) qemu.1 "$(DESTDIR)$(mandir)/man1" -@@ -764,8 +771,10 @@ ifdef CONFIG_TRACE_SYSTEMTAP - endif - ifneq (,$(findstring qemu-ga,$(TOOLS))) - $(INSTALL_DATA) qemu-ga.8 "$(DESTDIR)$(mandir)/man8" -+ifndef NOPORTDOCS - $(INSTALL_DATA) docs/interop/qemu-ga-ref.html "$(DESTDIR)$(qemu_docdir)" - $(INSTALL_DATA) docs/interop/qemu-ga-ref.txt "$(DESTDIR)$(qemu_docdir)" -+endif - $(INSTALL_DATA) docs/interop/qemu-ga-ref.7 "$(DESTDIR)$(mandir)/man7" - endif - endif diff --git a/emulators/qemu40/files/patch-configure b/emulators/qemu40/files/patch-configure deleted file mode 100644 index c1222da4d086..000000000000 --- a/emulators/qemu40/files/patch-configure +++ /dev/null @@ -1,213 +0,0 @@ ---- configure.orig 2019-10-17 20:17:43 UTC -+++ configure -@@ -396,7 +396,7 @@ DSOSUF=".so" - LDFLAGS_SHARED="-shared" - modules="no" - prefix="/usr/local" --mandir="\${prefix}/share/man" -+mandir="\${prefix}/man" - datadir="\${prefix}/share" - firmwarepath="\${prefix}/share/qemu-firmware" - qemu_docdir="\${prefix}/share/doc/qemu" -@@ -476,6 +476,9 @@ numa="" - tcmalloc="no" - jemalloc="no" - replication="yes" -+pcap="no" -+pcap_create="no" -+bpf="no" - vxhs="" - bochs="yes" - cloop="yes" -@@ -1118,6 +1121,10 @@ for opt do - ;; - --enable-vnc-png) vnc_png="yes" - ;; -+ --enable-pcap) pcap="yes" -+ ;; -+ --disable-pcap) pcap="no" -+ ;; - --disable-slirp) slirp="no" - ;; - --enable-slirp=system) slirp="system" -@@ -2972,6 +2979,14 @@ if ! check_include "ifaddrs.h" ; then - fi - - ########################################## -+# getifaddrs (for tests/test-io-channel-socket ) -+ -+have_ifaddrs_h=yes -+if ! check_include "ifaddrs.h" ; then -+ have_ifaddrs_h=no -+fi -+ -+########################################## - # VTE probe - - if test "$vte" != "no"; then -@@ -3629,7 +3644,7 @@ for i in $glib_modules; do - glib_libs=$($pkg_config --libs $i) - QEMU_CFLAGS="$glib_cflags $QEMU_CFLAGS" - LIBS="$glib_libs $LIBS" -- libs_qga="$glib_libs $libs_qga" -+ libs_qga="$glib_libs -lintl $libs_qga" - else - error_exit "glib-$glib_req_ver $i is required to compile QEMU" - fi -@@ -4723,11 +4738,6 @@ has_sphinx_build() { - if test "$docs" != "no" ; then - if has makeinfo && has pod2man && has_sphinx_build; then - docs=yes -- else -- if test "$docs" = "yes" ; then -- feature_not_found "docs" "Install texinfo, Perl/perl-podlators and python-sphinx" -- fi -- docs=no - fi - fi - -@@ -4861,7 +4871,7 @@ fi - - # check for libusb - if test "$libusb" != "no" ; then -- if $pkg_config --atleast-version=1.0.13 libusb-1.0; then -+ if $pkg_config libusb-1.0; then - libusb="yes" - libusb_cflags=$($pkg_config --cflags libusb-1.0) - libusb_libs=$($pkg_config --libs libusb-1.0) -@@ -5251,7 +5261,51 @@ if test "$debug_stack_usage" = "yes"; then - fi - fi - -+########################################## -+# pcap probe - -+if test "$pcap" = "yes" -a "$pcap" != "no"; then -+ cat > $TMPC << EOF -+#include <pcap.h> -+int main(void) { return (pcap_lib_version() == (char *)0 ? 1 : 0); } -+EOF -+ if test "$mingw32" = "no" ; then -+ libpcap=-lpcap -+ else -+ libpcap=-lwpcap -+ fi -+ if compile_prog "" "$libpcap" ; then -+ : -+ else -+ echo -+ echo "Error: Could not find pcap" -+ echo "Make sure to have the pcap libs and headers installed." -+ echo -+ exit 1 -+ fi -+ cat > $TMPC << EOF -+#include <pcap.h> -+int main(void) -+{ -+ char errbuf[PCAP_ERRBUF_SIZE]; -+ return (pcap_create("foo", errbuf) == (pcap_t *)0 ? 1 : 0); -+} -+EOF -+ if compile_prog "" "$libpcap" ; then -+ pcap_create="yes" -+ fi -+ cat > $TMPC << EOF -+#define PCAP_DONT_INCLUDE_PCAP_BPF_H -+#include <pcap.h> -+#include <net/bpf.h> -+int main(void) { return (BPF_MAJOR_VERSION); } -+EOF -+ if compile_prog ; then -+ bpf="yes" -+ fi -+ libs_softmmu="$libpcap $libs_softmmu" -+fi # test "$pcap" -+ - ########################################## - # check if we have open_by_handle_at - -@@ -6196,27 +6250,30 @@ if ( [ "$linux_user" = yes ] || [ "$bsd_user" = yes ] - cat > $TMPC <<EOF - int main(void) { return 0; } - EOF -- textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr" -+ textseg_ldflags="-Wl,--image-base=$textseg_addr" - if ! compile_prog "" "$textseg_ldflags"; then -- # In case ld does not support -Ttext-segment, edit the default linker -- # script via sed to set the .text start addr. This is needed on FreeBSD -- # at least. -- if ! $ld --verbose >/dev/null 2>&1; then -- error_exit \ -- "We need to link the QEMU user mode binaries at a" \ -- "specific text address. Unfortunately your linker" \ -- "doesn't support either the -Ttext-segment option or" \ -- "printing the default linker script with --verbose." \ -- "If you don't want the user mode binaries, pass the" \ -- "--disable-user option to configure." -- fi -+ textseg_ldflags="-Wl,-Ttext-segment=$textseg_addr" -+ if ! compile_prog "" "$textseg_ldflags"; then -+ # In case ld does not support -Ttext-segment, edit the default linker -+ # script via sed to set the .text start addr. This is needed on FreeBSD -+ # at least. -+ if ! $ld --verbose >/dev/null 2>&1; then -+ error_exit \ -+ "We need to link the QEMU user mode binaries at a" \ -+ "specific text address. Unfortunately your linker" \ -+ "doesn't support either the -Ttext-segment option or" \ -+ "printing the default linker script with --verbose." \ -+ "If you don't want the user mode binaries, pass the" \ -+ "--disable-user option to configure." -+ fi - -- $ld --verbose | sed \ -- -e '1,/==================================================/d' \ -- -e '/==================================================/,$d' \ -- -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \ -- -e "s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr/" > config-host.ld -- textseg_ldflags="-Wl,-T../config-host.ld" -+ $ld --verbose | sed \ -+ -e '1,/==================================================/d' \ -+ -e '/==================================================/,$d' \ -+ -e "s/[.] = [0-9a-fx]* [+] SIZEOF_HEADERS/. = $textseg_addr + SIZEOF_HEADERS/" \ -+ -e "s/__executable_start = [0-9a-fx]*/__executable_start = $textseg_addr/" > config-host.ld -+ textseg_ldflags="-Wl,-T../config-host.ld" -+ fi - fi - fi - fi -@@ -6332,6 +6389,7 @@ echo "Audio drivers $audio_drv_list" - echo "Block whitelist (rw) $block_drv_rw_whitelist" - echo "Block whitelist (ro) $block_drv_ro_whitelist" - echo "VirtFS support $virtfs" -+echo "pcap support $pcap" - echo "Multipath support $mpath" - echo "VNC support $vnc" - if test "$vnc" = "yes" ; then -@@ -6565,6 +6623,15 @@ fi - if test "$profiler" = "yes" ; then - echo "CONFIG_PROFILER=y" >> $config_host_mak - fi -+if test "$pcap" = "yes" ; then -+ echo "CONFIG_PCAP=y" >> $config_host_mak -+ if test "$pcap_create" = "yes" ; then -+ echo "CONFIG_PCAP_CREATE=y" >> $config_host_mak -+ fi -+ if test "$bpf" = "yes" ; then -+ echo "CONFIG_BPF=y" >> $config_host_mak -+ fi -+fi - if test "$slirp" != "no"; then - echo "CONFIG_SLIRP=y" >> $config_host_mak - echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak -@@ -6812,6 +6879,9 @@ fi - # if this macro is set. - if test "$have_fsxattr" = "yes" ; then - echo "HAVE_FSXATTR=y" >> $config_host_mak -+fi -+if test "$have_ifaddrs_h" = "yes" ; then -+ echo "HAVE_IFADDRS_H=y" >> $config_host_mak - fi - if test "$have_copy_file_range" = "yes" ; then - echo "HAVE_COPY_FILE_RANGE=y" >> $config_host_mak diff --git a/emulators/qemu40/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc b/emulators/qemu40/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc deleted file mode 100644 index 546595845c62..000000000000 --- a/emulators/qemu40/files/patch-disas_libvixl_vixl_a64_disasm-a64.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- disas/libvixl/vixl/a64/disasm-a64.cc.orig 2019-04-23 18:14:45 UTC -+++ disas/libvixl/vixl/a64/disasm-a64.cc -@@ -2693,7 +2693,7 @@ void Disassembler::AppendPCRelativeOffsetToOutput(cons - if (offset < 0) { - abs_offset = -abs_offset; - } -- AppendToOutput("#%c0x%" PRIx64, sign, abs_offset); -+ AppendToOutput("#%c0x%" PRIx64, sign, offset < 0 ? -offset : offset); - } - - diff --git a/emulators/qemu40/files/patch-include_net_net.h b/emulators/qemu40/files/patch-include_net_net.h deleted file mode 100644 index 92d57989a03f..000000000000 --- a/emulators/qemu40/files/patch-include_net_net.h +++ /dev/null @@ -1,13 +0,0 @@ ---- include/net/net.h.orig 2019-04-23 18:14:46 UTC -+++ include/net/net.h -@@ -209,8 +209,8 @@ void qmp_netdev_add(QDict *qdict, QObject **ret, Error - int net_hub_id_for_client(NetClientState *nc, int *id); - NetClientState *net_hub_port_find(int hub_id); - --#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup" --#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown" -+#define DEFAULT_NETWORK_SCRIPT PREFIX "/etc/qemu-ifup" -+#define DEFAULT_NETWORK_DOWN_SCRIPT PREFIX "/etc/qemu-ifdown" - #define DEFAULT_BRIDGE_HELPER CONFIG_QEMU_HELPERDIR "/qemu-bridge-helper" - #define DEFAULT_BRIDGE_INTERFACE "br0" - diff --git a/emulators/qemu40/files/patch-include_qemu_atomic.h b/emulators/qemu40/files/patch-include_qemu_atomic.h deleted file mode 100644 index 623073e0b29a..000000000000 --- a/emulators/qemu40/files/patch-include_qemu_atomic.h +++ /dev/null @@ -1,54 +0,0 @@ ---- include/qemu/atomic.h.orig 2019-04-23 18:14:46 UTC -+++ include/qemu/atomic.h -@@ -201,10 +201,12 @@ - /* Provide shorter names for GCC atomic builtins, return old value */ - #define atomic_fetch_inc(ptr) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST) - #define atomic_fetch_dec(ptr) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST) -+#ifndef __cplusplus - #define atomic_fetch_add(ptr, n) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST) - #define atomic_fetch_sub(ptr, n) __atomic_fetch_sub(ptr, n, __ATOMIC_SEQ_CST) - #define atomic_fetch_and(ptr, n) __atomic_fetch_and(ptr, n, __ATOMIC_SEQ_CST) - #define atomic_fetch_or(ptr, n) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST) -+#endif - #define atomic_fetch_xor(ptr, n) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST) - - #define atomic_inc_fetch(ptr) __atomic_add_fetch(ptr, 1, __ATOMIC_SEQ_CST) -@@ -218,10 +220,12 @@ - /* And even shorter names that return void. */ - #define atomic_inc(ptr) ((void) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST)) - #define atomic_dec(ptr) ((void) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST)) -+#ifndef __cplusplus - #define atomic_add(ptr, n) ((void) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST)) - #define atomic_sub(ptr, n) ((void) __atomic_fetch_sub(ptr, n, __ATOMIC_SEQ_CST)) - #define atomic_and(ptr, n) ((void) __atomic_fetch_and(ptr, n, __ATOMIC_SEQ_CST)) - #define atomic_or(ptr, n) ((void) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST)) -+#endif - #define atomic_xor(ptr, n) ((void) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST)) - - #else /* __ATOMIC_RELAXED */ -@@ -389,10 +393,12 @@ - - #define atomic_inc_fetch(ptr) __sync_add_and_fetch(ptr, 1) - #define atomic_dec_fetch(ptr) __sync_add_and_fetch(ptr, -1) -+#ifndef __cplusplus - #define atomic_add_fetch(ptr, n) __sync_add_and_fetch(ptr, n) - #define atomic_sub_fetch(ptr, n) __sync_sub_and_fetch(ptr, n) - #define atomic_and_fetch(ptr, n) __sync_and_and_fetch(ptr, n) - #define atomic_or_fetch(ptr, n) __sync_or_and_fetch(ptr, n) -+#endif - #define atomic_xor_fetch(ptr, n) __sync_xor_and_fetch(ptr, n) - - #define atomic_cmpxchg(ptr, old, new) __sync_val_compare_and_swap(ptr, old, new) -@@ -401,10 +407,12 @@ - /* And even shorter names that return void. */ - #define atomic_inc(ptr) ((void) __sync_fetch_and_add(ptr, 1)) - #define atomic_dec(ptr) ((void) __sync_fetch_and_add(ptr, -1)) -+#ifndef __cplusplus - #define atomic_add(ptr, n) ((void) __sync_fetch_and_add(ptr, n)) - #define atomic_sub(ptr, n) ((void) __sync_fetch_and_sub(ptr, n)) - #define atomic_and(ptr, n) ((void) __sync_fetch_and_and(ptr, n)) - #define atomic_or(ptr, n) ((void) __sync_fetch_and_or(ptr, n)) -+#endif - #define atomic_xor(ptr, n) ((void) __sync_fetch_and_xor(ptr, n)) - - #endif /* __ATOMIC_RELAXED */ diff --git a/emulators/qemu40/files/patch-net_tap-bsd.c b/emulators/qemu40/files/patch-net_tap-bsd.c deleted file mode 100644 index 6d94c1bde1ca..000000000000 --- a/emulators/qemu40/files/patch-net_tap-bsd.c +++ /dev/null @@ -1,10 +0,0 @@ ---- net/tap-bsd.c.orig 2019-04-23 18:14:46 UTC -+++ net/tap-bsd.c -@@ -31,6 +31,7 @@ - - #if defined(__NetBSD__) || defined(__FreeBSD__) - #include <sys/ioctl.h> -+#include <sys/socket.h> - #include <net/if.h> - #include <net/if_tap.h> - #endif diff --git a/emulators/qemu40/files/patch-qemu-doc.texi b/emulators/qemu40/files/patch-qemu-doc.texi deleted file mode 100644 index aa79d423f792..000000000000 --- a/emulators/qemu40/files/patch-qemu-doc.texi +++ /dev/null @@ -1,21 +0,0 @@ ---- qemu-doc.texi.orig 2019-04-23 18:14:46 UTC -+++ qemu-doc.texi -@@ -200,7 +200,7 @@ VGA BIOS. - QEMU uses YM3812 emulation by Tatsuyuki Satoh. - - QEMU uses GUS emulation (GUSEMU32 @url{http://www.deinmeister.de/gusemu/}) --by Tibor "TS" Schütz. -+by Tibor "TS" Schuetz. - - Note that, by default, GUS shares IRQ(7) with parallel ports and so - QEMU must be told to not have parallel ports to have working GUS. -@@ -560,7 +560,8 @@ Send the escape character to the frontend - - @c man begin SEEALSO - The HTML documentation of QEMU for more precise information and Linux --user mode emulator invocation. -+user mode emulator invocation, as well as the FreeBSD host notes in -+@file{pkg-message} in the relevant qemu port directory. - @c man end - - @c man begin AUTHOR diff --git a/emulators/qemu40/files/patch-util-cacheinfo.c b/emulators/qemu40/files/patch-util-cacheinfo.c deleted file mode 100644 index 58f57fbc65a0..000000000000 --- a/emulators/qemu40/files/patch-util-cacheinfo.c +++ /dev/null @@ -1,41 +0,0 @@ ---- util/cacheinfo.c.orig 2019-10-17 15:17:44.000000000 -0500 -+++ util/cacheinfo.c 2020-01-17 21:13:29.459470000 -0600 -@@ -65,25 +65,28 @@ static void sys_cache_info(int *isize, int *dsize) - g_free(buf); - } - --#elif defined(__APPLE__) \ -- || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) -+#elif defined(__APPLE__) - # include <sys/sysctl.h> --# if defined(__APPLE__) --# define SYSCTL_CACHELINE_NAME "hw.cachelinesize" --# else --# define SYSCTL_CACHELINE_NAME "machdep.cacheline_size" --# endif -- - static void sys_cache_info(int *isize, int *dsize) - { - /* There's only a single sysctl for both I/D cache line sizes. */ - long size; - size_t len = sizeof(size); -- if (!sysctlbyname(SYSCTL_CACHELINE_NAME, &size, &len, NULL, 0)) { -+ if (!sysctlbyname("hw.cachelinesize", &size, &len, NULL, 0)) { - *isize = *dsize = size; - } - } -- -+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) -+# include <sys/sysctl.h> -+static void sys_cache_info(int *isize, int *dsize) -+{ -+ /* There's only a single sysctl for both I/D cache line sizes. */ -+ int size; -+ size_t len = sizeof(size); -+ if (!sysctlbyname("machdep.cacheline_size", &size, &len, NULL, 0)) { -+ *isize = *dsize = size; -+ } -+} - #else - /* POSIX */ - diff --git a/emulators/qemu40/files/pcap-patch-net_clients.h b/emulators/qemu40/files/pcap-patch-net_clients.h deleted file mode 100644 index 5b56f1b2f49a..000000000000 --- a/emulators/qemu40/files/pcap-patch-net_clients.h +++ /dev/null @@ -1,13 +0,0 @@ ---- net/clients.h.orig 2018-04-24 16:30:47 UTC -+++ net/clients.h -@@ -61,4 +61,10 @@ int net_init_netmap(const Netdev *netdev, const char * - int net_init_vhost_user(const Netdev *netdev, const char *name, - NetClientState *peer, Error **errp); - -+#ifdef CONFIG_PCAP -+int net_init_pcap(const Netdev *netdev, const char *name, -+ NetClientState *peer, Error **errp); -+#endif -+ -+ - #endif /* QEMU_NET_CLIENTS_H */ diff --git a/emulators/qemu40/files/pcap-patch-net_net.c b/emulators/qemu40/files/pcap-patch-net_net.c deleted file mode 100644 index 6fa5ca941f7d..000000000000 --- a/emulators/qemu40/files/pcap-patch-net_net.c +++ /dev/null @@ -1,250 +0,0 @@ ---- net/net.c.orig 2018-04-24 16:30:47 UTC -+++ net/net.c -@@ -52,6 +52,11 @@ - #include "net/filter.h" - #include "qapi/string-output-visitor.h" - -+#include <sys/ioctl.h> -+#ifdef __FreeBSD__ -+#include <net/if.h> -+#endif -+ - /* Net bridge is currently not supported for W32. */ - #if !defined(_WIN32) - # define CONFIG_NET_BRIDGE -@@ -929,7 +934,225 @@ static int net_init_nic(const Netdev *netdev, const ch - return idx; - } - -+#if defined(CONFIG_PCAP) -+#if defined(CONFIG_BPF) -+#define PCAP_DONT_INCLUDE_PCAP_BPF_H -+#include <net/bpf.h> -+#endif -+#include <pcap.h> - -+struct PCAPState { -+ NetClientState nc; -+ pcap_t *handle; -+ int max_eth_frame_size; -+}; -+ -+static ssize_t pcap_receive(NetClientState *nc, const uint8_t *buf, size_t size) -+{ -+ struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc); -+ -+ return pcap_inject(s->handle, (u_char*)buf, size); -+} -+ -+static void pcap_callback(u_char *user, struct pcap_pkthdr *phdr, u_char *pdata -+ ) -+{ -+ NetClientState *nc = (NetClientState *)user; -+ -+ int len = phdr->len; -+#ifdef __FreeBSD__ -+ struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc); -+ int max_eth_frame_size = s->max_eth_frame_size; -+ -+ if (len > max_eth_frame_size) { -+ fprintf(stderr, -+ "pcap_send: packet size > %d (%d), truncating\n", -+ max_eth_frame_size, len); -+ len = max_eth_frame_size; -+ } -+#endif -+ qemu_send_packet(nc, pdata, len); -+} -+ -+static void pcap_send(void *opaque) -+{ -+ struct PCAPState *s = (struct PCAPState *)opaque; -+ -+ for (;;) { -+ if (pcap_dispatch(s->handle, 0, (pcap_handler)&pcap_callback, (u_char *)&s->nc) >= 0) -+ break; -+ } -+} -+ -+static void pcap_cleanup(NetClientState *nc) -+{ -+ struct PCAPState *s = DO_UPCAST(struct PCAPState, nc, nc); -+ -+ qemu_purge_queued_packets(nc); -+ pcap_close(s->handle); -+} -+ -+static NetClientInfo net_pcap_info = { -+ .type = NET_CLIENT_DRIVER_PCAP, -+ .size = sizeof(struct PCAPState), -+ .receive = pcap_receive, -+// .receive_raw = pcap_receive_raw, -+// .receive_iov = pcap_receive_iov, -+// .poll = pcap_poll, -+ .cleanup = pcap_cleanup, -+}; -+/* -+ * ... -net pcap,ifname="..." -+ */ -+ -+int net_init_pcap(const Netdev *netdev, -+ const char *name, NetClientState *peer, Error **errp) -+{ -+ const NetdevPcapOptions *pcap_opts; -+ NetClientState *nc; -+ struct PCAPState *s; -+ const char *ifname; -+ char errbuf[PCAP_ERRBUF_SIZE]; -+#if defined(_WIN32) -+ HANDLE h; -+#endif -+ int i; -+ -+ assert(netdev->type == NET_CLIENT_DRIVER_PCAP); -+ pcap_opts = &netdev->u.pcap; -+ if (!pcap_opts->has_ifname) -+ return -1; -+ -+ ifname = pcap_opts->ifname; -+ -+ /* create the object */ -+ nc = qemu_new_net_client(&net_pcap_info, peer, "pcap", ifname); -+ s = DO_UPCAST(struct PCAPState, nc, nc); -+ -+ if (ifname == NULL && (ifname = pcap_lookupdev(errbuf)) == NULL) { -+ fprintf(stderr, "qemu: pcap_create: %s\n", errbuf); -+ goto fail; -+ } -+ -+#ifdef __FreeBSD__ -+ /* -+ * We want to avoid passing oversize packets to the guest, which -+ * at least on FreeBSD can happen if the host interface uses tso -+ * (seen with an em(4) in this case) - so find out the host -+ * interface's mtu and assume the guest is configured the same. -+ */ -+ s->max_eth_frame_size = 1514; -+ i = socket(AF_INET, SOCK_DGRAM, 0); -+ if (i >= 0) { -+ struct ifreq ifr; -+ -+ (void) memset(&ifr, 0, sizeof(ifr)); -+ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); -+ if (ioctl(i, SIOCGIFMTU, &ifr) != -1) -+ s->max_eth_frame_size = ifr.ifr_mtu + 14; -+ close(i); -+ } -+#endif -+ -+#if defined(CONFIG_PCAP_CREATE) || defined(_WIN32) -+ /* -+ * Create pcap handle for the device, set promiscuous mode and activate. -+ */ -+ s->handle = (void *)pcap_create(ifname, errbuf); -+ if (!s->handle) { -+ fprintf(stderr, "qemu: pcap_create: %s\n", errbuf); -+ goto fail; -+ } -+ if (pcap_set_promisc(s->handle, 1) != 0) { -+ pcap_perror(s->handle, (char *)"qemu: pcap_set_promisc:"); -+ goto fail; -+ } -+ if (pcap_activate(s->handle) != 0) { -+ pcap_perror(s->handle, (char *)"qemu: pcap_activate:"); -+ goto fail; -+ } -+#else -+ /* Attempt to connect device. */ -+ s->handle = (void *)pcap_open_live(ifname, 65535, 1, 0, errbuf); -+ if (!s->handle) { -+ fprintf(stderr, "qemu: pcap_open_live: %s\n", errbuf); -+ goto fail; -+ } -+#endif -+ -+ /* Set non-blocking mode. */ -+ if (pcap_setnonblock(s->handle, 1, errbuf) < 0) { -+ fprintf(stderr, "qemu: pcap_setnonblock: %s\n", errbuf); -+ goto fail; -+ } -+ -+#if defined(_WIN32) -+ /* -+ * Tell the kernel that the packet has to be seen immediately. -+ */ -+ if (pcap_setmintocopy(s->handle, 0) < 0) { -+ fprintf(stderr, "qemu: pcap failed to set immediate mode\n"); -+ goto fail; -+ } -+#else /* !_WIN32 */ -+#if defined(CONFIG_BPF) -+#if defined(BIOCIMMEDIATE) -+ /* -+ * Tell the kernel that the packet has to be seen immediately. -+ */ -+ { -+ unsigned int one = 1; -+ if (ioctl(pcap_fileno(s->handle), BIOCIMMEDIATE, &one) < 0) { -+ fprintf(stderr, "qemu: pcap failed to set immediate mode\n"); -+ goto fail; -+ } -+ } -+#endif /* BIOCIMMEDIATE */ -+#if defined(BIOCFEEDBACK) -+ /* -+ * Tell the kernel that the sent packet has to be fed back. -+ * This is necessary to connect host and guest. -+ */ -+ { -+ unsigned int one = 1; -+ if (ioctl(pcap_fileno(s->handle), BIOCFEEDBACK, &one) < 0) { -+ fprintf(stderr, "qemu: pcap failed to set feedback mode\n"); -+ goto fail; -+ } -+ } -+#endif /* BIOCFEEDBACK */ -+#endif /* CONFIG_BPF */ -+#endif /* _WIN32 */ -+ -+ snprintf(s->nc.info_str, sizeof(s->nc.info_str), "pcap redirector"); -+ -+#if defined(_WIN32) -+ if ((h = pcap_getevent(s->handle)) == NULL) { -+ fprintf(stderr, "qemu: pcap_getevent failed\n"); -+ goto fail; -+ } -+ qemu_add_wait_object(h, pcap_send, s); -+#else /* !_WIN32 */ -+ if ((i = pcap_get_selectable_fd(s->handle)) < 0) { -+ fprintf(stderr, "qemu: pcap_get_selectable_fd failed\n"); -+ goto fail; -+ } -+ qemu_set_fd_handler(i, pcap_send, NULL, s); -+#endif /* _WIN32 */ -+ -+ return 0; -+ -+fail: -+ if (s) { -+ if (s->handle) -+ pcap_close(s->handle); -+ } -+ -+ return -1; -+} -+ -+#endif -+ - static int (* const net_client_init_fun[NET_CLIENT_DRIVER__MAX])( - const Netdev *netdev, - const char *name, -@@ -955,6 +1178,9 @@ static int (* const net_client_init_fun[NET_CLIENT_DRI - #endif - #ifdef CONFIG_L2TPV3 - [NET_CLIENT_DRIVER_L2TPV3] = net_init_l2tpv3, -+#endif -+#ifdef CONFIG_PCAP -+ [NET_CLIENT_DRIVER_PCAP] = net_init_pcap, - #endif - }; - diff --git a/emulators/qemu40/files/pcap-patch-qapi_net.json b/emulators/qemu40/files/pcap-patch-qapi_net.json deleted file mode 100644 index 39114c65d591..000000000000 --- a/emulators/qemu40/files/pcap-patch-qapi_net.json +++ /dev/null @@ -1,56 +0,0 @@ ---- qapi/net.json.orig 2018-04-24 16:30:47 UTC -+++ qapi/net.json -@@ -388,6 +388,19 @@ - '*helper': 'str' } } - - ## -+# @NetdevPcapOptions: -+# -+# Use ifname as a source to capture -+# -+# @ifname: #required to determine which interface to capture -+# -+# Since: 1.2 -+## -+{ 'struct': 'NetdevPcapOptions', -+ 'data': { -+ '*ifname': 'str' } } -+ -+## - # @NetdevHubPortOptions: - # - # Connect two or more net clients through a software hub. -@@ -454,7 +467,7 @@ - ## - { 'enum': 'NetClientDriver', - 'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde', -- 'bridge', 'hubport', 'netmap', 'vhost-user' ] } -+ 'bridge', 'hubport', 'netmap', 'vhost-user', 'pcap' ] } - - ## - # @Netdev: -@@ -478,6 +491,7 @@ - 'user': 'NetdevUserOptions', - 'tap': 'NetdevTapOptions', - 'l2tpv3': 'NetdevL2TPv3Options', -+ 'pcap': 'NetdevPcapOptions', - 'socket': 'NetdevSocketOptions', - 'vde': 'NetdevVdeOptions', - 'bridge': 'NetdevBridgeOptions', -@@ -514,7 +528,7 @@ - ## - { 'enum': 'NetLegacyOptionsType', - 'data': ['none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde', -- 'bridge', 'netmap', 'vhost-user'] } -+ 'bridge', 'netmap', 'vhost-user', 'pcap'] } - - ## - # @NetLegacyOptions: -@@ -532,6 +546,7 @@ - 'user': 'NetdevUserOptions', - 'tap': 'NetdevTapOptions', - 'l2tpv3': 'NetdevL2TPv3Options', -+ 'pcap': 'NetdevPcapOptions', - 'socket': 'NetdevSocketOptions', - 'vde': 'NetdevVdeOptions', - 'bridge': 'NetdevBridgeOptions', diff --git a/emulators/qemu40/files/qemu-ifdown.sample b/emulators/qemu40/files/qemu-ifdown.sample deleted file mode 100644 index 89d9a9bff436..000000000000 --- a/emulators/qemu40/files/qemu-ifdown.sample +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec true diff --git a/emulators/qemu40/files/qemu-ifup.sample b/emulators/qemu40/files/qemu-ifup.sample deleted file mode 100644 index 89d9a9bff436..000000000000 --- a/emulators/qemu40/files/qemu-ifup.sample +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec true diff --git a/emulators/qemu40/pkg-descr b/emulators/qemu40/pkg-descr deleted file mode 100644 index 018952f53cf1..000000000000 --- a/emulators/qemu40/pkg-descr +++ /dev/null @@ -1,19 +0,0 @@ -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 peripherials. -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. - -As QEMU requires no host kernel patches to run, it is very safe and easy to use. - -See also the preconfigured system images on http://oszoo.org/ -Many live cd isos also work. - -WWW: http://wiki.qemu.org/Main_Page diff --git a/emulators/qemu40/pkg-message b/emulators/qemu40/pkg-message deleted file mode 100644 index 4ce5e9a61853..000000000000 --- a/emulators/qemu40/pkg-message +++ /dev/null @@ -1,188 +0,0 @@ -[ -{ type: install - message: <<EOM -FreeBSD host notes -================== - -- Needs to set net.link.tap.user_open sysctl in order to use /dev/tap* - networking as non-root. Don't forget to adjust device node permissions in - /etc/devfs.rules. - -- slirp (usermode networking) is fixed now in cvs, on FreeSBIE 1.0 guests you - still have to manually do: echo nameserver 10.0.2.3 >/etc/resolv.conf but - i've been told that that's normal. (fixed on FreeSBIE 1.1.) And you have - to wait a bit for dhclient to do its thing; traffic to address 10.0.2.2 is - routed to 127.1 on the host. - -- Expect timer problems when guest kernel HZ is > hosts, for example time - sleep 1 takes 49 seconds and booting sleeps for minutes at the acd0 probe - with a FreeSBIE 1.0 guest, thats because its kernel is built with HZ=5000, - and FreeBSD's default is 100... (no longer a problem with FreeSBIE 1.1.) - The linux 2.6 kernel uses 1000 by default btw. (changed to 250 later, and - recent linux kernels now no longer have a fixed HZ, aka `tickless - kernel'...) Enabling /dev/rtc doesn't seem to help either (not included - since it needs a patch to emulators/rtc.) - -- Update: the above problem has gotten worse with FreeBSD guests - somewhere before 8.0, mainly since the kernel now usually wants - double or even quadruple number of timer irqs compared to HZ if - it detects an apic (and at least early versions of FreeBSD 8 had - a bug that essentially halved qemu's clock rate too); the only - reason you usually don't see symptoms of this with FreeBSD 8 - guests is they automatically reduce their HZ to 100 when running - in a VM while the default for the host kernel is still HZ=1000. - Workaround: you can disable the apic clock in the guest by setting - - hint.apic.0.clock="0" - - in loader.conf(5) (or manually at the loader prompt), if that - doesn't work the only things you can do is either reduce the - guest's HZ to, say, 100 by setting e.g. - - kern.hz="100" - - from the loader as above (which usually is a good idea in a VM - anyway and FreeBSD 8 now does by itself as mentioned), or otherwise - increase the host's HZ to 2000 or even 4000 from the loader in - the same way. - -- The -smb option (smb-export local dir to guest using the default - slirp networking) needs the samba port/package installed - in addition to qemu. (SAMBA knob.) - -- If you want to use usb devices connected to the host in the guest - yot need either recent 10-current (not tested yet much) or you can - use usbredir over the network (see below); also unless you are - running qemu as root you then need to fix permissions for /dev/ugen* - device nodes: if you are on 5.x or later (devfs) put a rule in - /etc/devfs.rules, activate it in /etc/rc.conf and run /etc/rc.d/devfs - restart. Example devfs.rules: - - [ugen_ruleset=20] - add path 'ugen*' mode 660 group operator - - corresponding rc.conf line: - - devfs_system_ruleset="ugen_ruleset" - -- If you want to test the new (in 0.15.0) usb network redirection (USBREDIR - option) see this thread by Hans de Goede <hdegoede <at> redhat.com>: - - http://thread.gmane.org/gmane.comp.emulators.qemu/110176/focus=110183 - - Quote: - - Example usage: - - 1) Start usbredirserver for a usb device: - sudo usbredirserver 045e:0772 - 2) Start qemu with usb2 support + a chardev talking to usbredirserver + - a usb-redir device using this chardev: - qemu -usb \ - -readconfig docs/ich9-ehci-uhci.cfg \ - -chardev socket,id=usbredirchardev,host=localhost,port=4000 \ - -device usb-redir,chardev=usbredirchardev,id=usbredirdev ... - - [you would replace docs/ich9-ehci-uhci.cfg with e.g. - /usr/local/share/doc/qemu/docs/ich9-ehci-uhci.cfg, but turns out - ehci was broken for me here with FreeBSD guests and the previous - qemu version at least, I got: - - FETCHENTRY: entry at 22C5484 is of type 2 which is not supported yet -processing error - resetting ehci HC - Assertion failed: (0), function ehci_advance_state, file /data/ports/emulators/qemu-devel/work/qemu-0.15.0/hw/usb-ehci.c, line 2045. - - The new qemu version works better tho.] - -- Still usb: since the hub is no longer attached to the uchi controller and - the wakeup mechanism, resume interrupt is not implemented yet linux guests - will suspend the bus, i.e. they wont see devices usb_add'ed after its - (linux') uhci module got loaded. Workaround: either add devices before - linux loads the module or rmmod and modprobe it afterwards. [Not sure - if this still applies to the new libusb host code used on recent - 10-current.] - -- If you get repeated `atapi_poll called!' console messages with FreeBSD - guests or other weird cdrom problems then thats probably because the guest - has atapicam loaded, which for reasons still to be determined has problems - with qemu's now by default enabled cdrom dma. You can build the port with - CDROM_DMA disabled to disable it. [Looks like this is fixed in recent - FreeBSD guest versions.] - -- If you build qemu wihout SDL and then get crashes running it try passing it - -nographic. This should probably be default in that case... - -- qemu's network boot roms (-boot n) have a bug when bootfiles sizes are a - multiple of blksize, if this affects you (like with FreeBSD's /boot/pxeboot) - you can do like - - cp /boot/pxeboot pxeboot-qemu && chmod +w pxeboot-qemu && echo >>pxeboot-qemu - - and then use pxeboot-qemu. Actually you need recent btx code - (from after 7.0 was released) because of the real mode boot - problem, so use at least pxeboot from there. And I just did that - for the pxeboot extracted out of - - ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/200805/7.0-STABLE-200805-i386-bootonly.iso - - and placed it here: - - http://people.freebsd.org/~nox/qemu/pxeboot-qemu - -- If you use slirp (usernet, the default) and want to mount nfs into the guest - and you are not running qemu as root, then mountd(8) on the exporting box - needs to be run with -n in order to accept requests from ports >= 1024. - -- (not FreeBSD-specific:) There have been reports of qcow2 corruption with (at - least) win2k guests on recent kvm (which uses similar qcow2 code than qemu - now, see this thread: - - http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00713.html - - - the consensus on that thread seems to be that qcow(2) code has always been - experimental and you should use raw images if you want reliability; raw is - also usually faster.) You should be able to migrate existing images to raw - using qemu-img(1)'s convert function; raw doesn't support advanced features - like snapshots tho. [a few important qcow2 bugfixed have been committed in - the meantime so this _might_ be less of an issue now; and meanwhile there - also is the new qed format - I don't know how stable that one is.] - -- (also not FreeBSD-specific:) It is recommended to pass raw images using the - new -drive syntax, specifying format=raw explicitly in order to avoid - malicious guests being able to exploit the format autodetection thats - otherwise getting used. (Not that you should run malicious guests anyway, - but this eleminates at least a known attack vector.) - -- qemu now has improved physical cdrom support, but still there is at - least one known problem: you need to have the guest eject the disc if you - want to change it/take it out, or otherwise the guest may continue using - state (like size) of the old disc. (You can also do like `change ide1-cd0 - /dev/acd0' in the monitor after taking out the disc if a guest cannot eject - it itself.) - -- The default configuration location (qemu-ifup script etc.) has been changed - from /etc to PREFIX/etc (usually /usr/local/etc). Move your files - accordingly. - -- The pcap code (-net nic... -net pcap,ifname=...) should work properly now, - with only one exception: Advanced features like TSO used on the host - interface can cause oversize packets which now do get truncated to avoid - confusing/panicing guests but of course still will cause retransmissions. - So if you see slow throughput and `pcap_send: packet size > ..., truncating' - messages on qemu's tty try disabling TSO etc on the host interface at least - while using pcap. - -- kqemu is no longer supported in qemu upstream after the 0.11 branch - was created, which means also not in this version. (Linux has moved - on to kvm now for qemu(-like) virtualization needs, so if you want qemu - to go faster and don't want to switch to virtualbox or stick to the older - emulators/qemu port which is at 0.11.1 atm and as such still supports - kqemu you should help getting the FreeBSD kvm port updated and - completed: - - http://wiki.freebsd.org/FabioChecconi/PortingLinuxKVMToFreeBSD - - ) -EOM -} -] diff --git a/emulators/qemu40/pkg-plist b/emulators/qemu40/pkg-plist deleted file mode 100644 index bf144fa1a856..000000000000 --- a/emulators/qemu40/pkg-plist +++ /dev/null @@ -1,155 +0,0 @@ -bin/elf2dmp -bin/qemu-edid -bin/qemu-ga -bin/qemu-i386 -bin/qemu-img -bin/qemu-io -%%GTK3%%bin/qemu-keymap -bin/qemu-nbd -%%NO_X86_TARGETS%%bin/qemu-sparc -%%NO_X86_TARGETS%%bin/qemu-sparc64 -%%NO_X86_TARGETS%%bin/qemu-system-aarch64 -%%NO_X86_TARGETS%%bin/qemu-system-alpha -%%NO_X86_TARGETS%%bin/qemu-system-arm -%%NO_X86_TARGETS%%bin/qemu-system-cris -%%NO_X86_TARGETS%%bin/qemu-system-hppa -bin/qemu-system-i386 -%%NO_X86_TARGETS%%bin/qemu-system-lm32 -%%NO_X86_TARGETS%%bin/qemu-system-m68k -%%NO_X86_TARGETS%%bin/qemu-system-microblaze -%%NO_X86_TARGETS%%bin/qemu-system-microblazeel -%%NO_X86_TARGETS%%bin/qemu-system-mips -%%NO_X86_TARGETS%%bin/qemu-system-mips64 -%%NO_X86_TARGETS%%bin/qemu-system-mips64el -%%NO_X86_TARGETS%%bin/qemu-system-mipsel -%%NO_X86_TARGETS%%bin/qemu-system-moxie -%%NO_X86_TARGETS%%bin/qemu-system-nios2 -%%NO_X86_TARGETS%%bin/qemu-system-or1k -%%NO_X86_TARGETS%%bin/qemu-system-ppc -%%NO_X86_TARGETS%%bin/qemu-system-ppc64 -%%NO_X86_TARGETS%%bin/qemu-system-riscv32 -%%NO_X86_TARGETS%%bin/qemu-system-riscv64 -%%NO_X86_TARGETS%%bin/qemu-system-s390x -%%NO_X86_TARGETS%%bin/qemu-system-sh4 -%%NO_X86_TARGETS%%bin/qemu-system-sh4eb -%%NO_X86_TARGETS%%bin/qemu-system-sparc -%%NO_X86_TARGETS%%bin/qemu-system-sparc64 -%%NO_X86_TARGETS%%bin/qemu-system-tricore -%%NO_X86_TARGETS%%bin/qemu-system-unicore32 -bin/qemu-system-x86_64 -%%NO_X86_TARGETS%%bin/qemu-system-xtensa -%%NO_X86_TARGETS%%bin/qemu-system-xtensaeb -bin/qemu-x86_64 -man/man1/qemu.1.gz -man/man1/qemu-img.1.gz -man/man7/qemu-block-drivers.7.gz -man/man7/qemu-cpu-models.7.gz -man/man7/qemu-ga-ref.7.gz -man/man7/qemu-qmp-ref.7.gz -man/man8/qemu-ga.8.gz -man/man8/qemu-nbd.8.gz -@sample etc/qemu-ifup.sample -@sample etc/qemu-ifdown.sample -%%DATADIR%%/QEMU,tcx.bin -%%DATADIR%%/QEMU,cgthree.bin -%%DATADIR%%/bios-256k.bin -%%DATADIR%%/bios.bin -%%DATADIR%%/canyonlands.dtb -%%DATADIR%%/efi-e1000.rom -%%DATADIR%%/efi-e1000e.rom -%%DATADIR%%/efi-eepro100.rom -%%DATADIR%%/efi-ne2k_pci.rom -%%DATADIR%%/efi-pcnet.rom -%%DATADIR%%/efi-rtl8139.rom -%%DATADIR%%/efi-virtio.rom -%%DATADIR%%/efi-vmxnet3.rom -%%DATADIR%%/hppa-firmware.img -%%DATADIR%%/qemu_vga.ndrv -%%DATADIR%%/s390-netboot.img -%%DATADIR%%/u-boot-sam460-20100605.bin -%%DATADIR%%/vgabios.bin -%%DATADIR%%/vgabios-cirrus.bin -%%DATADIR%%/vgabios-qxl.bin -%%DATADIR%%/vgabios-stdvga.bin -%%DATADIR%%/vgabios-virtio.bin -%%DATADIR%%/vgabios-vmware.bin -%%DATADIR%%/palcode-clipper -%%DATADIR%%/ppc_rom.bin -%%DATADIR%%/openbios-ppc -%%DATADIR%%/openbios-sparc32 -%%DATADIR%%/openbios-sparc64 -%%DATADIR%%/pxe-e1000.rom -%%DATADIR%%/pxe-eepro100.rom -%%DATADIR%%/pxe-ne2k_pci.rom -%%DATADIR%%/pxe-rtl8139.rom -%%DATADIR%%/pxe-pcnet.rom -%%DATADIR%%/pxe-virtio.rom -%%DATADIR%%/petalogix-ml605.dtb -%%DATADIR%%/spapr-rtas.bin -%%DATADIR%%/slof.bin -%%DATADIR%%/s390-ccw.img -%%DATADIR%%/linuxboot.bin -%%LINUXBOOT_DMA%%%%DATADIR%%/linuxboot_dma.bin -%%DATADIR%%/multiboot.bin -%%DATADIR%%/sgabios.bin -%%DATADIR%%/skiboot.lid -%%DATADIR%%/trace-events-all -%%DATADIR%%/petalogix-s3adsp1800.dtb -%%DATADIR%%/bamboo.dtb -%%DATADIR%%/kvmvapic.bin -%%DATADIR%%/u-boot.e500 -%%DATADIR%%/keymaps/ar -%%DATADIR%%/keymaps/bepo -%%DATADIR%%/keymaps/cz -%%DATADIR%%/keymaps/da -%%DATADIR%%/keymaps/de -%%DATADIR%%/keymaps/de-ch -%%DATADIR%%/keymaps/en-gb -%%DATADIR%%/keymaps/en-us -%%DATADIR%%/keymaps/es -%%DATADIR%%/keymaps/et -%%DATADIR%%/keymaps/fi -%%DATADIR%%/keymaps/fo -%%DATADIR%%/keymaps/fr -%%DATADIR%%/keymaps/fr-be -%%DATADIR%%/keymaps/fr-ca -%%DATADIR%%/keymaps/fr-ch -%%DATADIR%%/keymaps/hr -%%DATADIR%%/keymaps/hu -%%DATADIR%%/keymaps/is -%%DATADIR%%/keymaps/it -%%DATADIR%%/keymaps/ja -%%DATADIR%%/keymaps/lt -%%DATADIR%%/keymaps/lv -%%DATADIR%%/keymaps/mk -%%DATADIR%%/keymaps/nl -%%DATADIR%%/keymaps/no -%%DATADIR%%/keymaps/pl -%%DATADIR%%/keymaps/pt -%%DATADIR%%/keymaps/pt-br -%%DATADIR%%/keymaps/ru -%%DATADIR%%/keymaps/sl -%%DATADIR%%/keymaps/sv -%%DATADIR%%/keymaps/th -%%DATADIR%%/keymaps/tr -%%DATADIR%%/pvh.bin -%%DATADIR%%/vgabios-bochs-display.bin -%%DATADIR%%/vgabios-ramfb.bin -share/icons/hicolor/128x128/apps/qemu.png -share/icons/hicolor/16x16/apps/qemu.png -share/icons/hicolor/24x24/apps/qemu.png -share/icons/hicolor/256x256/apps/qemu.png -share/icons/hicolor/32x32/apps/qemu.bmp -share/icons/hicolor/32x32/apps/qemu.png -share/icons/hicolor/48x48/apps/qemu.png -share/icons/hicolor/512x512/apps/qemu.png -share/icons/hicolor/64x64/apps/qemu.png -share/icons/hicolor/scalable/apps/qemu.svg -share/applications/qemu.desktop -%%GTK3%%share/locale/bg/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/de_DE/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/fr_FR/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/hu/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/it/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/tr/LC_MESSAGES/qemu.mo -%%GTK3%%share/locale/zh_CN/LC_MESSAGES/qemu.mo |