1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright IBM Corp. 2020 4 * 5 * Author(s): Alexandra Winter <wintera@linux.ibm.com> 6 * 7 * Interface for Channel Subsystem Call 8 */ 9 #ifndef _ASM_S390_CHSC_H 10 #define _ASM_S390_CHSC_H 11 12 #include <uapi/asm/chsc.h> 13 14 /** 15 * struct chsc_pnso_naid_l2 - network address information descriptor 16 * @nit: Network interface token 17 * @addr_lnid: network address and logical network id (VLAN ID) 18 */ 19 struct chsc_pnso_naid_l2 { 20 u64 nit; 21 struct { u8 mac[6]; u16 lnid; } addr_lnid; 22 } __packed; 23 24 struct chsc_pnso_resume_token { 25 u64 t1; 26 u64 t2; 27 } __packed; 28 29 struct chsc_pnso_naihdr { 30 struct chsc_pnso_resume_token resume_token; 31 u32:32; 32 u32 instance; 33 u32:24; 34 u8 naids; 35 u32 reserved[3]; 36 } __packed; 37 38 struct chsc_pnso_area { 39 struct chsc_header request; 40 u8:2; 41 u8 m:1; 42 u8:5; 43 u8:2; 44 u8 ssid:2; 45 u8 fmt:4; 46 u16 sch; 47 u8:8; 48 u8 cssid; 49 u16:16; 50 u8 oc; 51 u32:24; 52 struct chsc_pnso_resume_token resume_token; 53 u32 n:1; 54 u32:31; 55 u32 reserved[3]; 56 struct chsc_header response; 57 u32:32; 58 struct chsc_pnso_naihdr naihdr; 59 struct chsc_pnso_naid_l2 entries[0]; 60 } __packed __aligned(PAGE_SIZE); 61 62 #endif /* _ASM_S390_CHSC_H */ 63