Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __ALPHA_GCT_H
0003 #define __ALPHA_GCT_H
0004 
0005 typedef u64 gct_id;
0006 typedef u64 gct6_handle;
0007 
0008 typedef struct __gct6_node {
0009     u8 type;    
0010     u8 subtype;
0011     u16 size;
0012     u32 hd_extension;
0013     gct6_handle owner;
0014     gct6_handle active_user;
0015     gct_id id;
0016     u64 flags;
0017     u16 rev;
0018     u16 change_counter;
0019     u16 max_child;
0020     u16 reserved1;
0021     gct6_handle saved_owner;
0022     gct6_handle affinity;
0023     gct6_handle parent;
0024     gct6_handle next;
0025     gct6_handle prev;
0026     gct6_handle child;
0027     u64 fw_flags;
0028     u64 os_usage;
0029     u64 fru_id;
0030     u32 checksum;
0031     u32 magic;  /* 'GLXY' */
0032 } gct6_node;
0033 
0034 typedef struct {
0035     u8 type;    
0036     u8 subtype;
0037     void (*callout)(gct6_node *);
0038 } gct6_search_struct;
0039 
0040 #define GCT_NODE_MAGIC    0x59584c47    /* 'GLXY' */
0041 
0042 /* 
0043  * node types 
0044  */
0045 #define GCT_TYPE_HOSE           0x0E
0046 
0047 /*
0048  * node subtypes
0049  */
0050 #define GCT_SUBTYPE_IO_PORT_MODULE  0x2C
0051 
0052 #define GCT_NODE_PTR(off) ((gct6_node *)((char *)hwrpb +        \
0053                      hwrpb->frut_offset +       \
0054                      (gct6_handle)(off)))       \
0055 
0056 int gct6_find_nodes(gct6_node *, gct6_search_struct *);
0057 
0058 #endif /* __ALPHA_GCT_H */
0059