qemu/include/hw/arm
Philippe Mathieu-Daudé f7795e4096 misc: Replace zero-length arrays with flexible array member (automatic)
Description copied from Linux kernel commit from Gustavo A. R. Silva
(see [3]):

--v-- description start --v--

  The current codebase makes use of the zero-length array language
  extension to the C90 standard, but the preferred mechanism to
  declare variable-length types such as these ones is a flexible
  array member [1], introduced in C99:

  struct foo {
      int stuff;
      struct boo array[];
  };

  By making use of the mechanism above, we will get a compiler
  warning in case the flexible array does not occur last in the
  structure, which will help us prevent some kind of undefined
  behavior bugs from being unadvertenly introduced [2] to the
  Linux codebase from now on.

--^-- description end --^--

Do the similar housekeeping in the QEMU codebase (which uses
C99 since commit 7be41675f7).

All these instances of code were found with the help of the
following Coccinelle script:

  @@
  identifier s, m, a;
  type t, T;
  @@
   struct s {
      ...
      t m;
  -   T a[0];
  +   T a[];
  };
  @@
  identifier s, m, a;
  type t, T;
  @@
   struct s {
      ...
      t m;
  -   T a[0];
  +   T a[];
   } QEMU_PACKED;

[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=76497732932f
[3] https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/commit/?id=17642a2fbd2c1

Inspired-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-03-16 22:07:42 +01:00
..
allwinner-a10.h hw/arm/allwinner: add RTC device support 2020-03-12 16:27:33 +00:00
allwinner-h3.h hw/arm/allwinner: add RTC device support 2020-03-12 16:27:33 +00:00
armsse.h hw/arm: Correctly disable FPU/DSP for some ARMSSE-based boards 2019-06-17 15:12:25 +01:00
armv7m.h hw/arm/armv7m: Forward "vfp" and "dsp" properties to CPU 2019-06-17 15:12:25 +01:00
aspeed.h hw/arm/aspeed: add a 'execute-in-place' property to boot directly from CE0 2020-01-30 16:02:02 +00:00
aspeed_soc.h hw/arm: ast2400/ast2500: Wire up EHCI controllers 2020-02-13 14:14:55 +00:00
bcm2835_peripherals.h hw/arm/bcm2835_peripherals: Use the SYS_timer 2019-10-25 13:09:27 +01:00
bcm2836.h hw/arm/bcm2836: Rename cpus[] as cpu[].core 2019-10-25 13:09:27 +01:00
boot.h hw/arm/boot: Set NSACR.{CP11, CP10} in dummy SMC setup routine 2019-11-11 13:44:16 +00:00
digic.h qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
exynos4210.h hw/arm/exynos4210: Fix DMA initialization 2020-01-23 16:34:15 +00:00
fdt.h hw/arm/sysbus-fdt: enable vfio-calxeda-xgmac dynamic instantiation 2015-06-19 14:17:44 +01:00
fsl-imx6.h i.MX: Add support for WDT on i.MX6 2020-02-13 14:14:52 +00:00
fsl-imx6ul.h hw/arm/fsl-imx6ul.c: Remove dead SMP-related code 2019-07-22 14:07:39 +01:00
fsl-imx7.h Include exec/memory.h slightly less 2019-08-16 13:31:52 +02:00
fsl-imx25.h hw/arm/fsl-imx25: Wire up USB controllers 2020-03-12 16:27:33 +00:00
fsl-imx31.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
linux-boot-if.h qom: make interface types abstract 2018-12-11 15:45:22 -02:00
msf2-soc.h msf2: Add Smartfusion2 SoC 2017-09-21 16:36:56 +01:00
nrf51.h arm: Stub out NRF51 TWI magnetometer/accelerometer detection 2019-01-29 11:46:03 +00:00
nrf51_soc.h Clean up decorations and whitespace around header guards 2019-05-13 08:58:55 +02:00
omap.h omap-gpio: remove PROP_PTR 2020-01-07 17:24:29 +04:00
primecell.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
pxa.h hw/pcmcia: Remove PCMCIACardState from "qemu/typedefs.h" 2019-01-22 05:14:32 +01:00
raspi_platform.h hw/arm/bcm2835_peripherals: Use the thermal sensor block 2019-10-25 13:09:27 +01:00
sharpsl.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
smmu-common.h misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
smmuv3.h hw/arm/smmuv3: Cache/invalidate config data 2018-06-26 17:50:42 +01:00
soc_dma.h Include exec/memory.h slightly less 2019-08-16 13:31:52 +02:00
stm32f205_soc.h arm: drop intermediate cpu_model -> cpu type parsing and use cpu type directly 2017-09-19 09:09:32 -03:00
stm32f405_soc.h hw/arm: Add the STM32F4xx SoC 2020-01-17 14:09:29 +00:00
sysbus-fdt.h arm/boot: split load_dtb() from arm_load_kernel() 2018-05-10 18:10:56 +01:00
virt.h hw/arm/virt: Introduce finalize_gic_version() 2020-03-12 16:27:33 +00:00
xlnx-versal.h hw/arm: versal: Add support for the LPD ADMAs 2020-03-05 16:09:13 +00:00
xlnx-zynqmp.h hw: Move Xilinx ZynqMP RTC from hw/timer/ to hw/rtc/ subdirectory 2019-10-24 20:28:01 +02:00