Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Copyright IBM Corp. 2020
0004  *
0005  * Author(s): Alexandra Winter <wintera@linux.ibm.com>
0006  *
0007  * Interface for Channel Subsystem Call
0008  */
0009 #ifndef _ASM_S390_CHSC_H
0010 #define _ASM_S390_CHSC_H
0011 
0012 #include <uapi/asm/chsc.h>
0013 
0014 /**
0015  * Operation codes for CHSC PNSO:
0016  *    PNSO_OC_NET_BRIDGE_INFO - only addresses that are visible to a bridgeport
0017  *    PNSO_OC_NET_ADDR_INFO   - all addresses
0018  */
0019 #define PNSO_OC_NET_BRIDGE_INFO     0
0020 #define PNSO_OC_NET_ADDR_INFO       3
0021 /**
0022  * struct chsc_pnso_naid_l2 - network address information descriptor
0023  * @nit:  Network interface token
0024  * @addr_lnid: network address and logical network id (VLAN ID)
0025  */
0026 struct chsc_pnso_naid_l2 {
0027     u64 nit;
0028     struct { u8 mac[6]; u16 lnid; } addr_lnid;
0029 } __packed;
0030 
0031 struct chsc_pnso_resume_token {
0032     u64 t1;
0033     u64 t2;
0034 } __packed;
0035 
0036 struct chsc_pnso_naihdr {
0037     struct chsc_pnso_resume_token resume_token;
0038     u32:32;
0039     u32 instance;
0040     u32:24;
0041     u8 naids;
0042     u32 reserved[3];
0043 } __packed;
0044 
0045 struct chsc_pnso_area {
0046     struct chsc_header request;
0047     u8:2;
0048     u8 m:1;
0049     u8:5;
0050     u8:2;
0051     u8 ssid:2;
0052     u8 fmt:4;
0053     u16 sch;
0054     u8:8;
0055     u8 cssid;
0056     u16:16;
0057     u8 oc;
0058     u32:24;
0059     struct chsc_pnso_resume_token resume_token;
0060     u32 n:1;
0061     u32:31;
0062     u32 reserved[3];
0063     struct chsc_header response;
0064     u32:32;
0065     struct chsc_pnso_naihdr naihdr;
0066     struct chsc_pnso_naid_l2 entries[];
0067 } __packed __aligned(PAGE_SIZE);
0068 
0069 #endif /* _ASM_S390_CHSC_H */