audio/audio_int.h | 4 +- block/iscsi.c | 2 + configure | 5 +- docs/specs/ivshmem-spec.txt | 8 +- hw/i386/pc_piix.c | 1 - hw/intc/xics_kvm.c | 1 + hw/intc/xics_spapr.c | 1 + hw/misc/ivshmem.c | 210 +--------------------------- hw/ppc/spapr_irq.c | 1 + hw/virtio/vhost-user.c | 2 +- include/hw/arm/pxa.h | 1 + include/hw/char/serial.h | 4 +- include/hw/devices.h | 1 + include/hw/i2c/smbus.h | 2 + include/hw/i386/pc.h | 4 +- include/hw/ide/ahci.h | 4 +- include/hw/input/ps2.h | 2 + include/hw/pcmcia.h | 4 +- include/hw/ppc/spapr.h | 5 +- include/hw/ppc/spapr_xive.h | 2 - include/hw/ppc/xics.h | 7 - include/hw/ppc/xics_spapr.h | 37 +++++ include/qemu/compiler.h | 4 + include/qemu/typedefs.h | 13 -- include/sysemu/bt.h | 4 +- include/ui/console.h | 24 ++-- include/ui/qemu-pixman.h | 10 ++ linux-user/qemu.h | 6 +- qemu-deprecated.texi | 5 - scripts/device-crash-test | 1 - target/ppc/cpu.h | 13 +- tests/Makefile.include | 22 +-- tests/boot-order-test.c | 59 ++++---- tests/endianness-test.c | 329 ++++++++++++++++++++++---------------------- tests/hexloader-test.c | 2 +- tests/ivshmem-test.c | 67 ++++----- tests/pnv-xscom-test.c | 29 ++-- tests/vhost-user-test.c | 2 +- util/oslib-posix.c | 8 +- 39 files changed, 363 insertions(+), 543 deletions(-) create mode 100644 include/hw/ppc/xics_spapr.h
Hi Peter!
The following changes since commit 7260438b7056469610ee166f7abe9ff8a26b8b16:
Merge remote-tracking branch 'remotes/palmer/tags/riscv-for-master-3.2-part2' into staging (2019-01-14 11:41:43 +0000)
are available in the git repository at:
https://gitlab.com/huth/qemu.git tags/pull-request-2019-01-14v2
for you to fetch changes up to 650db715681ad1a042705484776e1974f288f3d4:
tests/hexloader-test: Don't pass -nographic to the QEMU under test (2019-01-14 18:21:29 +0100)
----------------------------------------------------------------
- Remove deprecated "ivshmem" legacy device
- Bug fix for vhost-user-test
- Use more CONFIG Makefile switches for qtests
- Get rid of global_qtests in some more qtests
- typedef cleanups
- Fixes for compiling with Clang
- Force C standard to gnu99
----------------------------------------------------------------
Li Qiang (3):
tests: vhost-user-test: initialize 'fd' in chr_read
vhost-user: fix ioeventfd_enabled
util: check the return value of fcntl in qemu_set_{block, nonblock}
Peter Maydell (1):
tests/hexloader-test: Don't pass -nographic to the QEMU under test
Philippe Mathieu-Daudé (12):
hw/input/ps2: Remove PS2State from "qemu/typedefs.h"
hw/pcmcia: Remove PCMCIACardState from "qemu/typedefs.h"
hw/ide/ahci: Remove AllwinnerAHCIState from "qemu/typedefs.h"
hw/i2c/smbus: Remove SMBusDevice from "qemu/typedefs.h"
hw/bt: Remove HCIInfo from "qemu/typedefs.h"
hw/char/serial: Remove SerialState from "qemu/typedefs.h"
hw/i386: Remove PCMachineClass from "qemu/typedefs.h"
audio: Remove AudioState from "qemu/typedefs.h"
ui/console: Remove QemuDmaBuf from "qemu/typedefs.h"
ui/console: Remove DisplayState/DisplaySurface from "qemu/typedefs.h"
ui/console: Remove MouseTransformInfo from qemu/typedefs.h
ui/console: Remove PixelFormat from qemu/typedefs.h
Thomas Huth (11):
hw/misc/ivshmem: Remove deprecated "ivshmem" legacy device
tests/Makefile: Use some more CONFIG switches for x86 tests
tests/Makefile: Use some more CONFIG switches for ppc tests
tests/endianesss: Make test independent of global_qtest
tests/boot-order: Make test independent of global_qtest
tests/pnv-xscom: Make test independent of global_qtest
linux-user: Fix compilation with clang 3.4
ppc: Move spapr-related prototypes from xics.h into a seperate header file
ppc: Fix duplicated typedefs to be able to compile with Clang in gnu99 mode
block: Work-around a bug in libiscsi 1.9.0 when used in gnu99 mode
configure: Force the C standard to gnu99
audio/audio_int.h | 4 +-
block/iscsi.c | 2 +
configure | 5 +-
docs/specs/ivshmem-spec.txt | 8 +-
hw/i386/pc_piix.c | 1 -
hw/intc/xics_kvm.c | 1 +
hw/intc/xics_spapr.c | 1 +
hw/misc/ivshmem.c | 210 +---------------------------
hw/ppc/spapr_irq.c | 1 +
hw/virtio/vhost-user.c | 2 +-
include/hw/arm/pxa.h | 1 +
include/hw/char/serial.h | 4 +-
include/hw/devices.h | 1 +
include/hw/i2c/smbus.h | 2 +
include/hw/i386/pc.h | 4 +-
include/hw/ide/ahci.h | 4 +-
include/hw/input/ps2.h | 2 +
include/hw/pcmcia.h | 4 +-
include/hw/ppc/spapr.h | 5 +-
include/hw/ppc/spapr_xive.h | 2 -
include/hw/ppc/xics.h | 7 -
include/hw/ppc/xics_spapr.h | 37 +++++
include/qemu/compiler.h | 4 +
include/qemu/typedefs.h | 13 --
include/sysemu/bt.h | 4 +-
include/ui/console.h | 24 ++--
include/ui/qemu-pixman.h | 10 ++
linux-user/qemu.h | 6 +-
qemu-deprecated.texi | 5 -
scripts/device-crash-test | 1 -
target/ppc/cpu.h | 13 +-
tests/Makefile.include | 22 +--
tests/boot-order-test.c | 59 ++++----
tests/endianness-test.c | 329 ++++++++++++++++++++++----------------------
tests/hexloader-test.c | 2 +-
tests/ivshmem-test.c | 67 ++++-----
tests/pnv-xscom-test.c | 29 ++--
tests/vhost-user-test.c | 2 +-
util/oslib-posix.c | 8 +-
39 files changed, 363 insertions(+), 543 deletions(-)
create mode 100644 include/hw/ppc/xics_spapr.h
On Mon, 14 Jan 2019 at 17:45, Thomas Huth <thuth@redhat.com> wrote: > > Hi Peter! > > The following changes since commit 7260438b7056469610ee166f7abe9ff8a26b8b16: > > Merge remote-tracking branch 'remotes/palmer/tags/riscv-for-master-3.2-part2' into staging (2019-01-14 11:41:43 +0000) > > are available in the git repository at: > > https://gitlab.com/huth/qemu.git tags/pull-request-2019-01-14v2 > > for you to fetch changes up to 650db715681ad1a042705484776e1974f288f3d4: > > tests/hexloader-test: Don't pass -nographic to the QEMU under test (2019-01-14 18:21:29 +0100) > > ---------------------------------------------------------------- > - Remove deprecated "ivshmem" legacy device > - Bug fix for vhost-user-test > - Use more CONFIG Makefile switches for qtests > - Get rid of global_qtests in some more qtests > - typedef cleanups > - Fixes for compiling with Clang > - Force C standard to gnu99 > ---------------------------------------------------------------- Hi; another compile failure on that ppc64 system, I'm afraid: /home/pm215/qemu/qemu-seccomp.c:45:1: error: initializer element is not constant }; ^ /home/pm215/qemu/qemu-seccomp.c:45:1: error: (near initialization for ‘sched_setscheduler_arg[0]’) (I did a quick check with 'make -k' and it looks like there aren't any more lurking after that one.) The system libseccomp is libseccomp-2.3.1-3.el7. thanks -- PMM
On 2019-01-15 14:16, Peter Maydell wrote:
> On Mon, 14 Jan 2019 at 17:45, Thomas Huth <thuth@redhat.com> wrote:
>>
>> Hi Peter!
>>
>> The following changes since commit 7260438b7056469610ee166f7abe9ff8a26b8b16:
>>
>> Merge remote-tracking branch 'remotes/palmer/tags/riscv-for-master-3.2-part2' into staging (2019-01-14 11:41:43 +0000)
>>
>> are available in the git repository at:
>>
>> https://gitlab.com/huth/qemu.git tags/pull-request-2019-01-14v2
>>
>> for you to fetch changes up to 650db715681ad1a042705484776e1974f288f3d4:
>>
>> tests/hexloader-test: Don't pass -nographic to the QEMU under test (2019-01-14 18:21:29 +0100)
>>
>> ----------------------------------------------------------------
>> - Remove deprecated "ivshmem" legacy device
>> - Bug fix for vhost-user-test
>> - Use more CONFIG Makefile switches for qtests
>> - Get rid of global_qtests in some more qtests
>> - typedef cleanups
>> - Fixes for compiling with Clang
>> - Force C standard to gnu99
>> ----------------------------------------------------------------
>
> Hi; another compile failure on that ppc64 system, I'm afraid:
>
> /home/pm215/qemu/qemu-seccomp.c:45:1: error: initializer element is not constant
> };
> ^
> /home/pm215/qemu/qemu-seccomp.c:45:1: error: (near initialization for
> ‘sched_setscheduler_arg[0]’)
>
> (I did a quick check with 'make -k' and it looks like there aren't
> any more lurking after that one.)
>
> The system libseccomp is libseccomp-2.3.1-3.el7.
Darn, I think this time it is a compiler bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63567
It's only fixed in GCC >= v5.0 :-(
I see two options:
1) Expand the macro manually:
diff --git a/qemu-seccomp.c b/qemu-seccomp.c
--- a/qemu-seccomp.c
+++ b/qemu-seccomp.c
@@ -41,7 +41,7 @@ struct QemuSeccompSyscall {
};
const struct scmp_arg_cmp sched_setscheduler_arg[] = {
- SCMP_A1(SCMP_CMP_NE, SCHED_IDLE)
+ { .arg = 1, .op = SCMP_CMP_NE, .datum_a = SCHED_IDLE }
};
... then it compiles fine for me in gnu99 mode, too.
2) Scratch the whole idea with gnu99 again ...
Opinions?
Thomas
On Tue, Jan 15, 2019 at 03:32:10PM +0100, Thomas Huth wrote:
> On 2019-01-15 14:16, Peter Maydell wrote:
> > On Mon, 14 Jan 2019 at 17:45, Thomas Huth <thuth@redhat.com> wrote:
> >>
> >> Hi Peter!
> >>
> >> The following changes since commit 7260438b7056469610ee166f7abe9ff8a26b8b16:
> >>
> >> Merge remote-tracking branch 'remotes/palmer/tags/riscv-for-master-3.2-part2' into staging (2019-01-14 11:41:43 +0000)
> >>
> >> are available in the git repository at:
> >>
> >> https://gitlab.com/huth/qemu.git tags/pull-request-2019-01-14v2
> >>
> >> for you to fetch changes up to 650db715681ad1a042705484776e1974f288f3d4:
> >>
> >> tests/hexloader-test: Don't pass -nographic to the QEMU under test (2019-01-14 18:21:29 +0100)
> >>
> >> ----------------------------------------------------------------
> >> - Remove deprecated "ivshmem" legacy device
> >> - Bug fix for vhost-user-test
> >> - Use more CONFIG Makefile switches for qtests
> >> - Get rid of global_qtests in some more qtests
> >> - typedef cleanups
> >> - Fixes for compiling with Clang
> >> - Force C standard to gnu99
> >> ----------------------------------------------------------------
> >
> > Hi; another compile failure on that ppc64 system, I'm afraid:
> >
> > /home/pm215/qemu/qemu-seccomp.c:45:1: error: initializer element is not constant
> > };
> > ^
> > /home/pm215/qemu/qemu-seccomp.c:45:1: error: (near initialization for
> > ‘sched_setscheduler_arg[0]’)
> >
> > (I did a quick check with 'make -k' and it looks like there aren't
> > any more lurking after that one.)
> >
> > The system libseccomp is libseccomp-2.3.1-3.el7.
>
> Darn, I think this time it is a compiler bug:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63567
>
> It's only fixed in GCC >= v5.0 :-(
>
> I see two options:
>
> 1) Expand the macro manually:
>
> diff --git a/qemu-seccomp.c b/qemu-seccomp.c
> --- a/qemu-seccomp.c
> +++ b/qemu-seccomp.c
> @@ -41,7 +41,7 @@ struct QemuSeccompSyscall {
> };
>
> const struct scmp_arg_cmp sched_setscheduler_arg[] = {
> - SCMP_A1(SCMP_CMP_NE, SCHED_IDLE)
> + { .arg = 1, .op = SCMP_CMP_NE, .datum_a = SCHED_IDLE }
> };
>
> ... then it compiles fine for me in gnu99 mode, too.
>
> 2) Scratch the whole idea with gnu99 again ...
I'd prefer 1, since I think its important for us to actually have a
consistent compiler standard to target, even if we have to do some
short terms hacks like the one you show. As long as a put a comment
next to it, we can revert the hack when we eventually ditch support for the
GCC <= 5.0
Also, I'd probably argue that the seccomp syntax without the macro
is clearer to understand regardless :-)
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Tue, Jan 15, 2019 at 03:32:10PM +0100, Thomas Huth wrote:
>> On 2019-01-15 14:16, Peter Maydell wrote:
>> > On Mon, 14 Jan 2019 at 17:45, Thomas Huth <thuth@redhat.com> wrote:
>> >>
>> >> Hi Peter!
>> >>
>> >> The following changes since commit 7260438b7056469610ee166f7abe9ff8a26b8b16:
>> >>
>> >> Merge remote-tracking branch 'remotes/palmer/tags/riscv-for-master-3.2-part2' into staging (2019-01-14 11:41:43 +0000)
>> >>
>> >> are available in the git repository at:
>> >>
>> >> https://gitlab.com/huth/qemu.git tags/pull-request-2019-01-14v2
>> >>
>> >> for you to fetch changes up to 650db715681ad1a042705484776e1974f288f3d4:
>> >>
>> >> tests/hexloader-test: Don't pass -nographic to the QEMU under test (2019-01-14 18:21:29 +0100)
>> >>
>> >> ----------------------------------------------------------------
>> >> - Remove deprecated "ivshmem" legacy device
>> >> - Bug fix for vhost-user-test
>> >> - Use more CONFIG Makefile switches for qtests
>> >> - Get rid of global_qtests in some more qtests
>> >> - typedef cleanups
>> >> - Fixes for compiling with Clang
>> >> - Force C standard to gnu99
>> >> ----------------------------------------------------------------
>> >
>> > Hi; another compile failure on that ppc64 system, I'm afraid:
>> >
>> > /home/pm215/qemu/qemu-seccomp.c:45:1: error: initializer element is not constant
>> > };
>> > ^
>> > /home/pm215/qemu/qemu-seccomp.c:45:1: error: (near initialization for
>> > ‘sched_setscheduler_arg[0]’)
>> >
>> > (I did a quick check with 'make -k' and it looks like there aren't
>> > any more lurking after that one.)
>> >
>> > The system libseccomp is libseccomp-2.3.1-3.el7.
>>
>> Darn, I think this time it is a compiler bug:
>>
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63567
>>
>> It's only fixed in GCC >= v5.0 :-(
>>
>> I see two options:
>>
>> 1) Expand the macro manually:
>>
>> diff --git a/qemu-seccomp.c b/qemu-seccomp.c
>> --- a/qemu-seccomp.c
>> +++ b/qemu-seccomp.c
>> @@ -41,7 +41,7 @@ struct QemuSeccompSyscall {
>> };
>>
>> const struct scmp_arg_cmp sched_setscheduler_arg[] = {
>> - SCMP_A1(SCMP_CMP_NE, SCHED_IDLE)
>> + { .arg = 1, .op = SCMP_CMP_NE, .datum_a = SCHED_IDLE }
>> };
>>
>> ... then it compiles fine for me in gnu99 mode, too.
>>
>> 2) Scratch the whole idea with gnu99 again ...
>
> I'd prefer 1, since I think its important for us to actually have a
> consistent compiler standard to target, even if we have to do some
> short terms hacks like the one you show. As long as a put a comment
> next to it, we can revert the hack when we eventually ditch support for the
> GCC <= 5.0
Yes, nailing down the language dialect is worth a few temporary hacks.
> Also, I'd probably argue that the seccomp syntax without the macro
> is clearer to understand regardless :-)
Me too, except SCMP_A1 & friends come from /usr/include/seccomp.h.
Expanding the macro until we upgrade compilers feels tolerable. Any
better ideas?
© 2016 - 2025 Red Hat, Inc.