From dfb3804d478bce02350bdf87534dc7dd3d1ded51 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Fri, 14 Mar 2014 15:39:36 +0100 Subject: [PATCH 01/13] sasl: Avoid 'Could not find keytab file' in syslog The "keytab" specification in "qemu.sasl" only makes sense if "gssapi" is selected in "mech_list". Even if the latter is not done (ie. "gssapi" is not selected), the cyrus-sasl library tries to open the specified keytab file, although nothing has a use for it outside the gssapi backend. Since the default keytab file "/etc/qemu/krb5.tab" is usually absent, the cyrus-sasl library emits a warning to syslog at startup, which tends to annoy users (who didn't ask for gssapi in the first place). Comment out the keytab specification per default. "qemu-doc.texi" already correctly explains how to use "mech_list: gssapi" together with "keytab:". See also: - upstream libvirt commit fe772f24, - Red Hat Bugzilla . Signed-off-by: Laszlo Ersek ACKed-By: Cole Robinson Signed-off-by: Michael Tokarev --- qemu.sasl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qemu.sasl b/qemu.sasl index 9dc8323f1d..64fdef3d5b 100644 --- a/qemu.sasl +++ b/qemu.sasl @@ -22,7 +22,9 @@ mech_list: digest-md5 # Some older builds of MIT kerberos on Linux ignore this option & # instead need KRB5_KTNAME env var. # For modern Linux, and other OS, this should be sufficient -keytab: /etc/qemu/krb5.tab +# +# There is no default value here, uncomment if you need this +#keytab: /etc/qemu/krb5.tab # If using digest-md5 for username/passwds, then this is the file # containing the passwds. Use 'saslpasswd2 -a qemu [username]' From 6d585ca55999aec2bcfcbf04c3cbecbb952b7302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Wed, 12 Mar 2014 14:13:50 +0000 Subject: [PATCH 02/13] .travis.yml: add a new build target with non-core devlibs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The current builds don't include all the features which are auto-detected and then disabled when the appropriate test packages don't exist. I've added another target that enables all known additional packages for increased coverage. I didn't add it to the core package list to reduce build time. Signed-off-by: Alex Bennée Reviewed-by: Stefan Hajnoczi Signed-off-by: Michael Tokarev --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index c7ff4da29c..286cf6210f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,6 +46,10 @@ matrix: - env: TARGETS=i386-softmmu,x86_64-softmmu EXTRA_CONFIG="--enable-debug --enable-tcg-interpreter" compiler: gcc + # All the extra -dev packages + - env: TARGETS=i386-softmmu,x86_64-softmmu + EXTRA_PKGS="libaio-dev libcap-ng-dev libattr1-dev libbrlapi-dev uuid-dev libusb-1.0.0-dev" + compiler: gcc # Currently configure doesn't force --disable-pie - env: TARGETS=i386-softmmu,x86_64-softmmu EXTRA_CONFIG="--enable-gprof --enable-gcov --disable-pie" From 86c3b20a5f654ae444ba6bd1a7b0516e0a17541d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Wed, 12 Mar 2014 14:13:51 +0000 Subject: [PATCH 03/13] .travis.yml: re-enable lttng user space trace test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This build was disabled while the lttng tracing was broken. Stefan has recently submitted a pull request with it re-enabled. Signed-off-by: Alex Bennée Reviewed-by: Stefan Hajnoczi Signed-off-by: Michael Tokarev --- .travis.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 286cf6210f..1d7842102c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,8 +69,7 @@ matrix: EXTRA_CONFIG="--enable-trace-backend=ftrace" TEST_CMD="" compiler: gcc - # This disabled make check for the ftrace backend which needs more setting up - # Currently broken on 12.04 due to mis-packaged liburcu and changed API, will be pulled. - #- env: TARGETS=i386-softmmu,x86_64-softmmu - # EXTRA_PKGS="liblttng-ust-dev liburcu-dev" - # EXTRA_CONFIG="--enable-trace-backend=ust" + - env: TARGETS=i386-softmmu,x86_64-softmmu + EXTRA_PKGS="liblttng-ust-dev liburcu-dev" + EXTRA_CONFIG="--enable-trace-backend=ust" + compiler: gcc From cc13eead53b2e4cf5f209fec606aebf11c1dc8a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Wed, 12 Mar 2014 14:13:52 +0000 Subject: [PATCH 04/13] .travis.yml: trivial whitespace fixup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Purely cosmetic but satisfies my OCD. Signed-off-by: Alex Bennée Reviewed-by: Stefan Hajnoczi Signed-off-by: Michael Tokarev --- .travis.yml | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1d7842102c..0dbf2da545 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,23 +14,23 @@ env: - GUI_PKGS="libgtk-3-dev libvte-2.90-dev libsdl1.2-dev libpng12-dev libpixman-1-dev" - EXTRA_PKGS="" matrix: - - TARGETS=alpha-softmmu,alpha-linux-user - - TARGETS=arm-softmmu,arm-linux-user - - TARGETS=aarch64-softmmu,aarch64-linux-user - - TARGETS=cris-softmmu - - TARGETS=i386-softmmu,x86_64-softmmu - - TARGETS=lm32-softmmu - - TARGETS=m68k-softmmu - - TARGETS=microblaze-softmmu,microblazeel-softmmu - - TARGETS=mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu - - TARGETS=moxie-softmmu - - TARGETS=or32-softmmu, - - TARGETS=ppc-softmmu,ppc64-softmmu,ppcemb-softmmu - - TARGETS=s390x-softmmu - - TARGETS=sh4-softmmu,sh4eb-softmmu - - TARGETS=sparc-softmmu,sparc64-softmmu - - TARGETS=unicore32-softmmu - - TARGETS=xtensa-softmmu,xtensaeb-softmmu + - TARGETS=alpha-softmmu,alpha-linux-user + - TARGETS=arm-softmmu,arm-linux-user + - TARGETS=aarch64-softmmu,aarch64-linux-user + - TARGETS=cris-softmmu + - TARGETS=i386-softmmu,x86_64-softmmu + - TARGETS=lm32-softmmu + - TARGETS=m68k-softmmu + - TARGETS=microblaze-softmmu,microblazeel-softmmu + - TARGETS=mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu + - TARGETS=moxie-softmmu + - TARGETS=or32-softmmu, + - TARGETS=ppc-softmmu,ppc64-softmmu,ppcemb-softmmu + - TARGETS=s390x-softmmu + - TARGETS=sh4-softmmu,sh4eb-softmmu + - TARGETS=sparc-softmmu,sparc64-softmmu + - TARGETS=unicore32-softmmu + - TARGETS=xtensa-softmmu,xtensaeb-softmmu before_install: - git submodule update --init --recursive - sudo apt-get update -qq From 39d16d29c81295be72dbae6e6bc7adc58deacb41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Wed, 12 Mar 2014 14:13:53 +0000 Subject: [PATCH 05/13] .travis.yml: add IRC notifications for build failures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I'm trying to avoid spamming the IRC channel (not overly likely as builds take a while). So failure will always be reported but if the build continues to work then the IRC notifications will be quiet. Note any GitHub based repository with Travis enabled will use this notification. If it proves to be too spammy we may want to ask users not to use Travis themselves although this seems sub-optimal. Signed-off-by: Alex Bennée Reviewed-by: Stefan Hajnoczi Signed-off-by: Michael Tokarev --- .travis.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.travis.yml b/.travis.yml index 0dbf2da545..04da973632 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,12 @@ python: compiler: - gcc - clang +notifications: + irc: + channels: + - "irc.oftc.net#qemu" + on_success: change + on_failure: always env: global: - TEST_CMD="make check" From 9d5614d582d23ec96b167583557bf3f25f64f050 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sun, 16 Feb 2014 12:12:38 +0100 Subject: [PATCH 06/13] hw/timer/grlib_gptimer: Avoid integer overflows The GPTIMER uses 32-bit registers. Use a 64-bit operation to get the ptimer count, otherwise we end up with a count of 0 for GPTIMER counter values of 0xffffffff. Use the GPTIMER counter value for tracing to avoid an overflow of the 32-bit value passed to trace_grlib_gptimer_enable(). Reviewed-by: Fabien Chouteau Signed-off-by: Sebastian Huber Signed-off-by: Michael Tokarev --- hw/timer/grlib_gptimer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/timer/grlib_gptimer.c b/hw/timer/grlib_gptimer.c index 74c16d6c90..7672d3ad8a 100644 --- a/hw/timer/grlib_gptimer.c +++ b/hw/timer/grlib_gptimer.c @@ -106,9 +106,9 @@ static void grlib_gptimer_enable(GPTimer *timer) /* ptimer is triggered when the counter reach 0 but GPTimer is triggered at underflow. Set count + 1 to simulate the GPTimer behavior. */ - trace_grlib_gptimer_enable(timer->id, timer->counter + 1); + trace_grlib_gptimer_enable(timer->id, timer->counter); - ptimer_set_count(timer->ptimer, timer->counter + 1); + ptimer_set_count(timer->ptimer, (uint64_t)timer->counter + 1); ptimer_run(timer->ptimer, 1); } From f214530f56b99be507e40cc261c9616ec84b72d3 Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Mon, 10 Mar 2014 14:08:59 -0400 Subject: [PATCH 07/13] Add qga/qapi-generated to .gitignore The folder "qga/qapi-generated" shows up after building QEMU, and gets in the way during e.g. "git add ."; Add it to .gitignore to keep it from accidentally ending up in the wrong place. Signed-off-by: Gabriel Somlo Signed-off-by: Michael Tokarev --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ef7019f35d..de90463d8a 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ libdis* libuser /linux-headers/asm +/qga/qapi-generated /qapi-generated /qapi-types.[ch] /qapi-visit.[ch] From 3b163b0165b1eee51afd00aeae8d2ad41d05c2a2 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Fri, 7 Mar 2014 19:48:59 +0100 Subject: [PATCH 08/13] misc: Fix typos in comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Codespell found and fixed these new typos: * doesnt -> doesn't * funtion -> function * perfomance -> performance * remaing -> remaining A coding style issue (line too long) was fixed manually. Signed-off-by: Stefan Weil Reviewed-by: Andreas Färber Signed-off-by: Michael Tokarev --- hw/intc/arm_gic_kvm.c | 2 +- hw/net/fsl_etsec/rings.c | 4 ++-- target-arm/helper.c | 2 +- target-ppc/int_helper.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hw/intc/arm_gic_kvm.c b/hw/intc/arm_gic_kvm.c index 100b6bf3de..719d2277ec 100644 --- a/hw/intc/arm_gic_kvm.c +++ b/hw/intc/arm_gic_kvm.c @@ -148,7 +148,7 @@ typedef void (*vgic_translate_fn)(GICState *s, int irq, int cpu, uint32_t *field, bool to_kernel); /* synthetic translate function used for clear/set registers to completely - * clear a setting using a clear-register before setting the remaing bits + * clear a setting using a clear-register before setting the remaining bits * using a set-register */ static void translate_clear(GICState *s, int irq, int cpu, uint32_t *field, bool to_kernel) diff --git a/hw/net/fsl_etsec/rings.c b/hw/net/fsl_etsec/rings.c index 77602722b3..26b71f6e81 100644 --- a/hw/net/fsl_etsec/rings.c +++ b/hw/net/fsl_etsec/rings.c @@ -195,8 +195,8 @@ static void process_tx_fcb(eTSEC *etsec) /* if packet is IP4 and IP checksum is requested */ if (flags & FCB_TX_IP && flags & FCB_TX_CIP) { - /* do IP4 checksum (TODO This funtion does TCP/UDP checksum but not sure - * if it also does IP4 checksum. */ + /* do IP4 checksum (TODO This function does TCP/UDP checksum + * but not sure if it also does IP4 checksum.) */ net_checksum_calculate(etsec->tx_buffer + 8, etsec->tx_buffer_len - 8); } diff --git a/target-arm/helper.c b/target-arm/helper.c index aa5f22d14f..f0a1fd48e6 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -488,7 +488,7 @@ static const ARMCPRegInfo v6_cp_reginfo[] = { static CPAccessResult pmreg_access(CPUARMState *env, const ARMCPRegInfo *ri) { - /* Perfomance monitor registers user accessibility is controlled + /* Performance monitor registers user accessibility is controlled * by PMUSERENR. */ if (arm_current_pl(env) == 0 && !env->cp15.c9_pmuserenr) { diff --git a/target-ppc/int_helper.c b/target-ppc/int_helper.c index 63dde94b04..e14e304457 100644 --- a/target-ppc/int_helper.c +++ b/target-ppc/int_helper.c @@ -2216,7 +2216,7 @@ static int bcd_cmp_mag(ppc_avr_t *a, ppc_avr_t *b) uint8_t dig_a = bcd_get_digit(a, i, &invalid); uint8_t dig_b = bcd_get_digit(b, i, &invalid); if (unlikely(invalid)) { - return 0; /* doesnt matter */ + return 0; /* doesn't matter */ } else if (dig_a > dig_b) { return 1; } else if (dig_a < dig_b) { From 6d4adef48dd6bb738474ab857f4fcb240ff9d2d6 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Fri, 7 Mar 2014 11:11:22 +0100 Subject: [PATCH 09/13] tests: Fix 'make test' for i686 hosts (build regression) 'make test' is broken at least since commit baacf04799ace72a9c735dd9306a1ceaf305e7cf. Several source files were moved to util/, and some of them there split, so add the missing prefix and new files to fix the compiler and linker errors. There remain more issues, but these changes allow running the test on a Linux i686 host. Cc: qemu-stable@nongnu.org Signed-off-by: Stefan Weil Signed-off-by: Michael Tokarev --- tests/tcg/test_path.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/tcg/test_path.c b/tests/tcg/test_path.c index a064eea8fb..f8dd36aab2 100644 --- a/tests/tcg/test_path.c +++ b/tests/tcg/test_path.c @@ -1,12 +1,15 @@ /* Test path override code */ #define _GNU_SOURCE #include "config-host.h" -#include "iov.c" -#include "cutils.c" -#include "path.c" -#include "trace.c" +#include "util/cutils.c" +#include "util/hexdump.c" +#include "util/iov.c" +#include "util/path.c" +#include "util/qemu-timer-common.c" +#include "trace/control.c" +#include "../trace/generated-events.c" #ifdef CONFIG_TRACE_SIMPLE -#include "../trace/simple.c" +#include "trace/simple.c" #endif #include From 69df1c3c9d937a2b4f005a5bad0fefd21b39f383 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Wed, 5 Mar 2014 22:21:32 +0100 Subject: [PATCH 10/13] audio: Add 'static' attributes to several variables Signed-off-by: Stefan Weil Signed-off-by: Michael Tokarev --- hw/audio/fmopl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/audio/fmopl.c b/hw/audio/fmopl.c index f0a023477d..290a224edc 100644 --- a/hw/audio/fmopl.c +++ b/hw/audio/fmopl.c @@ -223,13 +223,13 @@ static void *cur_chip = NULL; /* current chip point */ /* static OPLSAMPLE *bufL,*bufR; */ static OPL_CH *S_CH; static OPL_CH *E_CH; -OPL_SLOT *SLOT7_1,*SLOT7_2,*SLOT8_1,*SLOT8_2; +static OPL_SLOT *SLOT7_1, *SLOT7_2, *SLOT8_1, *SLOT8_2; static INT32 outd[1]; static INT32 ams; static INT32 vib; -INT32 *ams_table; -INT32 *vib_table; +static INT32 *ams_table; +static INT32 *vib_table; static INT32 amsIncr; static INT32 vibIncr; static INT32 feedback2; /* connect for SLOT 2 */ From a00f66ab9b3021e781695a73c579b6292501ab37 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Fri, 7 Mar 2014 10:43:38 +0100 Subject: [PATCH 11/13] configure: Don't use __int128_t for clang versions before 3.2 Those versions don't fully support __int128_t. Cc: qemu-stable@nongnu.org Signed-off-by: Stefan Weil Signed-off-by: Michael Tokarev --- configure | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/configure b/configure index 8c2838ee3c..2bc6b770e2 100755 --- a/configure +++ b/configure @@ -3822,6 +3822,11 @@ fi int128=no cat > $TMPC << EOF +#if defined(__clang_major__) && defined(__clang_minor__) +# if ((__clang_major__ < 3) || (__clang_major__ == 3) && (__clang_minor__ < 2)) +# error __int128_t does not work in CLANG before 3.2 +# endif +#endif __int128_t a; __uint128_t b; int main (void) { From 379e21c258d5faf0cd7c6f9208347726e14ae241 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Fri, 14 Mar 2014 12:49:13 -0400 Subject: [PATCH 12/13] scripts/make-release: Don't distribute .git directories [crobinso@localhost qemu-2.0.0-rc0]$ find . -name .git ./dtc/.git ./pixman/.git This is already done for the rom submodules. https://bugs.launchpad.net/qemu/+bug/1224414 Signed-off-by: Cole Robinson Signed-off-by: Michael Tokarev --- scripts/make-release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/make-release b/scripts/make-release index 196c755f57..186358dc7e 100755 --- a/scripts/make-release +++ b/scripts/make-release @@ -18,7 +18,7 @@ git clone "${src}" ${destination} pushd ${destination} git checkout "v${version}" git submodule update --init -rm -rf .git roms/*/.git +rm -rf .git roms/*/.git dtc/.git pixman/.git popd tar cfj ${destination}.tar.bz2 ${destination} rm -rf ${destination} From 9c749e4dbe65e61e159ad822a4110167c2c108fe Mon Sep 17 00:00:00 2001 From: Fabien Chouteau Date: Fri, 14 Mar 2014 17:51:41 +0100 Subject: [PATCH 13/13] FSL eTSEC: Fix typo in rx ring Signed-off-by: Fabien Chouteau Signed-off-by: Michael Tokarev --- hw/net/fsl_etsec/rings.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/net/fsl_etsec/rings.c b/hw/net/fsl_etsec/rings.c index 26b71f6e81..e36cfbe76d 100644 --- a/hw/net/fsl_etsec/rings.c +++ b/hw/net/fsl_etsec/rings.c @@ -592,7 +592,7 @@ void etsec_walk_rx_ring(eTSEC *etsec, int ring_nbr) /* TODO: Broadcast and Multicast */ - if (bd.flags | BD_INTERRUPT) { + if (bd.flags & BD_INTERRUPT) { /* Set RXFx */ etsec->regs[RSTAT].value |= 1 << (7 - ring_nbr); @@ -601,7 +601,7 @@ void etsec_walk_rx_ring(eTSEC *etsec, int ring_nbr) } } else { - if (bd.flags | BD_INTERRUPT) { + if (bd.flags & BD_INTERRUPT) { /* Set IEVENT */ ievent_set(etsec, IEVENT_RXB); }