linux_dsm_epyc7002/arch/s390/include/asm/css_chars.h
Sebastian Ott 7352c54693 s390/cio: sanitize css_general_characteristics definition
Change css_general_characteristics such that the bitfields don't
straddle storage-unit boundaries of the base types.

This does not change the offsets of the structs members but now
we do as documented and also fix the following sparse complaint:
drivers/s390/cio/chsc.c:926:56:
	warning: invalid access past the end of 'css_general_characteristics' (16 18)

Signed-off-by: Sebastian Ott <sebott@linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2018-06-12 15:14:05 +02:00

46 lines
865 B
C

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_CSS_CHARS_H
#define _ASM_CSS_CHARS_H
#include <linux/types.h>
struct css_general_char {
u64 : 12;
u64 dynio : 1; /* bit 12 */
u64 : 4;
u64 eadm : 1; /* bit 17 */
u64 : 23;
u64 aif : 1; /* bit 41 */
u64 : 3;
u64 mcss : 1; /* bit 45 */
u64 fcs : 1; /* bit 46 */
u64 : 1;
u64 ext_mb : 1; /* bit 48 */
u64 : 7;
u64 aif_tdd : 1; /* bit 56 */
u64 : 1;
u64 qebsm : 1; /* bit 58 */
u64 : 2;
u64 aiv : 1; /* bit 61 */
u64 : 2;
u64 : 3;
u64 aif_osa : 1; /* bit 67 */
u64 : 12;
u64 eadm_rf : 1; /* bit 80 */
u64 : 1;
u64 cib : 1; /* bit 82 */
u64 : 5;
u64 fcx : 1; /* bit 88 */
u64 : 19;
u64 alt_ssi : 1; /* bit 108 */
u64 : 1;
u64 narf : 1; /* bit 110 */
u64 : 12;
u64 util_str : 1;/* bit 123 */
} __packed;
extern struct css_general_char css_general_characteristics;
#endif