default-configs/ppc64-softmmu.mak | 2 + disas/ppc.c | 2 + hw/intc/Makefile.objs | 2 + hw/intc/spapr_xive.c | 420 ++++++++++ hw/intc/xive.c | 1568 ++++++++++++++++++++++++++++++++++++ hw/ppc/e500.c | 18 +- hw/ppc/mac_newworld.c | 30 +- hw/ppc/ppc405_boards.c | 4 +- hw/ppc/ppc405_uc.c | 4 +- hw/ppc/ppc440_bamboo.c | 5 +- hw/ppc/sam460ex.c | 2 +- hw/ppc/spapr.c | 22 +- hw/ppc/spapr_iommu.c | 2 +- hw/ppc/spapr_irq.c | 16 +- hw/ppc/spapr_vio.c | 2 +- hw/ppc/virtex_ml507.c | 2 +- include/hw/ppc/openpic.h | 2 + include/hw/ppc/spapr.h | 1 + include/hw/ppc/spapr_irq.h | 1 + include/hw/ppc/spapr_xive.h | 45 ++ include/hw/ppc/xive.h | 428 ++++++++++ include/hw/ppc/xive_regs.h | 213 +++++ target/ppc/translate.c | 60 +- target/ppc/translate/vmx-ops.inc.c | 2 +- target/ppc/translate_init.inc.c | 6 +- 25 files changed, 2773 insertions(+), 86 deletions(-) create mode 100644 hw/intc/spapr_xive.c create mode 100644 hw/intc/xive.c create mode 100644 include/hw/ppc/spapr_xive.h create mode 100644 include/hw/ppc/xive.h create mode 100644 include/hw/ppc/xive_regs.h
The following changes since commit 4b3aab204204ca742836219b97b538d90584f4f2: Merge remote-tracking branch 'remotes/vivier2/tags/trivial-patches-pull-request' into staging (2018-12-11 22:26:44 +0000) are available in the Git repository at: git://github.com/dgibson/qemu.git tags/ppc-for-4.0-20181213 for you to fetch changes up to 67888a17b6683600ae3fa64ca275c737ba8a9a45: spapr/xive: use the VCPU id as a NVT identifier (2018-12-13 09:44:04 +1100) ---------------------------------------------------------------- ppc patch queue 2018-12-13 Here's the first ppc and spapr pull request for 4.0. Highlights are: * The start of support for the POWER9 "XIVE" interrupt controller (not complete enough to use yet, but we're getting there) * A number of g_new vs. g_malloc cleanups * Some IRQ wiring cleanups * A fix for how we advertise NUMA nodes to the guest for pseries ---------------------------------------------------------------- Cédric Le Goater (14): ppc/xive: introduce a XIVE interrupt source model ppc/xive: add support for the LSI interrupt sources ppc/xive: introduce the XiveNotifier interface ppc/xive: introduce the XiveRouter model ppc/xive: introduce the XIVE Event Notification Descriptors spapr: initialize VSMT before initializing the IRQ backend spapr: introduce a spapr_irq_init() routine spapr: export and rename the xics_max_server_number() routine ppc/xive: add support for the END Event State Buffers ppc/xive: introduce the XIVE interrupt thread context ppc/xive: introduce a simplified XIVE presenter ppc/xive: notify the CPU when the interrupt priority is more privileged spapr/xive: introduce a XIVE interrupt controller spapr/xive: use the VCPU id as a NVT identifier Greg Kurz (10): spapr: drop redundant statement in spapr_populate_drconf_memory() target/ppc: use g_new(T, n) instead of g_malloc(sizeof(T) * n) spapr: use g_new(T, n) instead of g_malloc(sizeof(T) * n) ppc405_boards: use g_new(T, n) instead of g_malloc(sizeof(T) * n) ppc405_uc: use g_new(T, n) instead of g_malloc(sizeof(T) * n) ppc440_bamboo: use g_new(T, n) instead of g_malloc(sizeof(T) * n) sam460ex: use g_new(T, n) instead of g_malloc(sizeof(T) * n) virtex_ml507: use g_new(T, n) instead of g_malloc(sizeof(T) * n) mac_newworld: simplify IRQ wiring e500: simplify IRQ wiring Paul A. Clarke (1): Changes requirement for "vsubsbs" instruction Serhii Popovych (1): spapr: Fix ibm,max-associativity-domains property number of nodes Suraj Jitindar Singh (1): target/ppc: tcg: Implement addex instruction default-configs/ppc64-softmmu.mak | 2 + disas/ppc.c | 2 + hw/intc/Makefile.objs | 2 + hw/intc/spapr_xive.c | 420 ++++++++++ hw/intc/xive.c | 1568 ++++++++++++++++++++++++++++++++++++ hw/ppc/e500.c | 18 +- hw/ppc/mac_newworld.c | 30 +- hw/ppc/ppc405_boards.c | 4 +- hw/ppc/ppc405_uc.c | 4 +- hw/ppc/ppc440_bamboo.c | 5 +- hw/ppc/sam460ex.c | 2 +- hw/ppc/spapr.c | 22 +- hw/ppc/spapr_iommu.c | 2 +- hw/ppc/spapr_irq.c | 16 +- hw/ppc/spapr_vio.c | 2 +- hw/ppc/virtex_ml507.c | 2 +- include/hw/ppc/openpic.h | 2 + include/hw/ppc/spapr.h | 1 + include/hw/ppc/spapr_irq.h | 1 + include/hw/ppc/spapr_xive.h | 45 ++ include/hw/ppc/xive.h | 428 ++++++++++ include/hw/ppc/xive_regs.h | 213 +++++ target/ppc/translate.c | 60 +- target/ppc/translate/vmx-ops.inc.c | 2 +- target/ppc/translate_init.inc.c | 6 +- 25 files changed, 2773 insertions(+), 86 deletions(-) create mode 100644 hw/intc/spapr_xive.c create mode 100644 hw/intc/xive.c create mode 100644 include/hw/ppc/spapr_xive.h create mode 100644 include/hw/ppc/xive.h create mode 100644 include/hw/ppc/xive_regs.h
On Thu, 13 Dec 2018 at 04:01, David Gibson <david@gibson.dropbear.id.au> wrote: > > The following changes since commit 4b3aab204204ca742836219b97b538d90584f4f2: > > Merge remote-tracking branch 'remotes/vivier2/tags/trivial-patches-pull-request' into staging (2018-12-11 22:26:44 +0000) > > are available in the Git repository at: > > git://github.com/dgibson/qemu.git tags/ppc-for-4.0-20181213 > > for you to fetch changes up to 67888a17b6683600ae3fa64ca275c737ba8a9a45: > > spapr/xive: use the VCPU id as a NVT identifier (2018-12-13 09:44:04 +1100) > > ---------------------------------------------------------------- > ppc patch queue 2018-12-13 > > Here's the first ppc and spapr pull request for 4.0. Highlights are: > > * The start of support for the POWER9 "XIVE" interrupt controller > (not complete enough to use yet, but we're getting there) > * A number of g_new vs. g_malloc cleanups > * Some IRQ wiring cleanups > * A fix for how we advertise NUMA nodes to the guest for pseries > > --------------------------------------------------------------- Compile errors in the windows cross-build. These look like they're assumptions that "long" is 64 bits, which it is not on Windows. For instance the PPC_BIT macro should be using the ULL suffix, not UL ("UL" is almost always a bug: either the constant is 32-bit, in which case "U" is what you want, or it's 64-bit and you need "ULL"). Using __builtin_ffsl() directly in target/ppc/cpu.h also looks a bit dubious -- this should be rephrased to use ctz32() or ctz64() instead. In file included from /home/petmay01/qemu-for-merges/hw/intc/xive.c:13:0: /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function 'xive_router_notify': /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow in implicit constant conversion [-Werror=overflow] #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in definition of macro 'MASK_TO_LSH' # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: note: in expansion of macro 'GETFIELD' #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in expansion of macro 'GETFIELD_BE64' GETFIELD_BE64(EAS_END_BLOCK, eas.w), ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: note: in expansion of macro 'PPC_BITMASK' #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:42: note: in expansion of macro 'EAS_END_BLOCK' GETFIELD_BE64(EAS_END_BLOCK, eas.w), ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right shift count is negative [-Werror=shift-count-negative] #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: note: in expansion of macro 'GETFIELD' #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in expansion of macro 'GETFIELD_BE64' GETFIELD_BE64(EAS_END_BLOCK, eas.w), ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow in implicit constant conversion [-Werror=overflow] #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in definition of macro 'MASK_TO_LSH' # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: note: in expansion of macro 'GETFIELD' #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in expansion of macro 'GETFIELD_BE64' GETFIELD_BE64(EAS_END_INDEX, eas.w), ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: note: in expansion of macro 'PPC_BITMASK' #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:42: note: in expansion of macro 'EAS_END_INDEX' GETFIELD_BE64(EAS_END_INDEX, eas.w), ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right shift count is negative [-Werror=shift-count-negative] #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: note: in expansion of macro 'GETFIELD' #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in expansion of macro 'GETFIELD_BE64' GETFIELD_BE64(EAS_END_INDEX, eas.w), ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function 'xive_eas_pic_print_info': /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow in implicit constant conversion [-Werror=overflow] #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in definition of macro 'MASK_TO_LSH' # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: note: in expansion of macro 'GETFIELD' #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in expansion of macro 'GETFIELD_BE64' (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: note: in expansion of macro 'PPC_BITMASK' #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in expansion of macro 'EAS_END_BLOCK' (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right shift count is negative [-Werror=shift-count-negative] #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: note: in expansion of macro 'GETFIELD' #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in expansion of macro 'GETFIELD_BE64' (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: note: in expansion of macro 'PPC_BITMASK' #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in expansion of macro 'EAS_END_BLOCK' (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right shift count is negative [-Werror=shift-count-negative] #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: note: in expansion of macro 'GETFIELD' #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in expansion of macro 'GETFIELD_BE64' (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow in implicit constant conversion [-Werror=overflow] #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in definition of macro 'MASK_TO_LSH' # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: note: in expansion of macro 'GETFIELD' #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in expansion of macro 'GETFIELD_BE64' (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: note: in expansion of macro 'PPC_BITMASK' #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:45: note: in expansion of macro 'EAS_END_INDEX' (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), ^ /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right shift count is negative [-Werror=shift-count-negative] #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) ^ /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: note: in expansion of macro 'GETFIELD' #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) ^ /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in expansion of macro 'GETFIELD_BE64' (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), ^ thanks -- PMM
On 12/14/18 5:03 PM, Peter Maydell wrote: > On Thu, 13 Dec 2018 at 04:01, David Gibson <david@gibson.dropbear.id.au> wrote: >> >> The following changes since commit 4b3aab204204ca742836219b97b538d90584f4f2: >> >> Merge remote-tracking branch 'remotes/vivier2/tags/trivial-patches-pull-request' into staging (2018-12-11 22:26:44 +0000) >> >> are available in the Git repository at: >> >> git://github.com/dgibson/qemu.git tags/ppc-for-4.0-20181213 >> >> for you to fetch changes up to 67888a17b6683600ae3fa64ca275c737ba8a9a45: >> >> spapr/xive: use the VCPU id as a NVT identifier (2018-12-13 09:44:04 +1100) >> >> ---------------------------------------------------------------- >> ppc patch queue 2018-12-13 >> >> Here's the first ppc and spapr pull request for 4.0. Highlights are: >> >> * The start of support for the POWER9 "XIVE" interrupt controller >> (not complete enough to use yet, but we're getting there) >> * A number of g_new vs. g_malloc cleanups >> * Some IRQ wiring cleanups >> * A fix for how we advertise NUMA nodes to the guest for pseries >> >> --------------------------------------------------------------- > > > Compile errors in the windows cross-build. are you compiling with the mingw64-* packages ? as documented in : https://wiki.qemu.org/Hosts/W32 > These look like > they're assumptions that "long" is 64 bits, which it is not on Windows. > For instance the PPC_BIT macro should be using the ULL suffix, not UL > ("UL" is almost always a bug: either the constant is 32-bit, in > which case "U" is what you want, or it's 64-bit and you need "ULL"). ok. These definitions come from our skiboot firmware which I wanted to keep as it was. It seems I will need to adapt. > Using __builtin_ffsl() directly in target/ppc/cpu.h also looks > a bit dubious -- this should be rephrased to use ctz32() or ctz64() > instead. ok. I will work on a fix. Thanks, C. > In file included from /home/petmay01/qemu-for-merges/hw/intc/xive.c:13:0: > /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function 'xive_router_notify': > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > in implicit constant conversion [-Werror=overflow] > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > definition of macro 'MASK_TO_LSH' > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in > expansion of macro 'GETFIELD_BE64' > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > note: in expansion of macro 'PPC_BITMASK' > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:42: note: in > expansion of macro 'EAS_END_BLOCK' > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > shift count is negative [-Werror=shift-count-negative] > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in > expansion of macro 'GETFIELD_BE64' > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > in implicit constant conversion [-Werror=overflow] > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > definition of macro 'MASK_TO_LSH' > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in > expansion of macro 'GETFIELD_BE64' > GETFIELD_BE64(EAS_END_INDEX, eas.w), > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: > note: in expansion of macro 'PPC_BITMASK' > #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:42: note: in > expansion of macro 'EAS_END_INDEX' > GETFIELD_BE64(EAS_END_INDEX, eas.w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > shift count is negative [-Werror=shift-count-negative] > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in > expansion of macro 'GETFIELD_BE64' > GETFIELD_BE64(EAS_END_INDEX, eas.w), > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function > 'xive_eas_pic_print_info': > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > in implicit constant conversion [-Werror=overflow] > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > definition of macro 'MASK_TO_LSH' > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > expansion of macro 'GETFIELD_BE64' > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > note: in expansion of macro 'PPC_BITMASK' > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in > expansion of macro 'EAS_END_BLOCK' > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > shift count is negative [-Werror=shift-count-negative] > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > expansion of macro 'GETFIELD_BE64' > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > note: in expansion of macro 'PPC_BITMASK' > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in > expansion of macro 'EAS_END_BLOCK' > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > shift count is negative [-Werror=shift-count-negative] > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > expansion of macro 'GETFIELD_BE64' > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > in implicit constant conversion [-Werror=overflow] > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > definition of macro 'MASK_TO_LSH' > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in > expansion of macro 'GETFIELD_BE64' > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: > note: in expansion of macro 'PPC_BITMASK' > #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:45: note: in > expansion of macro 'EAS_END_INDEX' > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > shift count is negative [-Werror=shift-count-negative] > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in > expansion of macro 'GETFIELD_BE64' > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > ^ > > > thanks > -- PMM >
On Fri, Dec 14, 2018 at 06:49:55PM +0100, Cédric Le Goater wrote: > On 12/14/18 5:03 PM, Peter Maydell wrote: > > On Thu, 13 Dec 2018 at 04:01, David Gibson <david@gibson.dropbear.id.au> wrote: > >> > >> The following changes since commit 4b3aab204204ca742836219b97b538d90584f4f2: > >> > >> Merge remote-tracking branch 'remotes/vivier2/tags/trivial-patches-pull-request' into staging (2018-12-11 22:26:44 +0000) > >> > >> are available in the Git repository at: > >> > >> git://github.com/dgibson/qemu.git tags/ppc-for-4.0-20181213 > >> > >> for you to fetch changes up to 67888a17b6683600ae3fa64ca275c737ba8a9a45: > >> > >> spapr/xive: use the VCPU id as a NVT identifier (2018-12-13 09:44:04 +1100) > >> > >> ---------------------------------------------------------------- > >> ppc patch queue 2018-12-13 > >> > >> Here's the first ppc and spapr pull request for 4.0. Highlights are: > >> > >> * The start of support for the POWER9 "XIVE" interrupt controller > >> (not complete enough to use yet, but we're getting there) > >> * A number of g_new vs. g_malloc cleanups > >> * Some IRQ wiring cleanups > >> * A fix for how we advertise NUMA nodes to the guest for pseries > >> > >> --------------------------------------------------------------- > > > > > > Compile errors in the windows cross-build. > > are you compiling with the mingw64-* packages ? as documented in : > > https://wiki.qemu.org/Hosts/W32 > > > These look like > > they're assumptions that "long" is 64 bits, which it is not on Windows. > > For instance the PPC_BIT macro should be using the ULL suffix, not UL > > ("UL" is almost always a bug: either the constant is 32-bit, in > > which case "U" is what you want, or it's 64-bit and you need "ULL"). > > ok. These definitions come from our skiboot firmware which I wanted > to keep as it was. It seems I will need to adapt. > > > Using __builtin_ffsl() directly in target/ppc/cpu.h also looks > > a bit dubious -- this should be rephrased to use ctz32() or ctz64() > > instead. > > ok. I will work on a fix. So, I tried to confirm the problem, before applying Cédric's fix, but I don't seem to be able to. I'm getting a bunch of failures in the windows cross-build on master, which look like gcc8 problems - but nothing new or different in my tree. $ ./configure --cross-prefix=i686-w64-mingw32- [...] $ make -k CHK version_gen.h CC block/sheepdog.o block/sheepdog.c: In function 'find_vdi_name': block/sheepdog.c:1239:5: error: 'strncpy' specified bound 256 equals destination size [-Werror=stringop-truncation] strncpy(buf + SD_MAX_VDI_LEN, tag, SD_MAX_VDI_TAG_LEN); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make: *** [/home/dwg/src/qemu/rules.mak:69: block/sheepdog.o] Error 1 CC hw/acpi/core.o In function 'acpi_table_install', inlined from 'acpi_table_add' at hw/acpi/core.c:296:5: hw/acpi/core.c:184:9: error: 'strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] strncpy(ext_hdr->sig, hdrs->sig, sizeof ext_hdr->sig); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hw/acpi/core.c:203:9: error: 'strncpy' specified bound 6 equals destination size [-Werror=stringop-truncation] strncpy(ext_hdr->oem_id, hdrs->oem_id, sizeof ext_hdr->oem_id); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hw/acpi/core.c:207:9: error: 'strncpy' specified bound 8 equals destination size [-Werror=stringop-truncation] strncpy(ext_hdr->oem_table_id, hdrs->oem_table_id, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof ext_hdr->oem_table_id); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hw/acpi/core.c:216:9: error: 'strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] strncpy(ext_hdr->asl_compiler_id, hdrs->asl_compiler_id, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof ext_hdr->asl_compiler_id); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make: *** [/home/dwg/src/qemu/rules.mak:69: hw/acpi/core.o] Error 1 CC hw/acpi/aml-build.o hw/acpi/aml-build.c: In function 'build_header': hw/acpi/aml-build.c:1535:9: error: 'strncpy' specified bound 6 equals destination size [-Werror=stringop-truncation] strncpy((char *)h->oem_id, oem_id, sizeof h->oem_id); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hw/acpi/aml-build.c:1541:9: error: 'strncpy' specified bound 8 equals destination size [-Werror=stringop-truncation] strncpy((char *)h->oem_table_id, oem_table_id, sizeof(h->oem_table_id)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make: *** [/home/dwg/src/qemu/rules.mak:69: hw/acpi/aml-build.o] Error 1 CC migration/global_state.o migration/global_state.c: In function 'global_state_store_running': migration/global_state.c:45:5: error: 'strncpy' specified bound 100 equals destination size [-Werror=stringop-truncation] strncpy((char *)global_state.runstate, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ state, sizeof(global_state.runstate)); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make: *** [/home/dwg/src/qemu/rules.mak:69: migration/global_state.o] Error 1 make: Target 'all' not remade because of errors. > > Thanks, > > C. > > > > In file included from /home/petmay01/qemu-for-merges/hw/intc/xive.c:13:0: > > /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function 'xive_router_notify': > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > > in implicit constant conversion [-Werror=overflow] > > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > > definition of macro 'MASK_TO_LSH' > > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > note: in expansion of macro 'GETFIELD' > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in > > expansion of macro 'GETFIELD_BE64' > > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > > note: in expansion of macro 'PPC_BITMASK' > > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:42: note: in > > expansion of macro 'EAS_END_BLOCK' > > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > > shift count is negative [-Werror=shift-count-negative] > > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > note: in expansion of macro 'GETFIELD' > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in > > expansion of macro 'GETFIELD_BE64' > > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > > in implicit constant conversion [-Werror=overflow] > > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > > definition of macro 'MASK_TO_LSH' > > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > note: in expansion of macro 'GETFIELD' > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in > > expansion of macro 'GETFIELD_BE64' > > GETFIELD_BE64(EAS_END_INDEX, eas.w), > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: > > note: in expansion of macro 'PPC_BITMASK' > > #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:42: note: in > > expansion of macro 'EAS_END_INDEX' > > GETFIELD_BE64(EAS_END_INDEX, eas.w), > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > > shift count is negative [-Werror=shift-count-negative] > > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > note: in expansion of macro 'GETFIELD' > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in > > expansion of macro 'GETFIELD_BE64' > > GETFIELD_BE64(EAS_END_INDEX, eas.w), > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function > > 'xive_eas_pic_print_info': > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > > in implicit constant conversion [-Werror=overflow] > > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > > definition of macro 'MASK_TO_LSH' > > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > note: in expansion of macro 'GETFIELD' > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > > expansion of macro 'GETFIELD_BE64' > > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > > note: in expansion of macro 'PPC_BITMASK' > > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in > > expansion of macro 'EAS_END_BLOCK' > > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > > shift count is negative [-Werror=shift-count-negative] > > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > note: in expansion of macro 'GETFIELD' > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > > expansion of macro 'GETFIELD_BE64' > > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > > note: in expansion of macro 'PPC_BITMASK' > > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in > > expansion of macro 'EAS_END_BLOCK' > > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > > shift count is negative [-Werror=shift-count-negative] > > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > note: in expansion of macro 'GETFIELD' > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > > expansion of macro 'GETFIELD_BE64' > > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > > in implicit constant conversion [-Werror=overflow] > > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > > definition of macro 'MASK_TO_LSH' > > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > note: in expansion of macro 'GETFIELD' > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in > > expansion of macro 'GETFIELD_BE64' > > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: > > note: in expansion of macro 'PPC_BITMASK' > > #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:45: note: in > > expansion of macro 'EAS_END_INDEX' > > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > > ^ > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > > shift count is negative [-Werror=shift-count-negative] > > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > > ^ > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > note: in expansion of macro 'GETFIELD' > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > ^ > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in > > expansion of macro 'GETFIELD_BE64' > > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > > ^ > > > > > > thanks > > -- PMM > > > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
On Mon, Dec 17, 2018 at 4:31 AM David Gibson <david@gibson.dropbear.id.au> wrote: > > On Fri, Dec 14, 2018 at 06:49:55PM +0100, Cédric Le Goater wrote: > > On 12/14/18 5:03 PM, Peter Maydell wrote: > > > On Thu, 13 Dec 2018 at 04:01, David Gibson <david@gibson.dropbear.id.au> wrote: > > >> > > >> The following changes since commit 4b3aab204204ca742836219b97b538d90584f4f2: > > >> > > >> Merge remote-tracking branch 'remotes/vivier2/tags/trivial-patches-pull-request' into staging (2018-12-11 22:26:44 +0000) > > >> > > >> are available in the Git repository at: > > >> > > >> git://github.com/dgibson/qemu.git tags/ppc-for-4.0-20181213 > > >> > > >> for you to fetch changes up to 67888a17b6683600ae3fa64ca275c737ba8a9a45: > > >> > > >> spapr/xive: use the VCPU id as a NVT identifier (2018-12-13 09:44:04 +1100) > > >> > > >> ---------------------------------------------------------------- > > >> ppc patch queue 2018-12-13 > > >> > > >> Here's the first ppc and spapr pull request for 4.0. Highlights are: > > >> > > >> * The start of support for the POWER9 "XIVE" interrupt controller > > >> (not complete enough to use yet, but we're getting there) > > >> * A number of g_new vs. g_malloc cleanups > > >> * Some IRQ wiring cleanups > > >> * A fix for how we advertise NUMA nodes to the guest for pseries > > >> > > >> --------------------------------------------------------------- > > > > > > > > > Compile errors in the windows cross-build. > > > > are you compiling with the mingw64-* packages ? as documented in : > > > > https://wiki.qemu.org/Hosts/W32 > > > > > These look like > > > they're assumptions that "long" is 64 bits, which it is not on Windows. > > > For instance the PPC_BIT macro should be using the ULL suffix, not UL > > > ("UL" is almost always a bug: either the constant is 32-bit, in > > > which case "U" is what you want, or it's 64-bit and you need "ULL"). > > > > ok. These definitions come from our skiboot firmware which I wanted > > to keep as it was. It seems I will need to adapt. > > > > > Using __builtin_ffsl() directly in target/ppc/cpu.h also looks > > > a bit dubious -- this should be rephrased to use ctz32() or ctz64() > > > instead. > > > > ok. I will work on a fix. > > So, I tried to confirm the problem, before applying Cédric's fix, but > I don't seem to be able to. I'm getting a bunch of failures in the > windows cross-build on master, which look like gcc8 problems - but > nothing new or different in my tree. > > $ ./configure --cross-prefix=i686-w64-mingw32- > > [...] > > $ make -k > > CHK version_gen.h > CC block/sheepdog.o > block/sheepdog.c: In function 'find_vdi_name': > block/sheepdog.c:1239:5: error: 'strncpy' specified bound 256 equals destination size [-Werror=stringop-truncation] > strncpy(buf + SD_MAX_VDI_LEN, tag, SD_MAX_VDI_TAG_LEN); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make: *** [/home/dwg/src/qemu/rules.mak:69: block/sheepdog.o] Error 1 > CC hw/acpi/core.o > In function 'acpi_table_install', > inlined from 'acpi_table_add' at hw/acpi/core.c:296:5: > hw/acpi/core.c:184:9: error: 'strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] > strncpy(ext_hdr->sig, hdrs->sig, sizeof ext_hdr->sig); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > hw/acpi/core.c:203:9: error: 'strncpy' specified bound 6 equals destination size [-Werror=stringop-truncation] > strncpy(ext_hdr->oem_id, hdrs->oem_id, sizeof ext_hdr->oem_id); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > hw/acpi/core.c:207:9: error: 'strncpy' specified bound 8 equals destination size [-Werror=stringop-truncation] > strncpy(ext_hdr->oem_table_id, hdrs->oem_table_id, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > sizeof ext_hdr->oem_table_id); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > hw/acpi/core.c:216:9: error: 'strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] > strncpy(ext_hdr->asl_compiler_id, hdrs->asl_compiler_id, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > sizeof ext_hdr->asl_compiler_id); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make: *** [/home/dwg/src/qemu/rules.mak:69: hw/acpi/core.o] Error 1 > CC hw/acpi/aml-build.o > hw/acpi/aml-build.c: In function 'build_header': > hw/acpi/aml-build.c:1535:9: error: 'strncpy' specified bound 6 equals destination size [-Werror=stringop-truncation] > strncpy((char *)h->oem_id, oem_id, sizeof h->oem_id); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > hw/acpi/aml-build.c:1541:9: error: 'strncpy' specified bound 8 equals destination size [-Werror=stringop-truncation] > strncpy((char *)h->oem_table_id, oem_table_id, sizeof(h->oem_table_id)); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make: *** [/home/dwg/src/qemu/rules.mak:69: hw/acpi/aml-build.o] Error 1 > CC migration/global_state.o > migration/global_state.c: In function 'global_state_store_running': > migration/global_state.c:45:5: error: 'strncpy' specified bound 100 equals destination size [-Werror=stringop-truncation] > strncpy((char *)global_state.runstate, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > state, sizeof(global_state.runstate)); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make: *** [/home/dwg/src/qemu/rules.mak:69: migration/global_state.o] Error 1 > make: Target 'all' not remade because of errors. > > > > > > Thanks, > > > > C. > > > > > > > In file included from /home/petmay01/qemu-for-merges/hw/intc/xive.c:13:0: > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function 'xive_router_notify': > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > > > in implicit constant conversion [-Werror=overflow] > > > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > > > definition of macro 'MASK_TO_LSH' > > > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > > note: in expansion of macro 'GETFIELD' > > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in > > > expansion of macro 'GETFIELD_BE64' > > > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > > > note: in expansion of macro 'PPC_BITMASK' > > > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:42: note: in > > > expansion of macro 'EAS_END_BLOCK' > > > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > > > shift count is negative [-Werror=shift-count-negative] > > > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > > note: in expansion of macro 'GETFIELD' > > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in > > > expansion of macro 'GETFIELD_BE64' > > > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > > > in implicit constant conversion [-Werror=overflow] > > > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > > > definition of macro 'MASK_TO_LSH' > > > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > > note: in expansion of macro 'GETFIELD' > > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in > > > expansion of macro 'GETFIELD_BE64' > > > GETFIELD_BE64(EAS_END_INDEX, eas.w), > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: > > > note: in expansion of macro 'PPC_BITMASK' > > > #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:42: note: in > > > expansion of macro 'EAS_END_INDEX' > > > GETFIELD_BE64(EAS_END_INDEX, eas.w), > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > > > shift count is negative [-Werror=shift-count-negative] > > > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > > note: in expansion of macro 'GETFIELD' > > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in > > > expansion of macro 'GETFIELD_BE64' > > > GETFIELD_BE64(EAS_END_INDEX, eas.w), > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function > > > 'xive_eas_pic_print_info': > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > > > in implicit constant conversion [-Werror=overflow] > > > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > > > definition of macro 'MASK_TO_LSH' > > > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > > note: in expansion of macro 'GETFIELD' > > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > > > expansion of macro 'GETFIELD_BE64' > > > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > > > note: in expansion of macro 'PPC_BITMASK' > > > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in > > > expansion of macro 'EAS_END_BLOCK' > > > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > > > shift count is negative [-Werror=shift-count-negative] > > > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > > note: in expansion of macro 'GETFIELD' > > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > > > expansion of macro 'GETFIELD_BE64' > > > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > > > note: in expansion of macro 'PPC_BITMASK' > > > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in > > > expansion of macro 'EAS_END_BLOCK' > > > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > > > shift count is negative [-Werror=shift-count-negative] > > > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > > note: in expansion of macro 'GETFIELD' > > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > > > expansion of macro 'GETFIELD_BE64' > > > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > > > in implicit constant conversion [-Werror=overflow] > > > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > > > definition of macro 'MASK_TO_LSH' > > > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > > note: in expansion of macro 'GETFIELD' > > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in > > > expansion of macro 'GETFIELD_BE64' > > > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: > > > note: in expansion of macro 'PPC_BITMASK' > > > #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:45: note: in > > > expansion of macro 'EAS_END_INDEX' > > > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > > > ^ > > > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > > > shift count is negative [-Werror=shift-count-negative] > > > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > > > ^ > > > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > > > note: in expansion of macro 'GETFIELD' > > > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > > > ^ > > > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in > > > expansion of macro 'GETFIELD_BE64' > > > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > > > ^ > > > > > > > > > thanks > > > -- PMM > > > > > > > -- > David Gibson | I'll have my music baroque, and my code > david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ > | _way_ _around_! > http://www.ozlabs.org/~dgibson Hi, We had a discussion about the strncpy errors and windows builds SIGSEGV-ing here: https://lists.nongnu.org/archive/html/qemu-devel/2018-08/msg03310.html A solution was suggested here: https://lists.nongnu.org/archive/html/qemu-devel/2018-08/msg03761.html. Nevertheless, I still compile with --disable-werror and --disable-stack-protector to get a working binary. (Cross-compiling on Fedora 29). Best, Howard
On 12/17/18 2:03 AM, David Gibson wrote: > On Fri, Dec 14, 2018 at 06:49:55PM +0100, Cédric Le Goater wrote: >> On 12/14/18 5:03 PM, Peter Maydell wrote: >>> On Thu, 13 Dec 2018 at 04:01, David Gibson <david@gibson.dropbear.id.au> wrote: >>>> >>>> The following changes since commit 4b3aab204204ca742836219b97b538d90584f4f2: >>>> >>>> Merge remote-tracking branch 'remotes/vivier2/tags/trivial-patches-pull-request' into staging (2018-12-11 22:26:44 +0000) >>>> >>>> are available in the Git repository at: >>>> >>>> git://github.com/dgibson/qemu.git tags/ppc-for-4.0-20181213 >>>> >>>> for you to fetch changes up to 67888a17b6683600ae3fa64ca275c737ba8a9a45: >>>> >>>> spapr/xive: use the VCPU id as a NVT identifier (2018-12-13 09:44:04 +1100) >>>> >>>> ---------------------------------------------------------------- >>>> ppc patch queue 2018-12-13 >>>> >>>> Here's the first ppc and spapr pull request for 4.0. Highlights are: >>>> >>>> * The start of support for the POWER9 "XIVE" interrupt controller >>>> (not complete enough to use yet, but we're getting there) >>>> * A number of g_new vs. g_malloc cleanups >>>> * Some IRQ wiring cleanups >>>> * A fix for how we advertise NUMA nodes to the guest for pseries >>>> >>>> --------------------------------------------------------------- >>> >>> >>> Compile errors in the windows cross-build. >> >> are you compiling with the mingw64-* packages ? as documented in : >> >> https://wiki.qemu.org/Hosts/W32 >> >>> These look like >>> they're assumptions that "long" is 64 bits, which it is not on Windows. >>> For instance the PPC_BIT macro should be using the ULL suffix, not UL >>> ("UL" is almost always a bug: either the constant is 32-bit, in >>> which case "U" is what you want, or it's 64-bit and you need "ULL"). >> >> ok. These definitions come from our skiboot firmware which I wanted >> to keep as it was. It seems I will need to adapt. >> >>> Using __builtin_ffsl() directly in target/ppc/cpu.h also looks >>> a bit dubious -- this should be rephrased to use ctz32() or ctz64() >>> instead. >> >> ok. I will work on a fix. > > So, I tried to confirm the problem, before applying Cédric's fix, but > I don't seem to be able to. I'm getting a bunch of failures in the > windows cross-build on master, which look like gcc8 problems - but > nothing new or different in my tree. > > $ ./configure --cross-prefix=i686-w64-mingw32- I am still using f28. Another reason to update. Thanks, C. > [...] > > $ make -k > > CHK version_gen.h > CC block/sheepdog.o > block/sheepdog.c: In function 'find_vdi_name': > block/sheepdog.c:1239:5: error: 'strncpy' specified bound 256 equals destination size [-Werror=stringop-truncation] > strncpy(buf + SD_MAX_VDI_LEN, tag, SD_MAX_VDI_TAG_LEN); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make: *** [/home/dwg/src/qemu/rules.mak:69: block/sheepdog.o] Error 1 > CC hw/acpi/core.o > In function 'acpi_table_install', > inlined from 'acpi_table_add' at hw/acpi/core.c:296:5: > hw/acpi/core.c:184:9: error: 'strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] > strncpy(ext_hdr->sig, hdrs->sig, sizeof ext_hdr->sig); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > hw/acpi/core.c:203:9: error: 'strncpy' specified bound 6 equals destination size [-Werror=stringop-truncation] > strncpy(ext_hdr->oem_id, hdrs->oem_id, sizeof ext_hdr->oem_id); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > hw/acpi/core.c:207:9: error: 'strncpy' specified bound 8 equals destination size [-Werror=stringop-truncation] > strncpy(ext_hdr->oem_table_id, hdrs->oem_table_id, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > sizeof ext_hdr->oem_table_id); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > hw/acpi/core.c:216:9: error: 'strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] > strncpy(ext_hdr->asl_compiler_id, hdrs->asl_compiler_id, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > sizeof ext_hdr->asl_compiler_id); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make: *** [/home/dwg/src/qemu/rules.mak:69: hw/acpi/core.o] Error 1 > CC hw/acpi/aml-build.o > hw/acpi/aml-build.c: In function 'build_header': > hw/acpi/aml-build.c:1535:9: error: 'strncpy' specified bound 6 equals destination size [-Werror=stringop-truncation] > strncpy((char *)h->oem_id, oem_id, sizeof h->oem_id); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > hw/acpi/aml-build.c:1541:9: error: 'strncpy' specified bound 8 equals destination size [-Werror=stringop-truncation] > strncpy((char *)h->oem_table_id, oem_table_id, sizeof(h->oem_table_id)); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make: *** [/home/dwg/src/qemu/rules.mak:69: hw/acpi/aml-build.o] Error 1 > CC migration/global_state.o > migration/global_state.c: In function 'global_state_store_running': > migration/global_state.c:45:5: error: 'strncpy' specified bound 100 equals destination size [-Werror=stringop-truncation] > strncpy((char *)global_state.runstate, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > state, sizeof(global_state.runstate)); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make: *** [/home/dwg/src/qemu/rules.mak:69: migration/global_state.o] Error 1 > make: Target 'all' not remade because of errors. > > >> >> Thanks, >> >> C. >> >> >>> In file included from /home/petmay01/qemu-for-merges/hw/intc/xive.c:13:0: >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function 'xive_router_notify': >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow >>> in implicit constant conversion [-Werror=overflow] >>> #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in >>> definition of macro 'MASK_TO_LSH' >>> # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>> note: in expansion of macro 'GETFIELD' >>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in >>> expansion of macro 'GETFIELD_BE64' >>> GETFIELD_BE64(EAS_END_BLOCK, eas.w), >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: >>> note: in expansion of macro 'PPC_BITMASK' >>> #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:42: note: in >>> expansion of macro 'EAS_END_BLOCK' >>> GETFIELD_BE64(EAS_END_BLOCK, eas.w), >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right >>> shift count is negative [-Werror=shift-count-negative] >>> #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>> note: in expansion of macro 'GETFIELD' >>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in >>> expansion of macro 'GETFIELD_BE64' >>> GETFIELD_BE64(EAS_END_BLOCK, eas.w), >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow >>> in implicit constant conversion [-Werror=overflow] >>> #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in >>> definition of macro 'MASK_TO_LSH' >>> # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>> note: in expansion of macro 'GETFIELD' >>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in >>> expansion of macro 'GETFIELD_BE64' >>> GETFIELD_BE64(EAS_END_INDEX, eas.w), >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: >>> note: in expansion of macro 'PPC_BITMASK' >>> #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:42: note: in >>> expansion of macro 'EAS_END_INDEX' >>> GETFIELD_BE64(EAS_END_INDEX, eas.w), >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right >>> shift count is negative [-Werror=shift-count-negative] >>> #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>> note: in expansion of macro 'GETFIELD' >>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in >>> expansion of macro 'GETFIELD_BE64' >>> GETFIELD_BE64(EAS_END_INDEX, eas.w), >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function >>> 'xive_eas_pic_print_info': >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow >>> in implicit constant conversion [-Werror=overflow] >>> #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in >>> definition of macro 'MASK_TO_LSH' >>> # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>> note: in expansion of macro 'GETFIELD' >>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in >>> expansion of macro 'GETFIELD_BE64' >>> (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: >>> note: in expansion of macro 'PPC_BITMASK' >>> #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in >>> expansion of macro 'EAS_END_BLOCK' >>> (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right >>> shift count is negative [-Werror=shift-count-negative] >>> #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>> note: in expansion of macro 'GETFIELD' >>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in >>> expansion of macro 'GETFIELD_BE64' >>> (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: >>> note: in expansion of macro 'PPC_BITMASK' >>> #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in >>> expansion of macro 'EAS_END_BLOCK' >>> (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right >>> shift count is negative [-Werror=shift-count-negative] >>> #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>> note: in expansion of macro 'GETFIELD' >>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in >>> expansion of macro 'GETFIELD_BE64' >>> (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow >>> in implicit constant conversion [-Werror=overflow] >>> #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in >>> definition of macro 'MASK_TO_LSH' >>> # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>> note: in expansion of macro 'GETFIELD' >>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in >>> expansion of macro 'GETFIELD_BE64' >>> (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: >>> note: in expansion of macro 'PPC_BITMASK' >>> #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:45: note: in >>> expansion of macro 'EAS_END_INDEX' >>> (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), >>> ^ >>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right >>> shift count is negative [-Werror=shift-count-negative] >>> #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) >>> ^ >>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>> note: in expansion of macro 'GETFIELD' >>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>> ^ >>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in >>> expansion of macro 'GETFIELD_BE64' >>> (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), >>> ^ >>> >>> >>> thanks >>> -- PMM >>> >> >
On 12/17/18 9:04 AM, Cédric Le Goater wrote: > On 12/17/18 2:03 AM, David Gibson wrote: >> On Fri, Dec 14, 2018 at 06:49:55PM +0100, Cédric Le Goater wrote: >>> On 12/14/18 5:03 PM, Peter Maydell wrote: >>>> On Thu, 13 Dec 2018 at 04:01, David Gibson <david@gibson.dropbear.id.au> wrote: >>>>> >>>>> The following changes since commit 4b3aab204204ca742836219b97b538d90584f4f2: >>>>> >>>>> Merge remote-tracking branch 'remotes/vivier2/tags/trivial-patches-pull-request' into staging (2018-12-11 22:26:44 +0000) >>>>> >>>>> are available in the Git repository at: >>>>> >>>>> git://github.com/dgibson/qemu.git tags/ppc-for-4.0-20181213 >>>>> >>>>> for you to fetch changes up to 67888a17b6683600ae3fa64ca275c737ba8a9a45: >>>>> >>>>> spapr/xive: use the VCPU id as a NVT identifier (2018-12-13 09:44:04 +1100) >>>>> >>>>> ---------------------------------------------------------------- >>>>> ppc patch queue 2018-12-13 >>>>> >>>>> Here's the first ppc and spapr pull request for 4.0. Highlights are: >>>>> >>>>> * The start of support for the POWER9 "XIVE" interrupt controller >>>>> (not complete enough to use yet, but we're getting there) >>>>> * A number of g_new vs. g_malloc cleanups >>>>> * Some IRQ wiring cleanups >>>>> * A fix for how we advertise NUMA nodes to the guest for pseries >>>>> >>>>> --------------------------------------------------------------- >>>> >>>> >>>> Compile errors in the windows cross-build. >>> >>> are you compiling with the mingw64-* packages ? as documented in : >>> >>> https://wiki.qemu.org/Hosts/W32 >>> >>>> These look like >>>> they're assumptions that "long" is 64 bits, which it is not on Windows. >>>> For instance the PPC_BIT macro should be using the ULL suffix, not UL >>>> ("UL" is almost always a bug: either the constant is 32-bit, in >>>> which case "U" is what you want, or it's 64-bit and you need "ULL"). >>> >>> ok. These definitions come from our skiboot firmware which I wanted >>> to keep as it was. It seems I will need to adapt. >>> >>>> Using __builtin_ffsl() directly in target/ppc/cpu.h also looks >>>> a bit dubious -- this should be rephrased to use ctz32() or ctz64() >>>> instead. >>> >>> ok. I will work on a fix. >> >> So, I tried to confirm the problem, before applying Cédric's fix, but >> I don't seem to be able to. I'm getting a bunch of failures in the >> windows cross-build on master, which look like gcc8 problems - but >> nothing new or different in my tree. >> >> $ ./configure --cross-prefix=i686-w64-mingw32- > > I am still using f28. Another reason to update. I gave it a try on a f29 with : $ x86_64-w64-mingw32-gcc --version x86_64-w64-mingw32-gcc (GCC) 8.2.0 20180726 (Fedora MinGW 8.2.0-3.fc29) and it compiles if configured with --disable-werror as suggested by Howard. Anyhow, we need to discuss a little more on the cpu.h fix, regarding the ctz, and the hcalls also need some fixing : - qemu_log_mask(LOG_GUEST_ERROR, "XIVE: Unknown LISN %lx\n", lisn); + qemu_log_mask(LOG_GUEST_ERROR, "XIVE: Unknown LISN " TARGET_FMT_lx "\n", + lisn); For v9. Thanks, C. >> [...] >> >> $ make -k >> >> CHK version_gen.h >> CC block/sheepdog.o >> block/sheepdog.c: In function 'find_vdi_name': >> block/sheepdog.c:1239:5: error: 'strncpy' specified bound 256 equals destination size [-Werror=stringop-truncation] >> strncpy(buf + SD_MAX_VDI_LEN, tag, SD_MAX_VDI_TAG_LEN); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> cc1: all warnings being treated as errors >> make: *** [/home/dwg/src/qemu/rules.mak:69: block/sheepdog.o] Error 1 >> CC hw/acpi/core.o >> In function 'acpi_table_install', >> inlined from 'acpi_table_add' at hw/acpi/core.c:296:5: >> hw/acpi/core.c:184:9: error: 'strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] >> strncpy(ext_hdr->sig, hdrs->sig, sizeof ext_hdr->sig); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> hw/acpi/core.c:203:9: error: 'strncpy' specified bound 6 equals destination size [-Werror=stringop-truncation] >> strncpy(ext_hdr->oem_id, hdrs->oem_id, sizeof ext_hdr->oem_id); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> hw/acpi/core.c:207:9: error: 'strncpy' specified bound 8 equals destination size [-Werror=stringop-truncation] >> strncpy(ext_hdr->oem_table_id, hdrs->oem_table_id, >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> sizeof ext_hdr->oem_table_id); >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> hw/acpi/core.c:216:9: error: 'strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] >> strncpy(ext_hdr->asl_compiler_id, hdrs->asl_compiler_id, >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> sizeof ext_hdr->asl_compiler_id); >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> cc1: all warnings being treated as errors >> make: *** [/home/dwg/src/qemu/rules.mak:69: hw/acpi/core.o] Error 1 >> CC hw/acpi/aml-build.o >> hw/acpi/aml-build.c: In function 'build_header': >> hw/acpi/aml-build.c:1535:9: error: 'strncpy' specified bound 6 equals destination size [-Werror=stringop-truncation] >> strncpy((char *)h->oem_id, oem_id, sizeof h->oem_id); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> hw/acpi/aml-build.c:1541:9: error: 'strncpy' specified bound 8 equals destination size [-Werror=stringop-truncation] >> strncpy((char *)h->oem_table_id, oem_table_id, sizeof(h->oem_table_id)); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> cc1: all warnings being treated as errors >> make: *** [/home/dwg/src/qemu/rules.mak:69: hw/acpi/aml-build.o] Error 1 >> CC migration/global_state.o >> migration/global_state.c: In function 'global_state_store_running': >> migration/global_state.c:45:5: error: 'strncpy' specified bound 100 equals destination size [-Werror=stringop-truncation] >> strncpy((char *)global_state.runstate, >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> state, sizeof(global_state.runstate)); >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> cc1: all warnings being treated as errors >> make: *** [/home/dwg/src/qemu/rules.mak:69: migration/global_state.o] Error 1 >> make: Target 'all' not remade because of errors. >> >> >>> >>> Thanks, >>> >>> C. >>> >>> >>>> In file included from /home/petmay01/qemu-for-merges/hw/intc/xive.c:13:0: >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function 'xive_router_notify': >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow >>>> in implicit constant conversion [-Werror=overflow] >>>> #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in >>>> definition of macro 'MASK_TO_LSH' >>>> # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>>> note: in expansion of macro 'GETFIELD' >>>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in >>>> expansion of macro 'GETFIELD_BE64' >>>> GETFIELD_BE64(EAS_END_BLOCK, eas.w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: >>>> note: in expansion of macro 'PPC_BITMASK' >>>> #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:42: note: in >>>> expansion of macro 'EAS_END_BLOCK' >>>> GETFIELD_BE64(EAS_END_BLOCK, eas.w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right >>>> shift count is negative [-Werror=shift-count-negative] >>>> #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>>> note: in expansion of macro 'GETFIELD' >>>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in >>>> expansion of macro 'GETFIELD_BE64' >>>> GETFIELD_BE64(EAS_END_BLOCK, eas.w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow >>>> in implicit constant conversion [-Werror=overflow] >>>> #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in >>>> definition of macro 'MASK_TO_LSH' >>>> # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>>> note: in expansion of macro 'GETFIELD' >>>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in >>>> expansion of macro 'GETFIELD_BE64' >>>> GETFIELD_BE64(EAS_END_INDEX, eas.w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: >>>> note: in expansion of macro 'PPC_BITMASK' >>>> #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:42: note: in >>>> expansion of macro 'EAS_END_INDEX' >>>> GETFIELD_BE64(EAS_END_INDEX, eas.w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right >>>> shift count is negative [-Werror=shift-count-negative] >>>> #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>>> note: in expansion of macro 'GETFIELD' >>>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in >>>> expansion of macro 'GETFIELD_BE64' >>>> GETFIELD_BE64(EAS_END_INDEX, eas.w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function >>>> 'xive_eas_pic_print_info': >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow >>>> in implicit constant conversion [-Werror=overflow] >>>> #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in >>>> definition of macro 'MASK_TO_LSH' >>>> # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>>> note: in expansion of macro 'GETFIELD' >>>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in >>>> expansion of macro 'GETFIELD_BE64' >>>> (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: >>>> note: in expansion of macro 'PPC_BITMASK' >>>> #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in >>>> expansion of macro 'EAS_END_BLOCK' >>>> (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right >>>> shift count is negative [-Werror=shift-count-negative] >>>> #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>>> note: in expansion of macro 'GETFIELD' >>>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in >>>> expansion of macro 'GETFIELD_BE64' >>>> (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: >>>> note: in expansion of macro 'PPC_BITMASK' >>>> #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in >>>> expansion of macro 'EAS_END_BLOCK' >>>> (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right >>>> shift count is negative [-Werror=shift-count-negative] >>>> #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>>> note: in expansion of macro 'GETFIELD' >>>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in >>>> expansion of macro 'GETFIELD_BE64' >>>> (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow >>>> in implicit constant conversion [-Werror=overflow] >>>> #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in >>>> definition of macro 'MASK_TO_LSH' >>>> # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>>> note: in expansion of macro 'GETFIELD' >>>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in >>>> expansion of macro 'GETFIELD_BE64' >>>> (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: >>>> note: in expansion of macro 'PPC_BITMASK' >>>> #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:45: note: in >>>> expansion of macro 'EAS_END_INDEX' >>>> (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), >>>> ^ >>>> /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right >>>> shift count is negative [-Werror=shift-count-negative] >>>> #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: >>>> note: in expansion of macro 'GETFIELD' >>>> #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) >>>> ^ >>>> /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in >>>> expansion of macro 'GETFIELD_BE64' >>>> (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), >>>> ^ >>>> >>>> >>>> thanks >>>> -- PMM >>>> >>> >> >
On Fri, Dec 14, 2018 at 04:03:08PM +0000, Peter Maydell wrote: > On Thu, 13 Dec 2018 at 04:01, David Gibson <david@gibson.dropbear.id.au> wrote: > > > > The following changes since commit 4b3aab204204ca742836219b97b538d90584f4f2: > > > > Merge remote-tracking branch 'remotes/vivier2/tags/trivial-patches-pull-request' into staging (2018-12-11 22:26:44 +0000) > > > > are available in the Git repository at: > > > > git://github.com/dgibson/qemu.git tags/ppc-for-4.0-20181213 > > > > for you to fetch changes up to 67888a17b6683600ae3fa64ca275c737ba8a9a45: > > > > spapr/xive: use the VCPU id as a NVT identifier (2018-12-13 09:44:04 +1100) > > > > ---------------------------------------------------------------- > > ppc patch queue 2018-12-13 > > > > Here's the first ppc and spapr pull request for 4.0. Highlights are: > > > > * The start of support for the POWER9 "XIVE" interrupt controller > > (not complete enough to use yet, but we're getting there) > > * A number of g_new vs. g_malloc cleanups > > * Some IRQ wiring cleanups > > * A fix for how we advertise NUMA nodes to the guest for pseries > > > > --------------------------------------------------------------- > > > Compile errors in the windows cross-build. These look like > they're assumptions that "long" is 64 bits, which it is not on Windows. > For instance the PPC_BIT macro should be using the ULL suffix, not UL > ("UL" is almost always a bug: either the constant is 32-bit, in > which case "U" is what you want, or it's 64-bit and you need "ULL"). Bother, sorry. I got sidetracked debugging some problems that turned out to be in master and forgot to run the windows builds. > Using __builtin_ffsl() directly in target/ppc/cpu.h also looks > a bit dubious -- this should be rephrased to use ctz32() or ctz64() > instead. > > In file included from /home/petmay01/qemu-for-merges/hw/intc/xive.c:13:0: > /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function 'xive_router_notify': > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > in implicit constant conversion [-Werror=overflow] > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > definition of macro 'MASK_TO_LSH' > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in > expansion of macro 'GETFIELD_BE64' > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > note: in expansion of macro 'PPC_BITMASK' > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:42: note: in > expansion of macro 'EAS_END_BLOCK' > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > shift count is negative [-Werror=shift-count-negative] > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1366:28: note: in > expansion of macro 'GETFIELD_BE64' > GETFIELD_BE64(EAS_END_BLOCK, eas.w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > in implicit constant conversion [-Werror=overflow] > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > definition of macro 'MASK_TO_LSH' > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in > expansion of macro 'GETFIELD_BE64' > GETFIELD_BE64(EAS_END_INDEX, eas.w), > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: > note: in expansion of macro 'PPC_BITMASK' > #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:42: note: in > expansion of macro 'EAS_END_INDEX' > GETFIELD_BE64(EAS_END_INDEX, eas.w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > shift count is negative [-Werror=shift-count-negative] > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1367:28: note: in > expansion of macro 'GETFIELD_BE64' > GETFIELD_BE64(EAS_END_INDEX, eas.w), > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c: In function > 'xive_eas_pic_print_info': > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > in implicit constant conversion [-Werror=overflow] > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > definition of macro 'MASK_TO_LSH' > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > expansion of macro 'GETFIELD_BE64' > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > note: in expansion of macro 'PPC_BITMASK' > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in > expansion of macro 'EAS_END_BLOCK' > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > shift count is negative [-Werror=shift-count-negative] > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > expansion of macro 'GETFIELD_BE64' > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:120:25: > note: in expansion of macro 'PPC_BITMASK' > #define EAS_END_BLOCK PPC_BITMASK(4, 7) /* Destination END block# */ > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:45: note: in > expansion of macro 'EAS_END_BLOCK' > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > shift count is negative [-Werror=shift-count-negative] > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1400:31: note: in > expansion of macro 'GETFIELD_BE64' > (uint8_t) GETFIELD_BE64(EAS_END_BLOCK, eas->w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:76:33: error: overflow > in implicit constant conversion [-Werror=overflow] > #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:84:50: note: in > definition of macro 'MASK_TO_LSH' > # define MASK_TO_LSH(m) (__builtin_ffsl(m) - 1) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in > expansion of macro 'GETFIELD_BE64' > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:121:25: > note: in expansion of macro 'PPC_BITMASK' > #define EAS_END_INDEX PPC_BITMASK(8, 31) /* Destination END index */ > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:45: note: in > expansion of macro 'EAS_END_INDEX' > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > ^ > /home/petmay01/qemu-for-merges/target/ppc/cpu.h:89:46: error: right > shift count is negative [-Werror=shift-count-negative] > #define GETFIELD(m, v) (((v) & (m)) >> MASK_TO_LSH(m)) > ^ > /home/petmay01/qemu-for-merges/include/hw/ppc/xive_regs.h:129:34: > note: in expansion of macro 'GETFIELD' > #define GETFIELD_BE64(m, v) GETFIELD(m, be64_to_cpu(v)) > ^ > /home/petmay01/qemu-for-merges/hw/intc/xive.c:1401:31: note: in > expansion of macro 'GETFIELD_BE64' > (uint32_t) GETFIELD_BE64(EAS_END_INDEX, eas->w), > ^ > > > thanks > -- PMM > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Patchew URL: https://patchew.org/QEMU/20181213040126.6768-1-david@gibson.dropbear.id.au/ Hi, This series seems to have some coding style problems. See output below for more information: Type: series Message-id: 20181213040126.6768-1-david@gibson.dropbear.id.au Subject: [Qemu-devel] [PULL 00/27] ppc-for-4.0 queue 20181213 === 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 git config --local diff.algorithm histogram 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' ad20d15 spapr/xive: use the VCPU id as a NVT identifier 936bcd5 spapr/xive: introduce a XIVE interrupt controller c13abc0 ppc/xive: notify the CPU when the interrupt priority is more privileged 58a0735 ppc/xive: introduce a simplified XIVE presenter f463196 ppc/xive: introduce the XIVE interrupt thread context b5b9c85 ppc/xive: add support for the END Event State Buffers 11d0460 Changes requirement for "vsubsbs" instruction 37e7503 spapr: export and rename the xics_max_server_number() routine 4d7a081 spapr: introduce a spapr_irq_init() routine 22e14d8 spapr: initialize VSMT before initializing the IRQ backend e85821f ppc/xive: introduce the XIVE Event Notification Descriptors 37adf84 ppc/xive: introduce the XiveRouter model b17c216 ppc/xive: introduce the XiveNotifier interface e9aa0c9 ppc/xive: add support for the LSI interrupt sources afa26a0 ppc/xive: introduce a XIVE interrupt source model 4052b1a e500: simplify IRQ wiring f01edd5 mac_newworld: simplify IRQ wiring dd09168 virtex_ml507: use g_new(T, n) instead of g_malloc(sizeof(T) * n) 6666001 sam460ex: use g_new(T, n) instead of g_malloc(sizeof(T) * n) ae12a4c ppc440_bamboo: use g_new(T, n) instead of g_malloc(sizeof(T) * n) 0126aee ppc405_uc: use g_new(T, n) instead of g_malloc(sizeof(T) * n) f9a1d51 ppc405_boards: use g_new(T, n) instead of g_malloc(sizeof(T) * n) 1dc1282 spapr: use g_new(T, n) instead of g_malloc(sizeof(T) * n) 61eb9c6 target/ppc: use g_new(T, n) instead of g_malloc(sizeof(T) * n) db6492f spapr: drop redundant statement in spapr_populate_drconf_memory() 61d6352 target/ppc: tcg: Implement addex instruction 17ee949 spapr: Fix ibm, max-associativity-domains property number of nodes === OUTPUT BEGIN === Checking PATCH 1/27: spapr: Fix ibm, max-associativity-domains property number of nodes... Checking PATCH 2/27: target/ppc: tcg: Implement addex instruction... ERROR: space required after that ',' (ctx:VxV) #42: FILE: disas/ppc.c:3737: +{ "addex", XO(31,170,0,0), XO_MASK, POWER9, { RT, RA, RB } }, ^ ERROR: space required after that ',' (ctx:VxV) #42: FILE: disas/ppc.c:3737: +{ "addex", XO(31,170,0,0), XO_MASK, POWER9, { RT, RA, RB } }, ^ ERROR: space required after that ',' (ctx:VxV) #42: FILE: disas/ppc.c:3737: +{ "addex", XO(31,170,0,0), XO_MASK, POWER9, { RT, RA, RB } }, ^ total: 3 errors, 0 warnings, 156 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/27: spapr: drop redundant statement in spapr_populate_drconf_memory()... Checking PATCH 4/27: target/ppc: use g_new(T, n) instead of g_malloc(sizeof(T) * n)... Checking PATCH 5/27: spapr: use g_new(T, n) instead of g_malloc(sizeof(T) * n)... Checking PATCH 6/27: ppc405_boards: use g_new(T, n) instead of g_malloc(sizeof(T) * n)... Checking PATCH 7/27: ppc405_uc: use g_new(T, n) instead of g_malloc(sizeof(T) * n)... Checking PATCH 8/27: ppc440_bamboo: use g_new(T, n) instead of g_malloc(sizeof(T) * n)... Checking PATCH 9/27: sam460ex: use g_new(T, n) instead of g_malloc(sizeof(T) * n)... Checking PATCH 10/27: virtex_ml507: use g_new(T, n) instead of g_malloc(sizeof(T) * n)... Checking PATCH 11/27: mac_newworld: simplify IRQ wiring... Checking PATCH 12/27: e500: simplify IRQ wiring... Checking PATCH 13/27: ppc/xive: introduce a XIVE interrupt source model... WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #61: new file mode 100644 total: 0 errors, 1 warnings, 656 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 14/27: ppc/xive: add support for the LSI interrupt sources... Checking PATCH 15/27: ppc/xive: introduce the XiveNotifier interface... Checking PATCH 16/27: ppc/xive: introduce the XiveRouter model... WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #170: new file mode 100644 total: 0 errors, 1 warnings, 179 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 17/27: ppc/xive: introduce the XIVE Event Notification Descriptors... Checking PATCH 18/27: spapr: initialize VSMT before initializing the IRQ backend... Checking PATCH 19/27: spapr: introduce a spapr_irq_init() routine... Checking PATCH 20/27: spapr: export and rename the xics_max_server_number() routine... Checking PATCH 21/27: Changes requirement for "vsubsbs" instruction... Checking PATCH 22/27: ppc/xive: add support for the END Event State Buffers... Checking PATCH 23/27: ppc/xive: introduce the XIVE interrupt thread context... Checking PATCH 24/27: ppc/xive: introduce a simplified XIVE presenter... Checking PATCH 25/27: ppc/xive: notify the CPU when the interrupt priority is more privileged... Checking PATCH 26/27: spapr/xive: introduce a XIVE interrupt controller... WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #59: new file mode 100644 total: 0 errors, 1 warnings, 425 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 27/27: spapr/xive: use the VCPU id as a NVT identifier... === OUTPUT END === Test command exited with code: 1 The full log is available at http://patchew.org/logs/20181213040126.6768-1-david@gibson.dropbear.id.au/testing.checkpatch/?type=message. --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On Wed, Dec 12, 2018 at 11:43:40PM -0800, no-reply@patchew.org wrote: > Patchew URL: https://patchew.org/QEMU/20181213040126.6768-1-david@gibson.dropbear.id.au/ > > > > Hi, > > This series seems to have some coding style problems. See output below for > more information: > > Type: series > Message-id: 20181213040126.6768-1-david@gibson.dropbear.id.au > Subject: [Qemu-devel] [PULL 00/27] ppc-for-4.0 queue 20181213 [snip] > === OUTPUT BEGIN === > Checking PATCH 1/27: spapr: Fix ibm, max-associativity-domains property number of nodes... > Checking PATCH 2/27: target/ppc: tcg: Implement addex instruction... > ERROR: space required after that ',' (ctx:VxV) > #42: FILE: disas/ppc.c:3737: > +{ "addex", XO(31,170,0,0), XO_MASK, POWER9, { RT, RA, RB } }, > ^ > > ERROR: space required after that ',' (ctx:VxV) > #42: FILE: disas/ppc.c:3737: > +{ "addex", XO(31,170,0,0), XO_MASK, POWER9, { RT, RA, RB } }, > ^ > > ERROR: space required after that ',' (ctx:VxV) > #42: FILE: disas/ppc.c:3737: > +{ "addex", XO(31,170,0,0), XO_MASK, POWER9, { RT, RA, RB } }, > ^ > > total: 3 errors, 0 warnings, 156 lines checked These are sorta-false positives. There's a whole old set of macro conventions in that file that are a real mess coding style wise (amongst other ways). For the time being, internal consistency is more important than consistency outside here. [snip] > Checking PATCH 13/27: ppc/xive: introduce a XIVE interrupt source model... > WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? > #61: > new file mode 100644 > > total: 0 errors, 1 warnings, 656 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 14/27: ppc/xive: add support for the LSI interrupt sources... > Checking PATCH 15/27: ppc/xive: introduce the XiveNotifier interface... > Checking PATCH 16/27: ppc/xive: introduce the XiveRouter model... > WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? > #170: > new file mode 100644 These do need a MAINTAINERS update, which I plan to do in followup. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
>> 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 14/27: ppc/xive: add support for the LSI interrupt sources... >> Checking PATCH 15/27: ppc/xive: introduce the XiveNotifier interface... >> Checking PATCH 16/27: ppc/xive: introduce the XiveRouter model... >> WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? >> #170: >> new file mode 100644 > > These do need a MAINTAINERS update, which I plan to do in followup. Yes. I should have. Please add my name also. Thanks, C.
© 2016 - 2024 Red Hat, Inc.