[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH qemu v10] spapr: Implement Open Firmware client interface
From: |
Greg Kurz |
Subject: |
Re: [PATCH qemu v10] spapr: Implement Open Firmware client interface |
Date: |
Sat, 31 Oct 2020 17:11:07 +0100 |
On Sat, 31 Oct 2020 16:53:24 +1100
Alexey Kardashevskiy <aik@ozlabs.ru> wrote:
> Has anyone at least tried this, or everybody is busy KVMforuming? :)
>
Yeah virtualKVMforuming :)
I had tried when you posted this v10 but I didn't get far at the time,
because the kernel I was passing didn't want to boot and then I got
distracted by more urgent work... so I just gave a try on my laptop
(fedora32 with gcc-10.2.1-6.fc32.x86_64) and:
[36/945] Compiling C object
libqemu-ppc64-softmmu.fa.p/hw_ppc_spapr_of_client.c.o
FAILED: libqemu-ppc64-softmmu.fa.p/hw_ppc_spapr_of_client.c.o
cc -Ilibqemu-ppc64-softmmu.fa.p -I. -I../.. -Itarget/ppc -I../../target/ppc
-Itrace -Iqapi -Iui -Iui/shader -I/usr/include/capstone -I/usr/include/pixman-1
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fdiagnostics-color=auto
-pipe -Wall -Winvalid-pch -Werror -std=gnu99 -O2 -g -U_FORTIFY_SOURCE
-D_FORTIFY_SOURCE=2 -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv
-Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs
-Wendif-labels -Wexpansion-to-defined -Wno-missing-include-dirs
-Wno-shift-negative-value -Wno-psabi -fstack-protector-strong -isystem
/home/greg/Work/qemu/qemu-ppc/linux-headers -isystem linux-headers -iquote
/home/greg/Work/qemu/qemu-ppc/tcg/i386 -iquote . -iquote
/home/greg/Work/qemu/qemu-ppc -iquote /home/greg/Work/qemu/qemu-ppc/accel/tcg
-iquote /home/greg/Work/qemu/qemu-ppc/include -iquote
/home/greg/Work/qemu/qemu-ppc/disas/libvixl -pthread -fPIC
-isystem../../linux-headers -isystemlinux-headers -DNEED_CPU_H
'-DCONFIG_TARGET="ppc64-softmmu-config-target.h"'
'-DCONFIG_DEVICES="ppc64-softmmu-config-devices.h"' -MD -MQ
libqemu-ppc64-softmmu.fa.p/hw_ppc_spapr_of_client.c.o -MF
libqemu-ppc64-softmmu.fa.p/hw_ppc_spapr_of_client.c.o.d -o
libqemu-ppc64-softmmu.fa.p/hw_ppc_spapr_of_client.c.o -c
../../hw/ppc/spapr_of_client.c
../../hw/ppc/spapr_of_client.c: In function ‘prop_format’:
../../hw/ppc/spapr_of_client.c:131:29: error: comparison is always false due to
limited range of data type [-Werror=type-limits]
131 | if (*c < 0x20 || *c >= 0x80) {
| ^~
Fixed by:
- const char *c;
+ const unsigned char *c;
../../hw/ppc/spapr_of_client.c: In function ‘spapr_h_of_client’:
../../hw/ppc/spapr_of_client.c:793:35: error: taking address of packed member
of ‘struct prom_args’ may result in an unaligned pointer value
[-Werror=address-of-packed-member]
793 | &pargs.args[nargs + 1]);
| ^~~~~~~~~~~~~~~~~~~~~~
../../hw/ppc/spapr_of_client.c:800:38: error: taking address of packed member
of ‘struct prom_args’ may result in an unaligned pointer value
[-Werror=address-of-packed-member]
800 | &pargs.args[nargs + 1]);
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Fixed by dropping QEMU_PACKED and ensuring we don't have unwanted padding:
-} QEMU_PACKED;
+};
+
+QEMU_BUILD_BUG_ON(sizeof(struct prom_args) != 13 * 4);
I'll resume my experiments later :)
Cheers,
--
Greg