Dmitry Osipenko <dmitry.osipe...@collabora.com> writes:

> Update kernel headers to get new VirtIO-GPU capsets, in particular the
> Venus capset.
>
> Signed-off-by: Huang Rui <ray.hu...@amd.com>
> Signed-off-by: Dmitry Osipenko <dmitry.osipe...@collabora.com>
> ---
>  hw/i386/x86.c                                 |   8 -
>  include/standard-headers/asm-x86/bootparam.h  |  17 +-
>  include/standard-headers/asm-x86/kvm_para.h   |   3 +-
>  include/standard-headers/asm-x86/setup_data.h |  83 +++
>  include/standard-headers/linux/ethtool.h      |  48 ++
>  include/standard-headers/linux/fuse.h         |  39 +-
>  .../linux/input-event-codes.h                 |   1 +
>  include/standard-headers/linux/virtio_gpu.h   |   2 +
>  include/standard-headers/linux/virtio_pci.h   |  10 +-
>  include/standard-headers/linux/virtio_snd.h   | 154 ++++
>  linux-headers/asm-arm64/kvm.h                 |  15 +-
>  linux-headers/asm-arm64/sve_context.h         |  11 +
>  linux-headers/asm-generic/bitsperlong.h       |   4 +
>  linux-headers/asm-loongarch/kvm.h             |   2 -
>  linux-headers/asm-mips/kvm.h                  |   2 -
>  linux-headers/asm-powerpc/kvm.h               |  45 +-
>  linux-headers/asm-riscv/kvm.h                 |   3 +-
>  linux-headers/asm-s390/kvm.h                  | 315 +++++++-
>  linux-headers/asm-x86/kvm.h                   | 308 +++++++-
>  linux-headers/linux/bits.h                    |  15 +
>  linux-headers/linux/kvm.h                     | 689 +-----------------
>  linux-headers/linux/psp-sev.h                 |  59 ++
>  linux-headers/linux/vhost.h                   |   7 +
>  scripts/update-linux-headers.sh               |   5 +-
>  24 files changed, 1106 insertions(+), 739 deletions(-)
>  create mode 100644 include/standard-headers/asm-x86/setup_data.h
>  create mode 100644 linux-headers/linux/bits.h
>
> diff --git a/hw/i386/x86.c b/hw/i386/x86.c
> index ffbda48917fd..84a48019770b 100644
> --- a/hw/i386/x86.c
> +++ b/hw/i386/x86.c
> @@ -679,14 +679,6 @@ DeviceState *ioapic_init_secondary(GSIState *gsi_state)
>      return dev;
>  }
>  
> -struct setup_data {
> -    uint64_t next;
> -    uint32_t type;
> -    uint32_t len;
> -    uint8_t data[];
> -} __attribute__((packed));
> -
> -

This isn't part of the header import. I'd rather see

  - import the current header set
  - update to the script
  - clean-ups and additions

why are we migrating to using the kernels non-uapi assembler headers?

<snip>
> --- a/scripts/update-linux-headers.sh
> +++ b/scripts/update-linux-headers.sh
> @@ -62,6 +62,7 @@ cp_portable() {
>                                       -e 'linux/kernel' \
>                                       -e 'linux/sysinfo' \
>                                       -e 'asm-generic/kvm_para' \
> +                                     -e 'asm-x86/setup_data.h' \

some justification for this/

>                                       > /dev/null
>      then
>          echo "Unexpected #include in input file $f".
> @@ -149,9 +150,11 @@ for arch in $ARCHLIST; do
>          cp "$tmpdir/include/asm/unistd_x32.h" 
> "$output/linux-headers/asm-x86/"
>          cp "$tmpdir/include/asm/unistd_64.h" "$output/linux-headers/asm-x86/"
>          cp_portable "$tmpdir/include/asm/kvm_para.h" 
> "$output/include/standard-headers/asm-$arch"
> +        cp_portable "$tmpdir/include/asm/setup_data.h" 
> "$output/include/standard-headers/asm-$arch"

is there a portable setup_data.h? why is it asm-x86 above?

>          # Remove everything except the macros from bootparam.h avoiding the
>          # unnecessary import of several video/ist/etc headers
>          sed -e '/__ASSEMBLY__/,/__ASSEMBLY__/d' \
> +            -e 's/<asm\/\([^>]*\)>/"standard-headers\/asm-x86\/\1"/' \
>                 "$tmpdir/include/asm/bootparam.h" > "$tmpdir/bootparam.h"
>          cp_portable "$tmpdir/bootparam.h" \
>                      "$output/include/standard-headers/asm-$arch"
> @@ -165,7 +168,7 @@ rm -rf "$output/linux-headers/linux"
>  mkdir -p "$output/linux-headers/linux"
>  for header in const.h stddef.h kvm.h vfio.h vfio_ccw.h vfio_zdev.h vhost.h \
>                psci.h psp-sev.h userfaultfd.h memfd.h mman.h nvme_ioctl.h \
> -              vduse.h iommufd.h; do
> +              vduse.h iommufd.h bits.h; do

What do we need bits for here? 

>      cp "$tmpdir/include/linux/$header" "$output/linux-headers/linux"
>  done

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to