Re: QEMU
Muhammad Moinur Rahman <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.ppc |
|---|---|
| Message-ID | <CAKGCEjKq1NY8aPC5APx8269FzrYRTSHPtbEO0JK74BvVfRoF8w@mail.gmail.com> |
Hi everyone, This is a first build of qemu-2.12.0. Will commit once poudriere finishes(llvm 6 is killing my builder) building in all archs and versions. In case you want to advice or test. Kind regards, bofh On Fri, Jul 20, 2018 at 3:32 AM Jason Bacon <[email protected]> wrote: > On 07/19/18 14:09, Chuck Tuffli wrote: > > On Thu, Jul 12, 2018 at 8:09 AM, Jason Bacon <[email protected]> > wrote: > >> FYI, I get the exact same behavior under qemu 2.8.1 on Debian. > >> > >> So now we have similar symptoms in qemu 2.8.1, 2.9, and 2.12.50 on > FreeBSD > >> and Linux hosts. > > FWIW, on an Ubuntu 14.04 system with qemu-system-ppc64 version 2.0.0, > > the ppc64 snapshot ISO of 12.0, the OS appears to install correctly > > and subsequently boots correctly. > > > > --chuck > That's worth a lot, actually. > > The 12.0 snapshot also works on my FreeBSD 11.1 host with the stock qemu > package. Both keyboard and mouse input are processed. > > Interestingly, though, while 12.0 works, it seems to be a lot slower > than 11.1 under qemu. Below are times to get to the install screen. ( > I just close the qemu window as soon as it reaches that point, where > 11.1 won't accept keyboard input. ) > > FreeBSD cray.acadix bacon ~ 999: time qemu-ppc install freebsd-ppc.img > FreeBSD-12.0-CURRENT-powerpc-powerpc64-20180709-r336134-disc1.iso > + [ ! -e freebsd-ppc.img ] > + qemu-system-ppc64 -cdrom > FreeBSD-12.0-CURRENT-powerpc-powerpc64-20180709-r336134-disc1.iso -drive > 'file=freebsd-ppc.img,format=raw' -boot d > 217.327u 3.455s 4:21.41 84.4% 9628+6292k 94+2io 476pf+0w > > > FreeBSD cray.acadix bacon ~ 1000: time qemu-ppc install freebsd-ppc.img > Save/FreeBSD-11.1-RELEASE-powerpc-powerpc64-disc1.iso > + [ ! -e freebsd-ppc.img ] > + qemu-system-ppc64 -cdrom > Save/FreeBSD-11.1-RELEASE-powerpc-powerpc64-disc1.iso -drive > 'file=freebsd-ppc.img,format=raw' -boot d > 123.001u 1.748s 2:47.05 74.6% 9643+6302k 556+3io 0pf+0w > > Maybe these data will provide some clues to the ppc base developers... > > -- > Earth is a beta site. > > _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ppc To unsubscribe, send any mail to "[email protected]"
qemu-2.12.0.patch
(application/octet-stream, 14.6 KB)
Index: Makefile
===================================================================
--- Makefile (revision 475030)
+++ Makefile (working copy)
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= qemu
-PORTVERSION= 2.9.0
-PORTREVISION= 1
+PORTVERSION= 2.12.0
CATEGORIES= emulators
MASTER_SITES= http://wiki.qemu.org/download/
DIST_SUBDIR= qemu/${PORTVERSION}
@@ -23,7 +22,7 @@
MAKE_ENV+= BSD_MAKE="${MAKE}" V=1
.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} != "-utils"
USE_XORG= pixman
-USE_GNOME+= cairo glib20
+USE_GNOME+= cairo glib20 libxml2
ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 # XXX someone wants to debug sparc64 hosts?
.endif
@@ -92,6 +91,7 @@
--disable-linux-user --disable-linux-aio --disable-xen \
--enable-debug-info --python=${PYTHON_CMD} \
--extra-cflags=-I${WRKSRC}\ -I${LOCALBASE}/include\ -DPREFIX=\\\"\"${PREFIX}\\\"\"
+MAKE_JOBS_UNSAFE=yes
.include <bsd.port.options.mk>
@@ -172,7 +172,6 @@
${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifup.sample ${STAGEDIR}${PREFIX}/etc
${INSTALL_SCRIPT} ${FILESDIR}/qemu-ifdown.sample ${STAGEDIR}${PREFIX}/etc
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/qemu-*
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/ivshmem-*
post-install-DOCS-on:
@(cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DOCSDIR}/)
Index: distinfo
===================================================================
--- distinfo (revision 475030)
+++ distinfo (working copy)
@@ -1,5 +1,3 @@
-TIMESTAMP = 1500663832
-SHA256 (qemu/2.9.0/qemu-2.9.0.tar.bz2) = 00bfb217b1bb03c7a6c3261b819cfccbfb5a58e3e2ceff546327d271773c6c14
-SIZE (qemu/2.9.0/qemu-2.9.0.tar.bz2) = 28720490
-SHA256 (qemu/2.9.0/dtc-v1.4.0.tar.gz) = 39d0713efd82a27adc065ecb9ef36401c53d5ee87ae1764e2bb243fcd97488e3
-SIZE (qemu/2.9.0/dtc-v1.4.0.tar.gz) = 131893
+TIMESTAMP = 1532111907
+SHA256 (qemu/2.12.0/qemu-2.12.0.tar.bz2) = c9f4a147bc915d24df9784affc611a115f42d24720a89210b479f1ba7a3f679c
+SIZE (qemu/2.12.0/qemu-2.12.0.tar.bz2) = 41196232
Index: files/patch-Makefile
===================================================================
--- files/patch-Makefile (revision 475030)
+++ files/patch-Makefile (working copy)
@@ -1,6 +1,6 @@
---- Makefile.orig 2017-04-20 14:57:00 UTC
+--- Makefile.orig 2018-04-24 16:30:46 UTC
+++ Makefile
-@@ -206,9 +206,14 @@ LIBS+=-lz $(LIBS_TOOLS)
+@@ -350,10 +350,15 @@ LIBS+=-lz $(LIBS_TOOLS)
HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
ifdef BUILD_DOCS
@@ -9,13 +9,14 @@
+DOCS+=docs/qemu-qmp-ref.7 docs/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/qemu-qmp-ref.html docs/qemu-qmp-ref.txt docs/qemu-qmp-ref.7
- DOCS+=docs/qemu-ga-ref.html docs/qemu-ga-ref.txt docs/qemu-ga-ref.7
+ 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
+ DOCS+=docs/qemu-block-drivers.7
+endif
ifdef CONFIG_VIRTFS
DOCS+=fsdev/virtfs-proxy-helper.1
endif
-@@ -558,11 +563,13 @@ BLOBS=
+@@ -797,11 +802,13 @@ BLOBS=
endif
install-doc: $(DOCS)
@@ -23,20 +24,20 @@
$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
$(INSTALL_DATA) qemu-doc.html "$(DESTDIR)$(qemu_docdir)"
$(INSTALL_DATA) qemu-doc.txt "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) docs/qemu-qmp-ref.html "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) docs/qemu-qmp-ref.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"
-@@ -575,8 +582,10 @@ ifneq ($(TOOLS),)
+@@ -815,8 +822,10 @@ ifneq ($(TOOLS),)
endif
ifneq (,$(findstring qemu-ga,$(TOOLS)))
$(INSTALL_DATA) qemu-ga.8 "$(DESTDIR)$(mandir)/man8"
+ifndef NOPORTDOCS
- $(INSTALL_DATA) docs/qemu-ga-ref.html "$(DESTDIR)$(qemu_docdir)"
- $(INSTALL_DATA) docs/qemu-ga-ref.txt "$(DESTDIR)$(qemu_docdir)"
+ $(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/qemu-ga-ref.7 "$(DESTDIR)$(mandir)/man7"
+ $(INSTALL_DATA) docs/interop/qemu-ga-ref.7 "$(DESTDIR)$(mandir)/man7"
endif
endif
Index: files/patch-configure
===================================================================
--- files/patch-configure (revision 475030)
+++ files/patch-configure (working copy)
@@ -1,6 +1,6 @@
---- configure.orig 2017-04-20 14:57:00 UTC
+--- configure.orig 2018-04-24 16:30:46 UTC
+++ configure
-@@ -247,7 +247,7 @@
+@@ -369,7 +369,7 @@ DSOSUF=".so"
LDFLAGS_SHARED="-shared"
modules="no"
prefix="/usr/local"
@@ -7,9 +7,9 @@
-mandir="\${prefix}/share/man"
+mandir="\${prefix}/man"
datadir="\${prefix}/share"
+ firmwarepath="\${prefix}/share/qemu-firmware"
qemu_docdir="\${prefix}/share/doc/qemu"
- bindir="\${prefix}/bin"
-@@ -322,6 +322,10 @@
+@@ -449,6 +449,9 @@ numa=""
tcmalloc="no"
jemalloc="no"
replication="yes"
@@ -16,11 +16,10 @@
+pcap="no"
+pcap_create="no"
+bpf="no"
-+
+ vxhs=""
+ libxml2=""
- # parse CC options first
- for opt do
-@@ -887,6 +891,10 @@
+@@ -1030,6 +1033,10 @@ for opt do
;;
--enable-vnc-png) vnc_png="yes"
;;
@@ -31,16 +30,7 @@
--disable-slirp) slirp="no"
;;
--disable-vde) vde="no"
-@@ -2266,7 +2274,7 @@
- gtk_cflags="$gtk_cflags $x11_cflags"
- gtk_libs="$gtk_libs $x11_libs"
- fi
-- libs_softmmu="$gtk_libs $libs_softmmu"
-+ libs_softmmu="$gtk_libs -lintl $libs_softmmu"
- gtk="yes"
- elif test "$gtk" = "yes"; then
- feature_not_found "gtk" "Install gtk2 or gtk3 devel"
-@@ -2485,6 +2493,14 @@
+@@ -2799,6 +2806,14 @@ if ! check_include "ifaddrs.h" ; then
fi
##########################################
@@ -55,13 +45,13 @@
# VTE probe
if test "$vte" != "no"; then
-@@ -2644,6 +2660,50 @@
+@@ -2969,7 +2984,51 @@ EOF
fi
fi
+##########################################
+# pcap probe
-+
+
+if test "$pcap" = "yes" -a "$pcap" != "no"; then
+ cat > $TMPC << EOF
+#include <pcap.h>
@@ -103,10 +93,11 @@
+ fi
+ libs_softmmu="$libpcap $libs_softmmu"
+fi # test "$pcap"
-
++
##########################################
# VNC SASL detection
-@@ -3970,14 +4030,7 @@
+ if test "$vnc" = "yes" -a "$vnc_sasl" != "no" ; then
+@@ -4331,14 +4390,7 @@ fi
# Check if tools are available to build documentation.
if test "$docs" != "no" ; then
@@ -121,15 +112,15 @@
fi
# Search for bswap_32 function
-@@ -5026,6 +5079,7 @@
+@@ -5783,6 +5835,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
- echo "VNC SASL support $vnc_sasl"
-@@ -5204,6 +5258,15 @@
+@@ -6010,6 +6063,15 @@ fi
if test "$profiler" = "yes" ; then
echo "CONFIG_PROFILER=y" >> $config_host_mak
fi
@@ -145,13 +136,13 @@
if test "$slirp" = "yes" ; then
echo "CONFIG_SLIRP=y" >> $config_host_mak
echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
-@@ -5415,6 +5478,9 @@
+@@ -6247,6 +6309,9 @@ fi
+ # if this macro is set.
if test "$have_fsxattr" = "yes" ; then
echo "HAVE_FSXATTR=y" >> $config_host_mak
- fi
++fi
+if test "$have_ifaddrs_h" = "yes" ; then
+ echo "HAVE_IFADDRS_H=y" >> $config_host_mak
-+fi
+ fi
if test "$vte" = "yes" ; then
echo "CONFIG_VTE=y" >> $config_host_mak
- echo "VTE_CFLAGS=$vte_cflags" >> $config_host_mak
Index: files/patch-ui_x__keymap.c
===================================================================
--- files/patch-ui_x__keymap.c (revision 475030)
+++ files/patch-ui_x__keymap.c (nonexistent)
@@ -1,15 +0,0 @@
---- ui/x_keymap.c.orig 2015-12-16 00:59:05 UTC
-+++ ui/x_keymap.c
-@@ -43,9 +43,9 @@ static const uint8_t x_keycode_to_pc_key
- 0xb5, /* 112 Divide */
- 0xb8, /* 113 Alt-R */
- 0xc6, /* 114 Break */
-- 0x0, /* 115 */
-- 0x0, /* 116 */
-- 0x0, /* 117 */
-+ 0xdb, /* 115 left windows key */
-+ 0xdc, /* 116 right windows key */
-+ 0xdd, /* 117 right menu key */
- 0x0, /* 118 */
- 0x0, /* 119 */
- 0x0, /* 120 */
Property changes on: files/patch-ui_x__keymap.c
___________________________________________________________________
Deleted: fbsd:nokeywords
## -1 +0,0 ##
-yes
\ No newline at end of property
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:mime-type
## -1 +0,0 ##
-text/plain
\ No newline at end of property
Index: files/pcap-patch
===================================================================
--- files/pcap-patch (revision 475030)
+++ files/pcap-patch (working copy)
@@ -1,6 +1,6 @@
---- qapi-schema.json.orig 2017-07-24 12:07:10 UTC
-+++ qapi-schema.json
-@@ -3882,6 +3882,19 @@
+--- qapi/net.json.orig 2018-04-24 16:30:47 UTC
++++ qapi/net.json
+@@ -388,6 +388,19 @@
'*helper': 'str' } }
##
@@ -20,37 +20,37 @@
# @NetdevHubPortOptions:
#
# Connect two or more net clients through a software hub.
-@@ -3944,7 +3957,7 @@
+@@ -454,7 +467,7 @@
##
{ 'enum': 'NetClientDriver',
- 'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde', 'dump',
+ 'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde',
- 'bridge', 'hubport', 'netmap', 'vhost-user' ] }
+ 'bridge', 'hubport', 'netmap', 'vhost-user', 'pcap' ] }
##
# @Netdev:
-@@ -3967,6 +3980,7 @@
- 'nic': 'NetLegacyNicOptions',
+@@ -478,6 +491,7 @@
'user': 'NetdevUserOptions',
'tap': 'NetdevTapOptions',
+ 'l2tpv3': 'NetdevL2TPv3Options',
+ 'pcap': 'NetdevPcapOptions',
- 'l2tpv3': 'NetdevL2TPv3Options',
'socket': 'NetdevSocketOptions',
'vde': 'NetdevVdeOptions',
-@@ -4005,7 +4019,7 @@
+ 'bridge': 'NetdevBridgeOptions',
+@@ -514,7 +528,7 @@
##
{ 'enum': 'NetLegacyOptionsType',
'data': ['none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde',
-- 'dump', 'bridge', 'netmap', 'vhost-user'] }
-+ 'dump', 'bridge', 'netmap', 'vhost-user', 'pcap' ] }
+- 'bridge', 'netmap', 'vhost-user'] }
++ 'bridge', 'netmap', 'vhost-user', 'pcap'] }
##
# @NetLegacyOptions:
-@@ -4022,6 +4036,7 @@
- 'nic': 'NetLegacyNicOptions',
+@@ -532,6 +546,7 @@
'user': 'NetdevUserOptions',
'tap': 'NetdevTapOptions',
+ 'l2tpv3': 'NetdevL2TPv3Options',
+ 'pcap': 'NetdevPcapOptions',
- 'l2tpv3': 'NetdevL2TPv3Options',
'socket': 'NetdevSocketOptions',
'vde': 'NetdevVdeOptions',
+ 'bridge': 'NetdevBridgeOptions',
Index: files/pcap-patch-net_clients.h
===================================================================
--- files/pcap-patch-net_clients.h (revision 475030)
+++ files/pcap-patch-net_clients.h (working copy)
@@ -1,13 +1,13 @@
---- net/clients.h.orig 2017-03-05 10:36:13.475005000 -0700
-+++ net/clients.h 2017-03-05 10:35:30.412539000 -0700
-@@ -61,4 +61,10 @@
-
+--- 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 */
Index: files/pcap-patch-net_net.c
===================================================================
--- files/pcap-patch-net_net.c (revision 475030)
+++ files/pcap-patch-net_net.c (working copy)
@@ -1,6 +1,6 @@
---- net/net.c.orig 2016-12-20 13:16:48.000000000 -0700
-+++ net/net.c 2017-03-05 08:04:17.606428000 -0700
-@@ -48,6 +48,11 @@
+--- 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"
@@ -12,7 +12,7 @@
/* Net bridge is currently not supported for W32. */
#if !defined(_WIN32)
# define CONFIG_NET_BRIDGE
-@@ -933,7 +938,225 @@
+@@ -929,7 +934,225 @@ static int net_init_nic(const Netdev *netdev, const ch
return idx;
}
@@ -22,7 +22,7 @@
+#include <net/bpf.h>
+#endif
+#include <pcap.h>
-+
+
+struct PCAPState {
+ NetClientState nc;
+ pcap_t *handle;
@@ -221,7 +221,7 @@
+ }
+ qemu_set_fd_handler(i, pcap_send, NULL, s);
+#endif /* _WIN32 */
-
++
+ return 0;
+
+fail:
@@ -238,13 +238,13 @@
static int (* const net_client_init_fun[NET_CLIENT_DRIVER__MAX])(
const Netdev *netdev,
const char *name,
-@@ -961,6 +1182,9 @@
+@@ -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
++#endif
+#ifdef CONFIG_PCAP
+ [NET_CLIENT_DRIVER_PCAP] = net_init_pcap,
-+#endif
+ #endif
};
-
Index: pkg-plist
===================================================================
--- pkg-plist (revision 475030)
+++ pkg-plist (working copy)
@@ -1,5 +1,3 @@
-bin/ivshmem-server
-bin/ivshmem-client
bin/qemu-ga
bin/qemu-i386
bin/qemu-img
@@ -11,6 +9,7 @@
%%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
@@ -26,6 +25,8 @@
%%NO_X86_TARGETS%%bin/qemu-system-ppc
%%NO_X86_TARGETS%%bin/qemu-system-ppc64
%%NO_X86_TARGETS%%bin/qemu-system-ppcemb
+%%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
@@ -38,6 +39,7 @@
%%NO_X86_TARGETS%%bin/qemu-system-xtensaeb
bin/qemu-x86_64
man/man1/qemu.1.gz
+man/man7/qemu-block-drivers.7.gz
man/man1/qemu-img.1.gz
man/man7/qemu-ga-ref.7.gz
man/man7/qemu-qmp-ref.7.gz
@@ -47,9 +49,9 @@
@sample etc/qemu-ifdown.sample
%%DATADIR%%/QEMU,tcx.bin
%%DATADIR%%/QEMU,cgthree.bin
-%%DATADIR%%/acpi-dsdt.aml
%%DATADIR%%/bios-256k.bin
%%DATADIR%%/bios.bin
+%%DATADIR%%/canyonlands.dtb
%%DATADIR%%/efi-e1000.rom
%%DATADIR%%/efi-e1000e.rom
%%DATADIR%%/efi-eepro100.rom
@@ -58,6 +60,10 @@
%%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