summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authoradam <adam>2017-04-22 20:18:09 +0000
committeradam <adam>2017-04-22 20:18:09 +0000
commit3379196c315e8bd84291afb17f45fe98792ca152 (patch)
tree70ae51efd6cddd3ca0c24d04fd7ed6abc6d4911a /emulators
parent62ca410ded0897d3cb00499fa28250caa8449dd8 (diff)
downloadpkgsrc-3379196c315e8bd84291afb17f45fe98792ca152.tar.gz
Changes 2.9.0:
== Warning of unsupported host systems == This release includes changes to the configure script so that it will now report some host operating systems and platforms as "unsupported". These are host setups which we do not have access to and are thus unable to test. They will continue to work in this 2.9 release (though configure will warn you about the unsupported status), but in a future QEMU release we may drop support for those hosts unless somebody volunteers to help us with maintaining them (and can provide build/CI machines). This affects the CPU architectures: * ia64 and the OSes: * GNU/kFreeBSD * DragonFly BSD * NetBSD * OpenBSD * Solaris * AIX * Haiku == System emulation == === Incompatible changes === * Improvements to "-drive": ** "-drive"'s <tt>if</tt> option defaults to "none" on machines that do not have an onboard IDE or SCSI controller. ** "-drive if=scsi" does not work anymore with PC machine types, as it created an obsolete SCSI controller model. QEMU supports better controllers (megasas, mptsas, virtio-scsi) but which to use depends on the guest you are using. ** "Orphan" -drive options, where an <tt>if</tt> option is not supported by the emulated machine (e.g. "if=mtd" on x86) is now a fatal error. It had been triggering a warning since version 2.2. === Future incompatible changes === * Three options are using different names on the command line and in configuration file. In particular: ** The "acpi" configuration file section matches command-line option "acpitable"; ** The "boot-opts" configuration file section matches command-line option "boot"; ** The "smp-opts" configuration file section matches command-line option "smp". :-readconfig will standardize on the name for the command line option. * Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them. * Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users. * For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning. The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
Diffstat (limited to 'emulators')
-rw-r--r--emulators/qemu/Makefile10
-rw-r--r--emulators/qemu/PLIST15
-rw-r--r--emulators/qemu/distinfo15
-rw-r--r--emulators/qemu/patches/patch-Makefile.objs8
-rw-r--r--emulators/qemu/patches/patch-target-i386_bpt__helper.c31
-rw-r--r--emulators/qemu/patches/patch-target-i386_helper.h25
-rw-r--r--emulators/qemu/patches/patch-target-i386_translate.c93
7 files changed, 26 insertions, 171 deletions
diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile
index 2013b37ad19..c2a53be00ee 100644
--- a/emulators/qemu/Makefile
+++ b/emulators/qemu/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.167 2017/04/07 13:32:52 ryoon Exp $
+# $NetBSD: Makefile,v 1.168 2017/04/22 20:18:09 adam Exp $
-DISTNAME= qemu-2.8.1
+DISTNAME= qemu-2.9.0
CATEGORIES= emulators
MASTER_SITES= http://download.qemu-project.org/
-EXTRACT_SUFX= .tar.bz2
+EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.qemu-project.org/
@@ -65,7 +65,7 @@ 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-or32
+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-ppcemb
@@ -92,7 +92,7 @@ BUILDLINK_PASSTHRU_RPATHDIRS+= /usr/lib
INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/doc/qemu
UE_ARCHS+= alpha arm armeb cris i386 m68k microblaze mips mipsel
-UE_ARCHS+= or32 ppc ppc64 ppc64abi32 sh4 sh4eb sparc sparc32plus
+UE_ARCHS+= or1k ppc ppc64 ppc64abi32 sh4 sh4eb sparc sparc32plus
UE_ARCHS+= sparc64 x86_64 microblazeel s390x unicore32
.if ${OPSYS} == "NetBSD"
diff --git a/emulators/qemu/PLIST b/emulators/qemu/PLIST
index 332989f6f1e..836a82e0795 100644
--- a/emulators/qemu/PLIST
+++ b/emulators/qemu/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.49 2017/02/27 05:19:29 adam Exp $
+@comment $NetBSD: PLIST,v 1.50 2017/04/22 20:18:09 adam Exp $
${PLIST.ivshmem}bin/ivshmem-client
${PLIST.ivshmem}bin/ivshmem-server
${PLIST.alpha}bin/qemu-alpha
@@ -15,7 +15,7 @@ ${PLIST.microblazeel}bin/qemu-microblazeel
${PLIST.mips}bin/qemu-mips
${PLIST.mipsel}bin/qemu-mipsel
${PLIST.nbd}bin/qemu-nbd
-${PLIST.or32}bin/qemu-or32
+${PLIST.or1k}bin/qemu-or1k
${PLIST.ppc}bin/qemu-ppc
${PLIST.ppc64}bin/qemu-ppc64
${PLIST.ppc64abi32}bin/qemu-ppc64abi32
@@ -40,7 +40,8 @@ bin/qemu-system-mips64
bin/qemu-system-mips64el
bin/qemu-system-mipsel
bin/qemu-system-moxie
-bin/qemu-system-or32
+bin/qemu-system-nios2
+bin/qemu-system-or1k
bin/qemu-system-ppc
bin/qemu-system-ppc64
bin/qemu-system-ppcemb
@@ -57,11 +58,17 @@ bin/qemu-system-xtensaeb
${PLIST.x86_64}bin/qemu-x86_64
man/man1/qemu-img.1
man/man1/qemu.1
+man/man7/qemu-ga-ref.7
+man/man7/qemu-qmp-ref.7
man/man8/qemu-ga.8
man/man8/qemu-nbd.8
share/doc/qemu/Makefile.multinode-NetBSD
share/doc/qemu/qemu-doc.html
-share/doc/qemu/qmp-commands.txt
+share/doc/qemu/qemu-doc.txt
+share/doc/qemu/qemu-ga-ref.html
+share/doc/qemu/qemu-ga-ref.txt
+share/doc/qemu/qemu-qmp-ref.html
+share/doc/qemu/qemu-qmp-ref.txt
${PLIST.gtk}share/locale/bg/LC_MESSAGES/qemu.mo
${PLIST.gtk}share/locale/de_DE/LC_MESSAGES/qemu.mo
${PLIST.gtk}share/locale/fr_FR/LC_MESSAGES/qemu.mo
diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo
index 212cfc1f44c..d92b1682246 100644
--- a/emulators/qemu/distinfo
+++ b/emulators/qemu/distinfo
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.124 2017/04/15 17:38:48 riastradh Exp $
+$NetBSD: distinfo,v 1.125 2017/04/22 20:18:09 adam Exp $
-SHA1 (qemu-2.8.1.tar.bz2) = 224289c5e568e400920363820a0647e2aca569e7
-RMD160 (qemu-2.8.1.tar.bz2) = 93f71138d19c871195c9e0b1a7ba66275773f93a
-SHA512 (qemu-2.8.1.tar.bz2) = 0397b4029cdcb77ed053c44b3579a3f34894038e6fc6b4aa88de14515f5a78bf2f41c5e865f37111529f567c85d2f1c4deefae47dde54f76eac79410e5b2bdda
-Size (qemu-2.8.1.tar.bz2) = 28366270 bytes
-SHA1 (patch-Makefile.objs) = f40deeed5482a24369e898411bb611be418dc3ca
+SHA1 (qemu-2.9.0.tar.xz) = 5cc63c6cababaaa7d0685e8b32bacf5022873ebc
+RMD160 (qemu-2.9.0.tar.xz) = 700e714204258cbb1cb9831e47e3d8cde4b67d20
+SHA512 (qemu-2.9.0.tar.xz) = a5259b888ac336db559f4483a9c50ad434fb82aedce37d9be957e79f696736509af1841489ee10e7362ef1506f3a04786c483a2e37d342b2bec46f0a726fb60f
+Size (qemu-2.9.0.tar.xz) = 22830688 bytes
+SHA1 (patch-Makefile.objs) = 8a538c5a55bfb7c3556b77a0eac2f055b0cf8692
SHA1 (patch-configure) = 4d6e0737cfbd9efcd02ab43c219fed0f0a1a55a9
SHA1 (patch-default-configs_pci.mak) = 2162550a68de514c8fe9e255df88f8a0a07ee6c7
SHA1 (patch-disas_libvixl_vixl_a64_disasm-a64.cc) = 0660a0c2d37c332fcd1e00edb2dc3c52fe179cc9
@@ -20,7 +20,4 @@ SHA1 (patch-hw_ppc_mac__oldworld.c) = b71667ab281dc23c9d971dc8754eeefc879bd1d7
SHA1 (patch-memory.c) = 9f94de7799ef80931fb1de572e5603894f3fb328
SHA1 (patch-scripts_qemu-binfmt-conf.sh) = a59c227e5891efe201eb2b8af15fb0832a1b20d0
SHA1 (patch-slirp_tcp__subr.c) = f011c9dc58282e61b26017547a9884f30a6e6154
-SHA1 (patch-target-i386_bpt__helper.c) = c2aacda7cabb4dcc507e260c0d74a976733a2114
-SHA1 (patch-target-i386_helper.h) = af5316b8796f1d9bf70becea9f09245ec0e6e36c
-SHA1 (patch-target-i386_translate.c) = 837c8f348cfd6e027a6292df7d95381020f90825
SHA1 (patch-tests_Makefile.include) = 42345d697cb2e324dccf1d68bd8d61e8001c6162
diff --git a/emulators/qemu/patches/patch-Makefile.objs b/emulators/qemu/patches/patch-Makefile.objs
index d2b3b5323f0..cae44427156 100644
--- a/emulators/qemu/patches/patch-Makefile.objs
+++ b/emulators/qemu/patches/patch-Makefile.objs
@@ -1,8 +1,8 @@
-$NetBSD: patch-Makefile.objs,v 1.2 2016/09/04 09:21:04 ryoon Exp $
+$NetBSD: patch-Makefile.objs,v 1.3 2017/04/22 20:18:10 adam Exp $
---- Makefile.objs.orig 2016-09-02 15:34:17.000000000 +0000
+--- Makefile.objs.orig 2017-04-20 14:57:00.000000000 +0000
+++ Makefile.objs
-@@ -113,8 +113,10 @@ qga-vss-dll-obj-y = qga/
+@@ -110,8 +110,10 @@ qga-vss-dll-obj-y = qga/
######################################################################
# contrib
@@ -10,6 +10,6 @@ $NetBSD: patch-Makefile.objs,v 1.2 2016/09/04 09:21:04 ryoon Exp $
ivshmem-client-obj-y = contrib/ivshmem-client/
ivshmem-server-obj-y = contrib/ivshmem-server/
+endif
-
+ libvhost-user-obj-y = contrib/libvhost-user/
######################################################################
diff --git a/emulators/qemu/patches/patch-target-i386_bpt__helper.c b/emulators/qemu/patches/patch-target-i386_bpt__helper.c
deleted file mode 100644
index b10e1165be3..00000000000
--- a/emulators/qemu/patches/patch-target-i386_bpt__helper.c
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD: patch-target-i386_bpt__helper.c,v 1.1 2017/03/04 15:11:11 spz Exp $
-
-from upstream:
- commit c52ab08aee6f7d4717fc6b517174043126bd302f
- Author: Doug Evans <dje@google.com>
- Date: Tue Dec 6 23:06:30 2016 +0000
-
- target-i386: Fix eflags.TF/#DB handling of syscall/sysret insns
-
- The syscall and sysret instructions behave a bit differently:
- TF is checked after the instruction completes.
- This allows the o/s to disable #DB at a syscall by adding TF to FMASK.
- And then when the sysret is executed the #DB is taken "as if" the
- syscall insn just completed.
-
---- target-i386/bpt_helper.c.orig 2016-12-20 20:16:49.000000000 +0000
-+++ target-i386/bpt_helper.c 2017-03-03 04:30:46.000000000 +0000
-@@ -244,6 +244,13 @@ void helper_single_step(CPUX86State *env
- raise_exception(env, EXCP01_DB);
- }
-
-+void helper_rechecking_single_step(CPUX86State *env)
-+{
-+ if ((env->eflags & TF_MASK) != 0) {
-+ helper_single_step(env);
-+ }
-+}
-+
- void helper_set_dr(CPUX86State *env, int reg, target_ulong t0)
- {
- #ifndef CONFIG_USER_ONLY
diff --git a/emulators/qemu/patches/patch-target-i386_helper.h b/emulators/qemu/patches/patch-target-i386_helper.h
deleted file mode 100644
index 9c0396aaa72..00000000000
--- a/emulators/qemu/patches/patch-target-i386_helper.h
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-target-i386_helper.h,v 1.1 2017/03/04 15:11:11 spz Exp $
-
-from upstream:
- commit c52ab08aee6f7d4717fc6b517174043126bd302f
- Author: Doug Evans <dje@google.com>
- Date: Tue Dec 6 23:06:30 2016 +0000
-
- target-i386: Fix eflags.TF/#DB handling of syscall/sysret insns
-
- The syscall and sysret instructions behave a bit differently:
- TF is checked after the instruction completes.
- This allows the o/s to disable #DB at a syscall by adding TF to FMASK.
- And then when the sysret is executed the #DB is taken "as if" the
- syscall insn just completed.
-
---- target-i386/helper.h.orig 2016-12-20 20:16:50.000000000 +0000
-+++ target-i386/helper.h 2017-03-03 04:41:00.000000000 +0000
-@@ -79,6 +79,7 @@ DEF_HELPER_2(cmpxchg16b_unlocked, void,
- DEF_HELPER_2(cmpxchg16b, void, env, tl)
- #endif
- DEF_HELPER_1(single_step, void, env)
-+DEF_HELPER_1(rechecking_single_step, void, env)
- DEF_HELPER_1(cpuid, void, env)
- DEF_HELPER_1(rdtsc, void, env)
- DEF_HELPER_1(rdtscp, void, env)
diff --git a/emulators/qemu/patches/patch-target-i386_translate.c b/emulators/qemu/patches/patch-target-i386_translate.c
deleted file mode 100644
index 65db0c4018e..00000000000
--- a/emulators/qemu/patches/patch-target-i386_translate.c
+++ /dev/null
@@ -1,93 +0,0 @@
-$NetBSD: patch-target-i386_translate.c,v 1.1 2017/03/04 15:11:11 spz Exp $
-
-from upstream:
- commit c52ab08aee6f7d4717fc6b517174043126bd302f
- Author: Doug Evans <dje@google.com>
- Date: Tue Dec 6 23:06:30 2016 +0000
-
- target-i386: Fix eflags.TF/#DB handling of syscall/sysret insns
-
- The syscall and sysret instructions behave a bit differently:
- TF is checked after the instruction completes.
- This allows the o/s to disable #DB at a syscall by adding TF to FMASK.
- And then when the sysret is executed the #DB is taken "as if" the
- syscall insn just completed.
-
- commit 410e98146ffde201ab4c778823ac8beaa74c4c3f
- Author: Doug Evans <dje@google.com>
- Date: Sat Dec 24 20:29:33 2016 +0000
-
- target/i386: Fix bad patch application to translate.c
-
- In commit c52ab08aee6f7d4717fc6b517174043126bd302f,
- the patch snippet for the "syscall" insn got applied to "iret".
-
---- target-i386/translate.c.orig 2016-12-20 20:16:50.000000000 +0000
-+++ target-i386/translate.c 2017-03-03 04:39:24.000000000 +0000
-@@ -2500,8 +2500,10 @@ static void gen_bnd_jmp(DisasContext *s)
- }
-
- /* Generate an end of block. Trace exception is also generated if needed.
-- If IIM, set HF_INHIBIT_IRQ_MASK if it isn't already set. */
--static void gen_eob_inhibit_irq(DisasContext *s, bool inhibit)
-+ If INHIBIT, set HF_INHIBIT_IRQ_MASK if it isn't already set.
-+ If RECHECK_TF, emit a rechecking helper for #DB, ignoring the state of
-+ S->TF. This is used by the syscall/sysret insns. */
-+static void gen_eob_worker(DisasContext *s, bool inhibit, bool recheck_tf)
- {
- gen_update_cc_op(s);
-
-@@ -2517,6 +2519,9 @@ static void gen_eob_inhibit_irq(DisasCon
- }
- if (s->singlestep_enabled) {
- gen_helper_debug(cpu_env);
-+ } else if (recheck_tf) {
-+ gen_helper_rechecking_single_step(cpu_env);
-+ tcg_gen_exit_tb(0);
- } else if (s->tf) {
- gen_helper_single_step(cpu_env);
- } else {
-@@ -2525,10 +2530,17 @@ static void gen_eob_inhibit_irq(DisasCon
- s->is_jmp = DISAS_TB_JUMP;
- }
-
-+/* End of block.
-+ If INHIBIT, set HF_INHIBIT_IRQ_MASK if it isn't already set. */
-+static void gen_eob_inhibit_irq(DisasContext *s, bool inhibit)
-+{
-+ gen_eob_worker(s, inhibit, false);
-+}
-+
- /* End of block, resetting the inhibit irq flag. */
- static void gen_eob(DisasContext *s)
- {
-- gen_eob_inhibit_irq(s, false);
-+ gen_eob_worker(s, false, false);
- }
-
- /* generate a jump to eip. No segment change must happen before as a
-@@ -7104,7 +7116,10 @@ static target_ulong disas_insn(CPUX86Sta
- gen_update_cc_op(s);
- gen_jmp_im(pc_start - s->cs_base);
- gen_helper_syscall(cpu_env, tcg_const_i32(s->pc - pc_start));
-- gen_eob(s);
-+ /* TF handling for the syscall insn is different. The TF bit is checked
-+ after the syscall insn completes. This allows #DB to not be
-+ generated after one has entered CPL0 if TF is set in FMASK. */
-+ gen_eob_worker(s, false, true);
- break;
- case 0x107: /* sysret */
- if (!s->pe) {
-@@ -7115,7 +7130,11 @@ static target_ulong disas_insn(CPUX86Sta
- if (s->lma) {
- set_cc_op(s, CC_OP_EFLAGS);
- }
-- gen_eob(s);
-+ /* TF handling for the sysret insn is different. The TF bit is
-+ checked after the sysret insn completes. This allows #DB to be
-+ generated "as if" the syscall insn in userspace has just
-+ completed. */
-+ gen_eob_worker(s, false, true);
- }
- break;
- #endif