Subject: [PATCH] [FEAT VS1804] include/boot/s390.h: add guard for `struct __vector128` From: Marc Hartmayer Summary: genprotimg: Introduce new tool for the creation of PV images Description: genprotimg takes a kernel, host-key documents, optionally an initrd, optionally a file with the kernel command line, and it generates a single, loadable image file. The image consists of a concatenation of a plain text boot loader, the encrypted components for kernel, initrd, and cmdline, and the integrity-protected PV header, containing metadata necessary for running the guest in PV mode. It's possible to use this image file as a kernel for zIPL or for a direct kernel boot using QEMU. Upstream-ID: 11bdab26297e508fdab29f9457094eedf681de53 Problem-ID: VS1804 Upstream-Description: include/boot/s390.h: add guard for `struct __vector128` `linux/asm/types.h` also defines the struct `__vector128` so in order to avoid definition conflicts add the macro guard _S390_TYPES_H, which is defined in `linux/asm/types`. `linux/asm/types.h` is included by glib2, which is used by the PV tooling. Reviewed-by: Jan Höppner Signed-off-by: Marc Hartmayer Signed-off-by: Jan Höppner Signed-off-by: Marc Hartmayer --- include/boot/s390.h | 5 +++++ 1 file changed, 5 insertions(+) --- a/include/boot/s390.h +++ b/include/boot/s390.h @@ -358,12 +358,17 @@ static __always_inline int is_zvm(void) return cpuid.version == 0xff; } +/* To avoid conflicts add a macro guard since __vector128 is also + * defined in 'linux/asm/types.h'. + */ +#ifndef _S390_TYPES_H /* * Vector register definition */ typedef struct { uint32_t u[4]; } __vector128; +#endif /* * Save vector registers