]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4 LT |
2 | #ifndef __ALPHA_GCT_H |
3 | #define __ALPHA_GCT_H | |
4 | ||
5 | typedef u64 gct_id; | |
6 | typedef u64 gct6_handle; | |
7 | ||
8 | typedef struct __gct6_node { | |
9 | u8 type; | |
10 | u8 subtype; | |
11 | u16 size; | |
12 | u32 hd_extension; | |
13 | gct6_handle owner; | |
14 | gct6_handle active_user; | |
15 | gct_id id; | |
16 | u64 flags; | |
17 | u16 rev; | |
18 | u16 change_counter; | |
19 | u16 max_child; | |
20 | u16 reserved1; | |
21 | gct6_handle saved_owner; | |
22 | gct6_handle affinity; | |
23 | gct6_handle parent; | |
24 | gct6_handle next; | |
25 | gct6_handle prev; | |
26 | gct6_handle child; | |
27 | u64 fw_flags; | |
28 | u64 os_usage; | |
29 | u64 fru_id; | |
30 | u32 checksum; | |
31 | u32 magic; /* 'GLXY' */ | |
32 | } gct6_node; | |
33 | ||
34 | typedef struct { | |
35 | u8 type; | |
36 | u8 subtype; | |
37 | void (*callout)(gct6_node *); | |
38 | } gct6_search_struct; | |
39 | ||
40 | #define GCT_NODE_MAGIC 0x59584c47 /* 'GLXY' */ | |
41 | ||
42 | /* | |
43 | * node types | |
44 | */ | |
45 | #define GCT_TYPE_HOSE 0x0E | |
46 | ||
47 | /* | |
48 | * node subtypes | |
49 | */ | |
50 | #define GCT_SUBTYPE_IO_PORT_MODULE 0x2C | |
51 | ||
52 | #define GCT_NODE_PTR(off) ((gct6_node *)((char *)hwrpb + \ | |
53 | hwrpb->frut_offset + \ | |
54 | (gct6_handle)(off))) \ | |
55 | ||
56 | int gct6_find_nodes(gct6_node *, gct6_search_struct *); | |
57 | ||
58 | #endif /* __ALPHA_GCT_H */ | |
59 |