File s390-tools-sles15sp2-47-include-boot-s390.h-add-guard-for-struct-__vector128.patch of Package s390-tools.18357

Subject: [PATCH] [FEAT VS1804] include/boot/s390.h: add guard for `struct __vector128`
From: Marc Hartmayer <mhartmay@linux.ibm.com>

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 <hoeppner@linux.ibm.com>
             Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
             Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>


Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
---
 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
openSUSE Build Service is sponsored by