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