MAINTAINERS | 2 + accel/tcg/cpu-exec.c | 12 +-- block/iscsi.c | 51 +++++++--- blockdev-nbd.c | 50 +++------- chardev/baum.c | 8 +- chardev/char-mux.c | 8 ++ chardev/char-socket.c | 72 ++++++-------- chardev/char.c | 18 ++-- configure | 37 ++++++- contrib/systemd/qemu-guest-agent.service | 11 +++ contrib/systemd/qemu-pr-helper.service | 15 +++ contrib/systemd/qemu-pr-helper.socket | 9 ++ cpus.c | 37 +++---- exec.c | 44 ++++++++- hw/i386/kvm/i8259.c | 1 + hw/i386/trace-events | 4 + hw/i386/vmport.c | 14 +-- hw/intc/i8259.c | 86 +++------------- hw/intc/i8259_common.c | 49 ++++++++++ hw/intc/trace-events | 7 ++ hw/mips/boston.c | 14 +-- hw/moxie/moxiesim.c | 12 ++- hw/scsi/scsi-bus.c | 16 +-- hw/scsi/scsi-disk.c | 1 + include/chardev/char.h | 1 + include/exec/exec-all.h | 6 +- include/hw/isa/i8259_internal.h | 7 +- include/qemu/sockets.h | 2 +- include/scsi/utils.h | 9 +- qemu-doc.texi | 5 - qemu-nbd.c | 61 +++++------- qemu-options.hx | 3 - qga/channel-posix.c | 2 +- scripts/checkpatch.pl | 7 +- scsi/qemu-pr-helper.c | 30 +++++- scsi/utils.c | 163 ++++++++++++++++--------------- target/arm/cpu.c | 13 +-- target/i386/cpu.c | 16 +-- target/i386/cpu.h | 12 ++- target/i386/kvm.c | 44 +++++---- target/i386/translate.c | 9 +- tests/Makefile.include | 7 ++ tests/boot-serial-test.c | 106 +++++++++++++++++--- tests/docker/test-full | 79 +-------------- tests/test-char.c | 17 ++++ util/memfd.c | 4 +- util/qemu-sockets.c | 31 +----- util/qemu-thread-posix.c | 59 +++++++---- util/rcu.c | 6 ++ vl.c | 4 - 50 files changed, 719 insertions(+), 562 deletions(-) create mode 100644 contrib/systemd/qemu-guest-agent.service create mode 100644 contrib/systemd/qemu-pr-helper.service create mode 100644 contrib/systemd/qemu-pr-helper.socket
The following changes since commit 200780a3a3ed067dfb2e0d2210b0ed09e748ba26:
Merge remote-tracking branch 'remotes/armbru/tags/pull-cmdline-2017-12-18-v2' into staging (2017-12-20 13:20:48 +0000)
are available in the git repository at:
git://github.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to d01ce16cd827831145cf6a5b4a81ce3a47b537cd:
chardev: convert the socket server to QIONetListener (2017-12-20 17:18:19 +0100)
----------------------------------------------------------------
* NBD and chardev conversion to QIONetListener (Daniel)
* MTTCG fixes (David)
* Hyper-V fixes (Roman, Evgeny)
* share-rw option (Fam)
* Mux chardev event bugfix (Marc-André)
* Add systemd unit files in contrib/ (me)
* SCSI and block/iscsi.c bugfixes (me, Peter L.)
* unassigned_mem_ops fixes (Peter M.)
* VEX decoding fix (Peter M.)
* "info pic" and "info irq" improvements (Peter Xu)
* vmport trace events (Philippe)
* Braille chardev bugfix (Samuel)
* Compiler warnings fix (Stefan)
* boot-serial-test aka TCG smoke test (Thomas)
* New CPU features (Yang)
* Reduce startup memory usage (Yang)
* QemuThread race fix (linhecheng)
----------------------------------------------------------------
Daniel P. Berrange (4):
sockets: remove obsolete code that updated listen address
blockdev: convert internal NBD server to QIONetListener
blockdev: convert qemu-nbd server to QIONetListener
chardev: convert the socket server to QIONetListener
David Hildenbrand (2):
cpus: make pause_all_cpus() play with SMP on single threaded TCG
cpu-exec: fix missed CPU kick during interrupt injection
Evgeny Yakovlev (1):
hyperv: set partition-wide MSRs only on first vcpu
Fam Zheng (3):
Revert "docker: Enable features explicitly in test-full"
scsi-block: Add share-rw option
MAITAINERS: List Fam Zheng as reviewer for SCSI patches
Marc-André Lureau (3):
checkpatch: volatile with a comment or sig_atomic_t is okay
chardev: fix backend events regression with mux chardev
test: add some chardev mux event tests
Paolo Bonzini (5):
memfd: fix configure test
qemu-pr-helper: miscellaneous fixes
contrib: add systemd unit files
scsi: provide general-purpose functions to manage sense data
scsi: replace hex constants with #defines
Peter Lieven (2):
block/iscsi: dont leave allocmap in an invalid state on UNMAP failure
block/iscsi: only report an iSCSI Failure if we don't handle it gracefully
Peter Maydell (3):
target/i386: Fix handling of VEX prefixes
exec: Don't reuse unassigned_mem_ops for io_mem_rom
hw/mips/boston: Remove workaround for writes to ROM aborting
Peter Xu (7):
cpu: refactor cpu_address_space_init()
cpu: suffix cpu address spaces with cpu index
i8259: convert DPRINTFs into trace
i8259: use DEBUG_IRQ_COUNT always
i8259: generalize statistics into common code
kvm-i8259: support "info pic" and "info irq"
i8259: move TYPE_INTERRUPT_STATS_PROVIDER upper
Philippe Mathieu-Daudé (1):
hw/i386/vmport: replace fprintf() by trace events or LOG_UNIMP
Roman Kagan (2):
hyperv: ensure SINTx msrs are reset properly
hyperv: make SynIC version msr constant
Samuel Thibault (1):
baum: Truncate braille device size to 84x1
Stefan Weil (1):
target/i386: Fix compiler warnings
Thomas Huth (8):
tests/boot-serial-test: Make sure that we check the timeout regularly
tests/boot-serial-test: Add code to allow to specify our own kernel or bios
tests/boot-serial-test: Add support for the mcf5208evb board
tests/boot-serial-test: Add tests for microblaze boards
hw/moxie/moxiesim: Add support for loading a BIOS on moxiesim
tests/boot-serial-test: Add a test for the moxiesim machine
tests/boot-serial-test: Add support for the raspi2 machine
Remove legacy -no-kvm-pit option
Yang Zhong (2):
x86/cpu: Enable new SSE/AVX/AVX512 cpu features
rcu: reduce more than 7MB heap memory by malloc_trim()
linzhecheng (1):
qemu-thread: fix races on threads that exit very quickly
MAINTAINERS | 2 +
accel/tcg/cpu-exec.c | 12 +--
block/iscsi.c | 51 +++++++---
blockdev-nbd.c | 50 +++-------
chardev/baum.c | 8 +-
chardev/char-mux.c | 8 ++
chardev/char-socket.c | 72 ++++++--------
chardev/char.c | 18 ++--
configure | 37 ++++++-
contrib/systemd/qemu-guest-agent.service | 11 +++
contrib/systemd/qemu-pr-helper.service | 15 +++
contrib/systemd/qemu-pr-helper.socket | 9 ++
cpus.c | 37 +++----
exec.c | 44 ++++++++-
hw/i386/kvm/i8259.c | 1 +
hw/i386/trace-events | 4 +
hw/i386/vmport.c | 14 +--
hw/intc/i8259.c | 86 +++-------------
hw/intc/i8259_common.c | 49 ++++++++++
hw/intc/trace-events | 7 ++
hw/mips/boston.c | 14 +--
hw/moxie/moxiesim.c | 12 ++-
hw/scsi/scsi-bus.c | 16 +--
hw/scsi/scsi-disk.c | 1 +
include/chardev/char.h | 1 +
include/exec/exec-all.h | 6 +-
include/hw/isa/i8259_internal.h | 7 +-
include/qemu/sockets.h | 2 +-
include/scsi/utils.h | 9 +-
qemu-doc.texi | 5 -
qemu-nbd.c | 61 +++++-------
qemu-options.hx | 3 -
qga/channel-posix.c | 2 +-
scripts/checkpatch.pl | 7 +-
scsi/qemu-pr-helper.c | 30 +++++-
scsi/utils.c | 163 ++++++++++++++++---------------
target/arm/cpu.c | 13 +--
target/i386/cpu.c | 16 +--
target/i386/cpu.h | 12 ++-
target/i386/kvm.c | 44 +++++----
target/i386/translate.c | 9 +-
tests/Makefile.include | 7 ++
tests/boot-serial-test.c | 106 +++++++++++++++++---
tests/docker/test-full | 79 +--------------
tests/test-char.c | 17 ++++
util/memfd.c | 4 +-
util/qemu-sockets.c | 31 +-----
util/qemu-thread-posix.c | 59 +++++++----
util/rcu.c | 6 ++
vl.c | 4 -
50 files changed, 719 insertions(+), 562 deletions(-)
create mode 100644 contrib/systemd/qemu-guest-agent.service
create mode 100644 contrib/systemd/qemu-pr-helper.service
create mode 100644 contrib/systemd/qemu-pr-helper.socket
--
1.8.3.1
On 20 December 2017 at 17:14, Paolo Bonzini <pbonzini@redhat.com> wrote:
> The following changes since commit 200780a3a3ed067dfb2e0d2210b0ed09e748ba26:
>
> Merge remote-tracking branch 'remotes/armbru/tags/pull-cmdline-2017-12-18-v2' into staging (2017-12-20 13:20:48 +0000)
>
> are available in the git repository at:
>
>
> git://github.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to d01ce16cd827831145cf6a5b4a81ce3a47b537cd:
>
> chardev: convert the socket server to QIONetListener (2017-12-20 17:18:19 +0100)
>
> ----------------------------------------------------------------
> * NBD and chardev conversion to QIONetListener (Daniel)
> * MTTCG fixes (David)
> * Hyper-V fixes (Roman, Evgeny)
> * share-rw option (Fam)
> * Mux chardev event bugfix (Marc-André)
> * Add systemd unit files in contrib/ (me)
> * SCSI and block/iscsi.c bugfixes (me, Peter L.)
> * unassigned_mem_ops fixes (Peter M.)
> * VEX decoding fix (Peter M.)
> * "info pic" and "info irq" improvements (Peter Xu)
> * vmport trace events (Philippe)
> * Braille chardev bugfix (Samuel)
> * Compiler warnings fix (Stefan)
> * boot-serial-test aka TCG smoke test (Thomas)
> * New CPU features (Yang)
> * Reduce startup memory usage (Yang)
> * QemuThread race fix (linhecheng)
Build failures, I'm afraid:
NetBSD, FreeBSD, OpenBSD, OSX:
CC util/qemu-thread-posix.o
/root/qemu/util/qemu-thread-posix.c: In function 'qemu_thread_create':
/root/qemu/util/qemu-thread-posix.c:513:5: error: unknown type name
'QemuThreadArgs'
QemuThreadArgs *qemu_thread_args;
^
/root/qemu/util/qemu-thread-posix.c:513:21: warning: unused variable
'qemu_thread_args' [-Wunused-variable]
QemuThreadArgs *qemu_thread_args;
^
On the x86/sanitizer build, new runtime errors:
GTESTER tests/test-char
/home/petmay01/linaro/qemu-for-merges/chardev/char-mux.c:119:23:
runtime error: index -1 out of bounds for type 'CharBackend *[4]'
GTESTER check-qtest-m68k
/home/petmay01/linaro/qemu-for-merges/target/m68k/translate.c:230:12:
runtime error: index -1 out of bounds for type 'const uint8_t [11]'
and a bunch of test-hmp failures on SPARC host:
TEST: tests/test-hmp... (pid=112458)
/or1k/hmp/none: OK
/or1k/hmp/or1k-sim:
Broken pipe
FAIL
GTester: last random seed: R02S910131160952686f50f8817feb7ffa43
(pid=112640)
/or1k/hmp/none+2MB: OK
FAIL: tests/test-hmp
TEST: tests/test-hmp... (pid=112535)
/lm32/hmp/lm32-evr: OK
/lm32/hmp/none: OK
/lm32/hmp/milkymist: OK
/lm32/hmp/lm32-uclinux:
Broken pipe
FAIL
GTester: last random seed: R02S8117b2f6f2c32eedeb45726a96bd3248
(pid=112826)
/lm32/hmp/none+2MB: OK
FAIL: tests/test-hmp
...and similar fails on one or two boards on most of the other
guest architectures.
I think sparc is the only test box I run 'make check' with -j32,
so that might be the cause there. Running the test case by
hand passes, but -j32 reliably fails.
thanks
-- PMM
On 20/12/2017 20:20, Peter Maydell wrote: > On the x86/sanitizer build, new runtime errors: > GTESTER check-qtest-m68k > /home/petmay01/linaro/qemu-for-merges/target/m68k/translate.c:230:12: > runtime error: index -1 out of bounds for type 'const uint8_t [11]' > > ...and similar fails on one or two boards on most of the other > guest architectures. These are preexisting bugs, now exposed by the boot-serial-test. Thomas, can you identify the architectures that have a problem and notify the maintainers? In the meanwhile I'll keep the boot-serial-test enhancements queued locally, and remove them from the pull request. Paolo
On 20.12.2017 22:56, Paolo Bonzini wrote: > On 20/12/2017 20:20, Peter Maydell wrote: >> On the x86/sanitizer build, new runtime errors: >> GTESTER check-qtest-m68k >> /home/petmay01/linaro/qemu-for-merges/target/m68k/translate.c:230:12: >> runtime error: index -1 out of bounds for type 'const uint8_t [11]' >> >> ...and similar fails on one or two boards on most of the other >> guest architectures. > > These are preexisting bugs, now exposed by the boot-serial-test. > Thomas, can you identify the architectures that have a problem and > notify the maintainers? In the meanwhile I'll keep the boot-serial-test > enhancements queued locally, and remove them from the pull request. Laurent, Richard, looks like old_op is -1 when set_cc_op() is called here for the first time. The problem can be reproduced by running the mini-kernel directly. Just get http://people.redhat.com/~thuth/m68k-uart.bin and run QEMU like this: qemu-system-m68k -nographic -kernel ~/tmp/m68k-uart.bin -serial none That kernel only contains these few instructions: 0x41, 0xf9, 0xfc, 0x06, 0x00, 0x00, /* lea 0xfc060000,%a0 */ 0x10, 0x3c, 0x00, 0x54, /* move.b #'T',%d0 */ 0x11, 0x7c, 0x00, 0x04, 0x00, 0x08, /* move.b #4,8(%a0) */ 0x11, 0x40, 0x00, 0x0c, /* move.b %d0,12(%a0) */ 0x60, 0xfa /* bra.s loop */ The problem occurs during the second instruction (i.e. the first move.b). Do you have any ideas where this -1 in s->cc_op could come from? Thomas
Le 21/12/2017 à 13:49, Thomas Huth a écrit : > On 20.12.2017 22:56, Paolo Bonzini wrote: >> On 20/12/2017 20:20, Peter Maydell wrote: >>> On the x86/sanitizer build, new runtime errors: >>> GTESTER check-qtest-m68k >>> /home/petmay01/linaro/qemu-for-merges/target/m68k/translate.c:230:12: >>> runtime error: index -1 out of bounds for type 'const uint8_t [11]' >>> >>> ...and similar fails on one or two boards on most of the other >>> guest architectures. >> >> These are preexisting bugs, now exposed by the boot-serial-test. >> Thomas, can you identify the architectures that have a problem and >> notify the maintainers? In the meanwhile I'll keep the boot-serial-test >> enhancements queued locally, and remove them from the pull request. > > Laurent, Richard, > > looks like old_op is -1 when set_cc_op() is called here for the first > time. The problem can be reproduced by running the mini-kernel directly. > Just get http://people.redhat.com/~thuth/m68k-uart.bin and run QEMU like > this: > > qemu-system-m68k -nographic -kernel ~/tmp/m68k-uart.bin -serial none > > That kernel only contains these few instructions: > > 0x41, 0xf9, 0xfc, 0x06, 0x00, 0x00, /* lea 0xfc060000,%a0 */ > 0x10, 0x3c, 0x00, 0x54, /* move.b #'T',%d0 */ > 0x11, 0x7c, 0x00, 0x04, 0x00, 0x08, /* move.b #4,8(%a0) */ > 0x11, 0x40, 0x00, 0x0c, /* move.b %d0,12(%a0) */ > 0x60, 0xfa /* bra.s loop */ > > The problem occurs during the second instruction (i.e. the first move.b). > > Do you have any ideas where this -1 in s->cc_op could come from? I think it comes from CCOp: it's the value of CC_OP_DYNAMIC. We should not use it to access cc_op_live[]. I try to find a fix, but I think Richard knows this better than me. Thanks, Laurent
Le 21/12/2017 à 14:07, Laurent Vivier a écrit :
> Le 21/12/2017 à 13:49, Thomas Huth a écrit :
>> On 20.12.2017 22:56, Paolo Bonzini wrote:
>>> On 20/12/2017 20:20, Peter Maydell wrote:
>>>> On the x86/sanitizer build, new runtime errors:
>>>> GTESTER check-qtest-m68k
>>>> /home/petmay01/linaro/qemu-for-merges/target/m68k/translate.c:230:12:
>>>> runtime error: index -1 out of bounds for type 'const uint8_t [11]'
>>>>
>>>> ...and similar fails on one or two boards on most of the other
>>>> guest architectures.
>>>
>>> These are preexisting bugs, now exposed by the boot-serial-test.
>>> Thomas, can you identify the architectures that have a problem and
>>> notify the maintainers? In the meanwhile I'll keep the boot-serial-test
>>> enhancements queued locally, and remove them from the pull request.
>>
>> Laurent, Richard,
>>
>> looks like old_op is -1 when set_cc_op() is called here for the first
>> time. The problem can be reproduced by running the mini-kernel directly.
>> Just get http://people.redhat.com/~thuth/m68k-uart.bin and run QEMU like
>> this:
>>
>> qemu-system-m68k -nographic -kernel ~/tmp/m68k-uart.bin -serial none
>>
>> That kernel only contains these few instructions:
>>
>> 0x41, 0xf9, 0xfc, 0x06, 0x00, 0x00, /* lea 0xfc060000,%a0 */
>> 0x10, 0x3c, 0x00, 0x54, /* move.b #'T',%d0 */
>> 0x11, 0x7c, 0x00, 0x04, 0x00, 0x08, /* move.b #4,8(%a0) */
>> 0x11, 0x40, 0x00, 0x0c, /* move.b %d0,12(%a0) */
>> 0x60, 0xfa /* bra.s loop */
>>
>> The problem occurs during the second instruction (i.e. the first move.b).
>>
>> Do you have any ideas where this -1 in s->cc_op could come from?
>
> I think it comes from CCOp: it's the value of CC_OP_DYNAMIC.
>
> We should not use it to access cc_op_live[].
>
> I try to find a fix, but I think Richard knows this better than me.
This should fix the problem, but I'd like Richard checks it...
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index b60909222c..721b5801da 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -225,6 +225,11 @@ static void set_cc_op(DisasContext *s, CCOp op)
s->cc_op = op;
s->cc_op_synced = 0;
+ if (old_op == CC_OP_DYNAMIC) {
+ tcg_gen_discard_i32(QREG_CC_OP);
+ return;
+ }
+
/* Discard CC computation that will no longer be used.
Note that X and N are never dead. */
dead = cc_op_live[old_op] & ~cc_op_live[op];
Thanks,
Laurent
On 21/12/2017 14:32, Laurent Vivier wrote:
> Le 21/12/2017 à 14:07, Laurent Vivier a écrit :
>> Le 21/12/2017 à 13:49, Thomas Huth a écrit :
>>> On 20.12.2017 22:56, Paolo Bonzini wrote:
>>>> On 20/12/2017 20:20, Peter Maydell wrote:
>>>>> On the x86/sanitizer build, new runtime errors:
>>>>> GTESTER check-qtest-m68k
>>>>> /home/petmay01/linaro/qemu-for-merges/target/m68k/translate.c:230:12:
>>>>> runtime error: index -1 out of bounds for type 'const uint8_t [11]'
>>>>>
>>>>> ...and similar fails on one or two boards on most of the other
>>>>> guest architectures.
>>>>
>>>> These are preexisting bugs, now exposed by the boot-serial-test.
>>>> Thomas, can you identify the architectures that have a problem and
>>>> notify the maintainers? In the meanwhile I'll keep the boot-serial-test
>>>> enhancements queued locally, and remove them from the pull request.
>>>
>>> Laurent, Richard,
>>>
>>> looks like old_op is -1 when set_cc_op() is called here for the first
>>> time. The problem can be reproduced by running the mini-kernel directly.
>>> Just get http://people.redhat.com/~thuth/m68k-uart.bin and run QEMU like
>>> this:
>>>
>>> qemu-system-m68k -nographic -kernel ~/tmp/m68k-uart.bin -serial none
>>>
>>> That kernel only contains these few instructions:
>>>
>>> 0x41, 0xf9, 0xfc, 0x06, 0x00, 0x00, /* lea 0xfc060000,%a0 */
>>> 0x10, 0x3c, 0x00, 0x54, /* move.b #'T',%d0 */
>>> 0x11, 0x7c, 0x00, 0x04, 0x00, 0x08, /* move.b #4,8(%a0) */
>>> 0x11, 0x40, 0x00, 0x0c, /* move.b %d0,12(%a0) */
>>> 0x60, 0xfa /* bra.s loop */
>>>
>>> The problem occurs during the second instruction (i.e. the first move.b).
>>>
>>> Do you have any ideas where this -1 in s->cc_op could come from?
>>
>> I think it comes from CCOp: it's the value of CC_OP_DYNAMIC.
>>
>> We should not use it to access cc_op_live[].
>>
>> I try to find a fix, but I think Richard knows this better than me.
>
> This should fix the problem, but I'd like Richard checks it...
>
> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
> index b60909222c..721b5801da 100644
> --- a/target/m68k/translate.c
> +++ b/target/m68k/translate.c
> @@ -225,6 +225,11 @@ static void set_cc_op(DisasContext *s, CCOp op)
> s->cc_op = op;
> s->cc_op_synced = 0;
>
> + if (old_op == CC_OP_DYNAMIC) {
> + tcg_gen_discard_i32(QREG_CC_OP);
> + return;
> + }
This tcg_gen_discard_i32 is correct, but all flags were potentially live
and can be discarded if the new op uses it(*). So I'd replace "return"
with "old_op = CC_OP_FLAGS".
Paolo
(*) in fact it's always true that all flags can be discarded.
Only discarding some is an optimization to limit the number
of generated ops.
> /* Discard CC computation that will no longer be used.
> Note that X and N are never dead. */
> dead = cc_op_live[old_op] & ~cc_op_live[op];
>
>
> Thanks,
> Laurent
>
Le 21/12/2017 à 15:10, Paolo Bonzini a écrit :
> On 21/12/2017 14:32, Laurent Vivier wrote:
>> Le 21/12/2017 à 14:07, Laurent Vivier a écrit :
>>> Le 21/12/2017 à 13:49, Thomas Huth a écrit :
>>>> On 20.12.2017 22:56, Paolo Bonzini wrote:
>>>>> On 20/12/2017 20:20, Peter Maydell wrote:
>>>>>> On the x86/sanitizer build, new runtime errors:
>>>>>> GTESTER check-qtest-m68k
>>>>>> /home/petmay01/linaro/qemu-for-merges/target/m68k/translate.c:230:12:
>>>>>> runtime error: index -1 out of bounds for type 'const uint8_t [11]'
>>>>>>
>>>>>> ...and similar fails on one or two boards on most of the other
>>>>>> guest architectures.
>>>>>
>>>>> These are preexisting bugs, now exposed by the boot-serial-test.
>>>>> Thomas, can you identify the architectures that have a problem and
>>>>> notify the maintainers? In the meanwhile I'll keep the boot-serial-test
>>>>> enhancements queued locally, and remove them from the pull request.
>>>>
>>>> Laurent, Richard,
>>>>
>>>> looks like old_op is -1 when set_cc_op() is called here for the first
>>>> time. The problem can be reproduced by running the mini-kernel directly.
>>>> Just get http://people.redhat.com/~thuth/m68k-uart.bin and run QEMU like
>>>> this:
>>>>
>>>> qemu-system-m68k -nographic -kernel ~/tmp/m68k-uart.bin -serial none
>>>>
>>>> That kernel only contains these few instructions:
>>>>
>>>> 0x41, 0xf9, 0xfc, 0x06, 0x00, 0x00, /* lea 0xfc060000,%a0 */
>>>> 0x10, 0x3c, 0x00, 0x54, /* move.b #'T',%d0 */
>>>> 0x11, 0x7c, 0x00, 0x04, 0x00, 0x08, /* move.b #4,8(%a0) */
>>>> 0x11, 0x40, 0x00, 0x0c, /* move.b %d0,12(%a0) */
>>>> 0x60, 0xfa /* bra.s loop */
>>>>
>>>> The problem occurs during the second instruction (i.e. the first move.b).
>>>>
>>>> Do you have any ideas where this -1 in s->cc_op could come from?
>>>
>>> I think it comes from CCOp: it's the value of CC_OP_DYNAMIC.
>>>
>>> We should not use it to access cc_op_live[].
>>>
>>> I try to find a fix, but I think Richard knows this better than me.
>>
>> This should fix the problem, but I'd like Richard checks it...
>>
>> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
>> index b60909222c..721b5801da 100644
>> --- a/target/m68k/translate.c
>> +++ b/target/m68k/translate.c
>> @@ -225,6 +225,11 @@ static void set_cc_op(DisasContext *s, CCOp op)
>> s->cc_op = op;
>> s->cc_op_synced = 0;
>>
>> + if (old_op == CC_OP_DYNAMIC) {
>> + tcg_gen_discard_i32(QREG_CC_OP);
>> + return;
>> + }
>
> This tcg_gen_discard_i32 is correct, but all flags were potentially live
> and can be discarded if the new op uses it(*). So I'd replace "return"
> with "old_op = CC_OP_FLAGS".
Yes, I agree, we can also have:
iff --git a/target/m68k/cpu.h b/target/m68k/cpu.h
index afae5f68ac..5d03764eab 100644
--- a/target/m68k/cpu.h
+++ b/target/m68k/cpu.h
@@ -182,7 +182,7 @@ void cpu_m68k_set_fpcr(CPUM68KState *env, uint32_t val);
*/
typedef enum {
/* Translator only -- use env->cc_op. */
- CC_OP_DYNAMIC = -1,
+ CC_OP_DYNAMIC,
/* Each flag bit computed into cc_[xcnvz]. */
CC_OP_FLAGS,
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index b60909222c..61ac1a8e83 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -207,6 +207,7 @@ typedef void (*disas_proc)(CPUM68KState *env,
DisasContext *s, uint16_t insn);
#endif
static const uint8_t cc_op_live[CC_OP_NB] = {
+ [CC_OP_DYNAMIC] = CCF_C | CCF_V | CCF_Z | CCF_N | CCF_X,
[CC_OP_FLAGS] = CCF_C | CCF_V | CCF_Z | CCF_N | CCF_X,
[CC_OP_ADDB ... CC_OP_ADDL] = CCF_X | CCF_N | CCF_V,
[CC_OP_SUBB ... CC_OP_SUBL] = CCF_X | CCF_N | CCF_V,
@@ -237,6 +238,11 @@ static void set_cc_op(DisasContext *s, CCOp op)
if (dead & CCF_V) {
tcg_gen_discard_i32(QREG_CC_V);
}
+
+ /* Discard any computed CC_OP value */
+ if (old_op == CC_OP_DYNAMIC) {
+ tcg_gen_discard_i32(QREG_CC_OP);
+ }
}
/* Update the CPU env CC_OP state. */
On 21/12/2017 15:13, Laurent Vivier wrote:
> Le 21/12/2017 à 15:10, Paolo Bonzini a écrit :
>> On 21/12/2017 14:32, Laurent Vivier wrote:
>>> Le 21/12/2017 à 14:07, Laurent Vivier a écrit :
>>>> Le 21/12/2017 à 13:49, Thomas Huth a écrit :
>>>>> On 20.12.2017 22:56, Paolo Bonzini wrote:
>>>>>> On 20/12/2017 20:20, Peter Maydell wrote:
>>>>>>> On the x86/sanitizer build, new runtime errors:
>>>>>>> GTESTER check-qtest-m68k
>>>>>>> /home/petmay01/linaro/qemu-for-merges/target/m68k/translate.c:230:12:
>>>>>>> runtime error: index -1 out of bounds for type 'const uint8_t [11]'
>>>>>>>
>>>>>>> ...and similar fails on one or two boards on most of the other
>>>>>>> guest architectures.
>>>>>>
>>>>>> These are preexisting bugs, now exposed by the boot-serial-test.
>>>>>> Thomas, can you identify the architectures that have a problem and
>>>>>> notify the maintainers? In the meanwhile I'll keep the boot-serial-test
>>>>>> enhancements queued locally, and remove them from the pull request.
>>>>>
>>>>> Laurent, Richard,
>>>>>
>>>>> looks like old_op is -1 when set_cc_op() is called here for the first
>>>>> time. The problem can be reproduced by running the mini-kernel directly.
>>>>> Just get http://people.redhat.com/~thuth/m68k-uart.bin and run QEMU like
>>>>> this:
>>>>>
>>>>> qemu-system-m68k -nographic -kernel ~/tmp/m68k-uart.bin -serial none
>>>>>
>>>>> That kernel only contains these few instructions:
>>>>>
>>>>> 0x41, 0xf9, 0xfc, 0x06, 0x00, 0x00, /* lea 0xfc060000,%a0 */
>>>>> 0x10, 0x3c, 0x00, 0x54, /* move.b #'T',%d0 */
>>>>> 0x11, 0x7c, 0x00, 0x04, 0x00, 0x08, /* move.b #4,8(%a0) */
>>>>> 0x11, 0x40, 0x00, 0x0c, /* move.b %d0,12(%a0) */
>>>>> 0x60, 0xfa /* bra.s loop */
>>>>>
>>>>> The problem occurs during the second instruction (i.e. the first move.b).
>>>>>
>>>>> Do you have any ideas where this -1 in s->cc_op could come from?
>>>>
>>>> I think it comes from CCOp: it's the value of CC_OP_DYNAMIC.
>>>>
>>>> We should not use it to access cc_op_live[].
>>>>
>>>> I try to find a fix, but I think Richard knows this better than me.
>>>
>>> This should fix the problem, but I'd like Richard checks it...
>>>
>>> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
>>> index b60909222c..721b5801da 100644
>>> --- a/target/m68k/translate.c
>>> +++ b/target/m68k/translate.c
>>> @@ -225,6 +225,11 @@ static void set_cc_op(DisasContext *s, CCOp op)
>>> s->cc_op = op;
>>> s->cc_op_synced = 0;
>>>
>>> + if (old_op == CC_OP_DYNAMIC) {
>>> + tcg_gen_discard_i32(QREG_CC_OP);
>>> + return;
>>> + }
>>
>> This tcg_gen_discard_i32 is correct, but all flags were potentially live
>> and can be discarded if the new op uses it(*). So I'd replace "return"
>> with "old_op = CC_OP_FLAGS".
>
> Yes, I agree, we can also have:
>
> iff --git a/target/m68k/cpu.h b/target/m68k/cpu.h
> index afae5f68ac..5d03764eab 100644
> --- a/target/m68k/cpu.h
> +++ b/target/m68k/cpu.h
> @@ -182,7 +182,7 @@ void cpu_m68k_set_fpcr(CPUM68KState *env, uint32_t val);
> */
> typedef enum {
> /* Translator only -- use env->cc_op. */
> - CC_OP_DYNAMIC = -1,
> + CC_OP_DYNAMIC,
>
> /* Each flag bit computed into cc_[xcnvz]. */
> CC_OP_FLAGS,
> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
> index b60909222c..61ac1a8e83 100644
> --- a/target/m68k/translate.c
> +++ b/target/m68k/translate.c
> @@ -207,6 +207,7 @@ typedef void (*disas_proc)(CPUM68KState *env,
> DisasContext *s, uint16_t insn);
> #endif
>
> static const uint8_t cc_op_live[CC_OP_NB] = {
> + [CC_OP_DYNAMIC] = CCF_C | CCF_V | CCF_Z | CCF_N | CCF_X,
> [CC_OP_FLAGS] = CCF_C | CCF_V | CCF_Z | CCF_N | CCF_X,
> [CC_OP_ADDB ... CC_OP_ADDL] = CCF_X | CCF_N | CCF_V,
> [CC_OP_SUBB ... CC_OP_SUBL] = CCF_X | CCF_N | CCF_V,
> @@ -237,6 +238,11 @@ static void set_cc_op(DisasContext *s, CCOp op)
> if (dead & CCF_V) {
> tcg_gen_discard_i32(QREG_CC_V);
> }
> +
> + /* Discard any computed CC_OP value */
> + if (old_op == CC_OP_DYNAMIC) {
> + tcg_gen_discard_i32(QREG_CC_OP);
> + }
> }
>
> /* Update the CPU env CC_OP state. */
>
>
Yes, this is good too. After my pull request is in, feel free to take
Thomas's m68k boot-serial-test patch in your tree.
Paolo
Le 21/12/2017 à 15:14, Paolo Bonzini a écrit :
> On 21/12/2017 15:13, Laurent Vivier wrote:
>> Le 21/12/2017 à 15:10, Paolo Bonzini a écrit :
>>> On 21/12/2017 14:32, Laurent Vivier wrote:
>>>> Le 21/12/2017 à 14:07, Laurent Vivier a écrit :
>>>>> Le 21/12/2017 à 13:49, Thomas Huth a écrit :
>>>>>> On 20.12.2017 22:56, Paolo Bonzini wrote:
>>>>>>> On 20/12/2017 20:20, Peter Maydell wrote:
>>>>>>>> On the x86/sanitizer build, new runtime errors:
>>>>>>>> GTESTER check-qtest-m68k
>>>>>>>> /home/petmay01/linaro/qemu-for-merges/target/m68k/translate.c:230:12:
>>>>>>>> runtime error: index -1 out of bounds for type 'const uint8_t [11]'
>>>>>>>>
>>>>>>>> ...and similar fails on one or two boards on most of the other
>>>>>>>> guest architectures.
>>>>>>>
>>>>>>> These are preexisting bugs, now exposed by the boot-serial-test.
>>>>>>> Thomas, can you identify the architectures that have a problem and
>>>>>>> notify the maintainers? In the meanwhile I'll keep the boot-serial-test
>>>>>>> enhancements queued locally, and remove them from the pull request.
>>>>>>
>>>>>> Laurent, Richard,
>>>>>>
>>>>>> looks like old_op is -1 when set_cc_op() is called here for the first
>>>>>> time. The problem can be reproduced by running the mini-kernel directly.
>>>>>> Just get http://people.redhat.com/~thuth/m68k-uart.bin and run QEMU like
>>>>>> this:
>>>>>>
>>>>>> qemu-system-m68k -nographic -kernel ~/tmp/m68k-uart.bin -serial none
>>>>>>
>>>>>> That kernel only contains these few instructions:
>>>>>>
>>>>>> 0x41, 0xf9, 0xfc, 0x06, 0x00, 0x00, /* lea 0xfc060000,%a0 */
>>>>>> 0x10, 0x3c, 0x00, 0x54, /* move.b #'T',%d0 */
>>>>>> 0x11, 0x7c, 0x00, 0x04, 0x00, 0x08, /* move.b #4,8(%a0) */
>>>>>> 0x11, 0x40, 0x00, 0x0c, /* move.b %d0,12(%a0) */
>>>>>> 0x60, 0xfa /* bra.s loop */
>>>>>>
>>>>>> The problem occurs during the second instruction (i.e. the first move.b).
>>>>>>
>>>>>> Do you have any ideas where this -1 in s->cc_op could come from?
>>>>>
>>>>> I think it comes from CCOp: it's the value of CC_OP_DYNAMIC.
>>>>>
>>>>> We should not use it to access cc_op_live[].
>>>>>
>>>>> I try to find a fix, but I think Richard knows this better than me.
>>>>
>>>> This should fix the problem, but I'd like Richard checks it...
>>>>
>>>> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
>>>> index b60909222c..721b5801da 100644
>>>> --- a/target/m68k/translate.c
>>>> +++ b/target/m68k/translate.c
>>>> @@ -225,6 +225,11 @@ static void set_cc_op(DisasContext *s, CCOp op)
>>>> s->cc_op = op;
>>>> s->cc_op_synced = 0;
>>>>
>>>> + if (old_op == CC_OP_DYNAMIC) {
>>>> + tcg_gen_discard_i32(QREG_CC_OP);
>>>> + return;
>>>> + }
>>>
>>> This tcg_gen_discard_i32 is correct, but all flags were potentially live
>>> and can be discarded if the new op uses it(*). So I'd replace "return"
>>> with "old_op = CC_OP_FLAGS".
>>
>> Yes, I agree, we can also have:
>>
>> iff --git a/target/m68k/cpu.h b/target/m68k/cpu.h
>> index afae5f68ac..5d03764eab 100644
>> --- a/target/m68k/cpu.h
>> +++ b/target/m68k/cpu.h
>> @@ -182,7 +182,7 @@ void cpu_m68k_set_fpcr(CPUM68KState *env, uint32_t val);
>> */
>> typedef enum {
>> /* Translator only -- use env->cc_op. */
>> - CC_OP_DYNAMIC = -1,
>> + CC_OP_DYNAMIC,
>>
>> /* Each flag bit computed into cc_[xcnvz]. */
>> CC_OP_FLAGS,
>> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
>> index b60909222c..61ac1a8e83 100644
>> --- a/target/m68k/translate.c
>> +++ b/target/m68k/translate.c
>> @@ -207,6 +207,7 @@ typedef void (*disas_proc)(CPUM68KState *env,
>> DisasContext *s, uint16_t insn);
>> #endif
>>
>> static const uint8_t cc_op_live[CC_OP_NB] = {
>> + [CC_OP_DYNAMIC] = CCF_C | CCF_V | CCF_Z | CCF_N | CCF_X,
>> [CC_OP_FLAGS] = CCF_C | CCF_V | CCF_Z | CCF_N | CCF_X,
>> [CC_OP_ADDB ... CC_OP_ADDL] = CCF_X | CCF_N | CCF_V,
>> [CC_OP_SUBB ... CC_OP_SUBL] = CCF_X | CCF_N | CCF_V,
>> @@ -237,6 +238,11 @@ static void set_cc_op(DisasContext *s, CCOp op)
>> if (dead & CCF_V) {
>> tcg_gen_discard_i32(QREG_CC_V);
>> }
>> +
>> + /* Discard any computed CC_OP value */
>> + if (old_op == CC_OP_DYNAMIC) {
>> + tcg_gen_discard_i32(QREG_CC_OP);
>> + }
>> }
>>
>> /* Update the CPU env CC_OP state. */
>>
>>
>
> Yes, this is good too. After my pull request is in, feel free to take
> Thomas's m68k boot-serial-test patch in your tree.
I will. I plan a PULL request before the end of the week.
Thanks,
Laurent
Le 21/12/2017 à 15:36, Laurent Vivier a écrit :
> Le 21/12/2017 à 15:14, Paolo Bonzini a écrit :
>> On 21/12/2017 15:13, Laurent Vivier wrote:
>>> Le 21/12/2017 à 15:10, Paolo Bonzini a écrit :
>>>> On 21/12/2017 14:32, Laurent Vivier wrote:
>>>>> Le 21/12/2017 à 14:07, Laurent Vivier a écrit :
>>>>>> Le 21/12/2017 à 13:49, Thomas Huth a écrit :
>>>>>>> On 20.12.2017 22:56, Paolo Bonzini wrote:
>>>>>>>> On 20/12/2017 20:20, Peter Maydell wrote:
>>>>>>>>> On the x86/sanitizer build, new runtime errors:
>>>>>>>>> GTESTER check-qtest-m68k
>>>>>>>>> /home/petmay01/linaro/qemu-for-merges/target/m68k/translate.c:230:12:
>>>>>>>>> runtime error: index -1 out of bounds for type 'const uint8_t [11]'
>>>>>>>>>
>>>>>>>>> ...and similar fails on one or two boards on most of the other
>>>>>>>>> guest architectures.
>>>>>>>>
>>>>>>>> These are preexisting bugs, now exposed by the boot-serial-test.
>>>>>>>> Thomas, can you identify the architectures that have a problem and
>>>>>>>> notify the maintainers? In the meanwhile I'll keep the boot-serial-test
>>>>>>>> enhancements queued locally, and remove them from the pull request.
>>>>>>>
>>>>>>> Laurent, Richard,
>>>>>>>
>>>>>>> looks like old_op is -1 when set_cc_op() is called here for the first
>>>>>>> time. The problem can be reproduced by running the mini-kernel directly.
>>>>>>> Just get http://people.redhat.com/~thuth/m68k-uart.bin and run QEMU like
>>>>>>> this:
>>>>>>>
>>>>>>> qemu-system-m68k -nographic -kernel ~/tmp/m68k-uart.bin -serial none
>>>>>>>
>>>>>>> That kernel only contains these few instructions:
>>>>>>>
>>>>>>> 0x41, 0xf9, 0xfc, 0x06, 0x00, 0x00, /* lea 0xfc060000,%a0 */
>>>>>>> 0x10, 0x3c, 0x00, 0x54, /* move.b #'T',%d0 */
>>>>>>> 0x11, 0x7c, 0x00, 0x04, 0x00, 0x08, /* move.b #4,8(%a0) */
>>>>>>> 0x11, 0x40, 0x00, 0x0c, /* move.b %d0,12(%a0) */
>>>>>>> 0x60, 0xfa /* bra.s loop */
>>>>>>>
>>>>>>> The problem occurs during the second instruction (i.e. the first move.b).
>>>>>>>
>>>>>>> Do you have any ideas where this -1 in s->cc_op could come from?
>>>>>>
>>>>>> I think it comes from CCOp: it's the value of CC_OP_DYNAMIC.
>>>>>>
>>>>>> We should not use it to access cc_op_live[].
>>>>>>
>>>>>> I try to find a fix, but I think Richard knows this better than me.
>>>>>
>>>>> This should fix the problem, but I'd like Richard checks it...
>>>>>
>>>>> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
>>>>> index b60909222c..721b5801da 100644
>>>>> --- a/target/m68k/translate.c
>>>>> +++ b/target/m68k/translate.c
>>>>> @@ -225,6 +225,11 @@ static void set_cc_op(DisasContext *s, CCOp op)
>>>>> s->cc_op = op;
>>>>> s->cc_op_synced = 0;
>>>>>
>>>>> + if (old_op == CC_OP_DYNAMIC) {
>>>>> + tcg_gen_discard_i32(QREG_CC_OP);
>>>>> + return;
>>>>> + }
>>>>
>>>> This tcg_gen_discard_i32 is correct, but all flags were potentially live
>>>> and can be discarded if the new op uses it(*). So I'd replace "return"
>>>> with "old_op = CC_OP_FLAGS".
>>>
>>> Yes, I agree, we can also have:
>>>
>>> iff --git a/target/m68k/cpu.h b/target/m68k/cpu.h
>>> index afae5f68ac..5d03764eab 100644
>>> --- a/target/m68k/cpu.h
>>> +++ b/target/m68k/cpu.h
>>> @@ -182,7 +182,7 @@ void cpu_m68k_set_fpcr(CPUM68KState *env, uint32_t val);
>>> */
>>> typedef enum {
>>> /* Translator only -- use env->cc_op. */
>>> - CC_OP_DYNAMIC = -1,
>>> + CC_OP_DYNAMIC,
>>>
>>> /* Each flag bit computed into cc_[xcnvz]. */
>>> CC_OP_FLAGS,
>>> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
>>> index b60909222c..61ac1a8e83 100644
>>> --- a/target/m68k/translate.c
>>> +++ b/target/m68k/translate.c
>>> @@ -207,6 +207,7 @@ typedef void (*disas_proc)(CPUM68KState *env,
>>> DisasContext *s, uint16_t insn);
>>> #endif
>>>
>>> static const uint8_t cc_op_live[CC_OP_NB] = {
>>> + [CC_OP_DYNAMIC] = CCF_C | CCF_V | CCF_Z | CCF_N | CCF_X,
>>> [CC_OP_FLAGS] = CCF_C | CCF_V | CCF_Z | CCF_N | CCF_X,
>>> [CC_OP_ADDB ... CC_OP_ADDL] = CCF_X | CCF_N | CCF_V,
>>> [CC_OP_SUBB ... CC_OP_SUBL] = CCF_X | CCF_N | CCF_V,
>>> @@ -237,6 +238,11 @@ static void set_cc_op(DisasContext *s, CCOp op)
>>> if (dead & CCF_V) {
>>> tcg_gen_discard_i32(QREG_CC_V);
>>> }
>>> +
>>> + /* Discard any computed CC_OP value */
>>> + if (old_op == CC_OP_DYNAMIC) {
>>> + tcg_gen_discard_i32(QREG_CC_OP);
>>> + }
>>> }
>>>
>>> /* Update the CPU env CC_OP state. */
>>>
>>>
>>
>> Yes, this is good too. After my pull request is in, feel free to take
>> Thomas's m68k boot-serial-test patch in your tree.
And what about:
tests/boot-serial-test: Add tests for microblaze boards
tests/boot-serial-test: Add a test for the moxiesim machine
tests/boot-serial-test: Add support for the raspi2 machine
?
Thanks,
Laurent
On 21/12/2017 20:20, Laurent Vivier wrote: >>> Yes, this is good too. After my pull request is in, feel free to take >>> Thomas's m68k boot-serial-test patch in your tree. > And what about: > > tests/boot-serial-test: Add tests for microblaze boards > tests/boot-serial-test: Add a test for the moxiesim machine > tests/boot-serial-test: Add support for the raspi2 machine I didn't want to hold the whole pull request close to the Christmas holidays; once either Thomas or I will test them with the sanitizers, they will go in. Paolo
On 21.12.2017 20:30, Paolo Bonzini wrote: > On 21/12/2017 20:20, Laurent Vivier wrote: >>>> Yes, this is good too. After my pull request is in, feel free to take >>>> Thomas's m68k boot-serial-test patch in your tree. >> And what about: >> >> tests/boot-serial-test: Add tests for microblaze boards >> tests/boot-serial-test: Add a test for the moxiesim machine >> tests/boot-serial-test: Add support for the raspi2 machine > > I didn't want to hold the whole pull request close to the Christmas > holidays; once either Thomas or I will test them with the sanitizers, > they will go in. I've now checked them with '-fsanitize=undefined -fno-sanitize=shift' (using clang) and I do not get any further errors with the three remaining patches, so I think they should be fine for the next PULL request. Thomas
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 1513790098-9815-1-git-send-email-pbonzini@redhat.com
Subject: [Qemu-devel] [PULL 00/46] First batch of misc patches for QEMU 2.12
=== TEST SCRIPT BEGIN ===
#!/bin/bash
BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0
git config --local diff.renamelimit 0
git config --local diff.renames True
commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
failed=1
echo
fi
n=$((n+1))
done
exit $failed
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
784f1d412c chardev: convert the socket server to QIONetListener
913bc4b43c blockdev: convert qemu-nbd server to QIONetListener
c5312f02ce blockdev: convert internal NBD server to QIONetListener
8ea4a652ea test: add some chardev mux event tests
d08cc74e88 chardev: fix backend events regression with mux chardev
d2b264495b rcu: reduce more than 7MB heap memory by malloc_trim()
fcef1c98fa checkpatch: volatile with a comment or sig_atomic_t is okay
1db2303fc0 i8259: move TYPE_INTERRUPT_STATS_PROVIDER upper
30e06e33bf kvm-i8259: support "info pic" and "info irq"
57a7117c3a i8259: generalize statistics into common code
22e865ea7e i8259: use DEBUG_IRQ_COUNT always
cb30f9bb23 i8259: convert DPRINTFs into trace
de0e3bc778 Remove legacy -no-kvm-pit option
c88841bd2d scsi: replace hex constants with #defines
1e1c54f23f scsi: provide general-purpose functions to manage sense data
3c107012a2 hw/i386/vmport: replace fprintf() by trace events or LOG_UNIMP
24c0e08084 hw/mips/boston: Remove workaround for writes to ROM aborting
5209850f2c exec: Don't reuse unassigned_mem_ops for io_mem_rom
1deadef1c3 block/iscsi: only report an iSCSI Failure if we don't handle it gracefully
400e06269d block/iscsi: dont leave allocmap in an invalid state on UNMAP failure
a1303221a4 cpu: suffix cpu address spaces with cpu index
0628ef1b41 cpu: refactor cpu_address_space_init()
d1c1216812 tests/boot-serial-test: Add support for the raspi2 machine
cf3a5ef594 tests/boot-serial-test: Add a test for the moxiesim machine
5d14a211cb hw/moxie/moxiesim: Add support for loading a BIOS on moxiesim
731d666321 tests/boot-serial-test: Add tests for microblaze boards
6877647e58 tests/boot-serial-test: Add support for the mcf5208evb board
78e93db470 tests/boot-serial-test: Add code to allow to specify our own kernel or bios
d07f10209a tests/boot-serial-test: Make sure that we check the timeout regularly
fbbc2322b9 target/i386: Fix handling of VEX prefixes
2885eac109 sockets: remove obsolete code that updated listen address
6549fd19a9 baum: Truncate braille device size to 84x1
9a9c369e13 target/i386: Fix compiler warnings
c8783cefce cpu-exec: fix missed CPU kick during interrupt injection
9d3f7299bc cpus: make pause_all_cpus() play with SMP on single threaded TCG
2e77bcf01f hyperv: make SynIC version msr constant
1ffad6d1f7 hyperv: ensure SINTx msrs are reset properly
930f81a089 hyperv: set partition-wide MSRs only on first vcpu
c948257a80 x86/cpu: Enable new SSE/AVX/AVX512 cpu features
6b2ad070e1 MAITAINERS: List Fam Zheng as reviewer for SCSI patches
96948f407b scsi-block: Add share-rw option
ea0dc097e6 Revert "docker: Enable features explicitly in test-full"
d3dbc385ac contrib: add systemd unit files
fa1ad0e290 qemu-pr-helper: miscellaneous fixes
0d358f6451 qemu-thread: fix races on threads that exit very quickly
d7c8a0c55d memfd: fix configure test
=== OUTPUT BEGIN ===
Checking PATCH 1/46: memfd: fix configure test...
Checking PATCH 2/46: qemu-thread: fix races on threads that exit very quickly...
ERROR: braces {} are necessary for all arms of this statement
#131: FILE: util/qemu-thread-posix.c:544:
+ if (err)
[...]
total: 1 errors, 0 warnings, 86 lines checked
Your patch has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 3/46: qemu-pr-helper: miscellaneous fixes...
Checking PATCH 4/46: contrib: add systemd unit files...
Checking PATCH 5/46: Revert "docker: Enable features explicitly in test-full"...
Checking PATCH 6/46: scsi-block: Add share-rw option...
Checking PATCH 7/46: MAITAINERS: List Fam Zheng as reviewer for SCSI patches...
Checking PATCH 8/46: x86/cpu: Enable new SSE/AVX/AVX512 cpu features...
Checking PATCH 9/46: hyperv: set partition-wide MSRs only on first vcpu...
Checking PATCH 10/46: hyperv: ensure SINTx msrs are reset properly...
Checking PATCH 11/46: hyperv: make SynIC version msr constant...
Checking PATCH 12/46: cpus: make pause_all_cpus() play with SMP on single threaded TCG...
Checking PATCH 13/46: cpu-exec: fix missed CPU kick during interrupt injection...
Checking PATCH 14/46: target/i386: Fix compiler warnings...
Checking PATCH 15/46: baum: Truncate braille device size to 84x1...
Checking PATCH 16/46: sockets: remove obsolete code that updated listen address...
Checking PATCH 17/46: target/i386: Fix handling of VEX prefixes...
Checking PATCH 18/46: tests/boot-serial-test: Make sure that we check the timeout regularly...
Checking PATCH 19/46: tests/boot-serial-test: Add code to allow to specify our own kernel or bios...
Checking PATCH 20/46: tests/boot-serial-test: Add support for the mcf5208evb board...
Checking PATCH 21/46: tests/boot-serial-test: Add tests for microblaze boards...
Checking PATCH 22/46: hw/moxie/moxiesim: Add support for loading a BIOS on moxiesim...
Checking PATCH 23/46: tests/boot-serial-test: Add a test for the moxiesim machine...
Checking PATCH 24/46: tests/boot-serial-test: Add support for the raspi2 machine...
Checking PATCH 25/46: cpu: refactor cpu_address_space_init()...
Checking PATCH 26/46: cpu: suffix cpu address spaces with cpu index...
Checking PATCH 27/46: block/iscsi: dont leave allocmap in an invalid state on UNMAP failure...
Checking PATCH 28/46: block/iscsi: only report an iSCSI Failure if we don't handle it gracefully...
Checking PATCH 29/46: exec: Don't reuse unassigned_mem_ops for io_mem_rom...
Checking PATCH 30/46: hw/mips/boston: Remove workaround for writes to ROM aborting...
Checking PATCH 31/46: hw/i386/vmport: replace fprintf() by trace events or LOG_UNIMP...
Checking PATCH 32/46: scsi: provide general-purpose functions to manage sense data...
Checking PATCH 33/46: scsi: replace hex constants with #defines...
Checking PATCH 34/46: Remove legacy -no-kvm-pit option...
Checking PATCH 35/46: i8259: convert DPRINTFs into trace...
Checking PATCH 36/46: i8259: use DEBUG_IRQ_COUNT always...
Checking PATCH 37/46: i8259: generalize statistics into common code...
Checking PATCH 38/46: kvm-i8259: support "info pic" and "info irq"...
Checking PATCH 39/46: i8259: move TYPE_INTERRUPT_STATS_PROVIDER upper...
Checking PATCH 40/46: checkpatch: volatile with a comment or sig_atomic_t is okay...
ERROR: line over 90 characters
#35: FILE: scripts/checkpatch.pl:2481:
+ my $msg = "Use of volatile is usually wrong, please add a comment\n" . $herecurr;
total: 1 errors, 0 warnings, 13 lines checked
Your patch has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 41/46: rcu: reduce more than 7MB heap memory by malloc_trim()...
Checking PATCH 42/46: chardev: fix backend events regression with mux chardev...
Checking PATCH 43/46: test: add some chardev mux event tests...
Checking PATCH 44/46: blockdev: convert internal NBD server to QIONetListener...
Checking PATCH 45/46: blockdev: convert qemu-nbd server to QIONetListener...
Checking PATCH 46/46: chardev: convert the socket server to QIONetListener...
=== OUTPUT END ===
Test command exited with code: 1
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org
© 2016 - 2026 Red Hat, Inc.