| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  |