linux/arch/s390/include/asm/chsc.h
<<
>>
Prefs
   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 */
  26struct chsc_pnso_naid_l2 {
  27        u64 nit;
  28        struct { u8 mac[6]; u16 lnid; } addr_lnid;
  29} __packed;
  30
  31struct chsc_pnso_resume_token {
  32        u64 t1;
  33        u64 t2;
  34} __packed;
  35
  36struct 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
  45struct 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