s390/topology: fix topology information when calling cpu hotplug notifiers
[linux-2.6-microblaze.git] / arch / s390 / include / asm / chsc.h
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 */