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 * Operation codes for CHSC PNSO: 16 * PNSO_OC_NET_BRIDGE_INFO - only addresses that are visible to a bridgeport 17 * PNSO_OC_NET_ADDR_INFO - all addresses 18 */ 19 #define PNSO_OC_NET_BRIDGE_INFO 0 20 #define PNSO_OC_NET_ADDR_INFO 3 21 /** 22 * struct chsc_pnso_naid_l2 - network address information descriptor 23 * @nit: Network interface token 24 * @addr_lnid: network address and logical network id (VLAN ID) 25 */ 26 struct chsc_pnso_naid_l2 { 27 u64 nit; 28 struct { u8 mac[6]; u16 lnid; } addr_lnid; 29 } __packed; 30 31 struct chsc_pnso_resume_token { 32 u64 t1; 33 u64 t2; 34 } __packed; 35 36 struct chsc_pnso_naihdr { 37 struct chsc_pnso_resume_token resume_token; 38 u32:32; 39 u32 instance; 40 u32:24; 41 u8 naids; 42 u32 reserved[3]; 43 } __packed; 44 45 struct chsc_pnso_area { 46 struct chsc_header request; 47 u8:2; 48 u8 m:1; 49 u8:5; 50 u8:2; 51 u8 ssid:2; 52 u8 fmt:4; 53 u16 sch; 54 u8:8; 55 u8 cssid; 56 u16:16; 57 u8 oc; 58 u32:24; 59 struct chsc_pnso_resume_token resume_token; 60 u32 n:1; 61 u32:31; 62 u32 reserved[3]; 63 struct chsc_header response; 64 u32:32; 65 struct chsc_pnso_naihdr naihdr; 66 struct chsc_pnso_naid_l2 entries[0]; 67 } __packed __aligned(PAGE_SIZE); 68 69 #endif /* _ASM_S390_CHSC_H */ 70