Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/alpha/include/asm/gct.h
26481 views
1
/* SPDX-License-Identifier: GPL-2.0 */
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
60
61