00001 /*** MODULE GCT_TREE_INIT ***/ 00002 /******************************************************************************/ 00022 /******************************************************************************/ 00023 /* 00024 * Author: Fred Kleinsorge 00025 * 00026 * Modified by: 00027 * 00028 * X-2 Andy Kuehnel 18-Dec-1997 00029 * From Fred: interface to gct_init$configure_galaxy 00030 * changed. 00031 * 00032 * X-1 Andy Kuehnel 13-Nov-1997 00033 * Add standard header; initial checkin. 00034 */ 00035 #ifndef _GCT_TREE_INIT_H_ 00036 #define _GCT_TREE_INIT_H_ 00037 00038 #include "src$:gct_tree.h" 00039 00040 #define GIG 0x00040000000 00041 #define ONE_GIG 0x00040000000 00042 #define TWO_GIG 0x00080000000 00043 #define FOUR_GIG 0x00100000000 00044 #define EIGHT_GIG 0x00200000000 00045 #define SIXTY4_GIG 0x01000000000 00046 #define ONE28_GIG 0x02000000000 00047 #define MEG 0x00000100000 00048 #define ONE_MEG 0x00000100000 00049 #define TWO_MEG 0x00000200000 00050 #define FOUR_MEG 0x00000400000 00051 #define EIGHT_MEG 0x00000800000 00052 #define SIXTY4_MEG 0x00004000000 00053 #define ONE28_MEG 0x00008000000 00054 00055 #define NO_INIT 0 00056 #define INIT_ONLY 1 00057 #define INIT 2 00058 00059 typedef struct _gct_platform_tree { 00060 int depth; 00061 int type; 00062 int subtype; 00063 GCT_ID id; 00064 uint64 flags; 00065 uint64 private[8]; 00066 } GCT_PLATFORM_TREE; 00067 00068 /* 00069 * Pseudo-NVRAM 00070 */ 00071 typedef struct _gct_galaxy_nvram { 00072 int type; 00073 int subtype; 00074 GCT_ID id; 00075 uint64 private_init; 00076 uint64 private[8]; 00077 } GCT_GALAXY_NVRAM; 00078 00079 /* 00080 * Built-in configurations 00081 */ 00082 typedef struct _gct_configurations { 00083 int platform_type; 00084 GCT_PLATFORM_TREE *platform_tree; 00085 GCT_GALAXY_NVRAM *galaxy_nvram; 00086 char *galaxy_id; 00087 } GCT_CONFIGURATIONS; 00088 00089 typedef struct _gct_platform_data { 00090 uint64 cons_req; 00091 uint64 base_alloc; 00092 uint64 base_align; 00093 uint64 min_alloc; 00094 uint64 min_align; 00095 uint32 max_partitions; 00096 uint32 max_fragments; 00097 uint32 max_desc; 00098 char *name; 00099 uint64 platform_type; 00100 } GCT_PLATFORM_DATA; 00101 00102 extern int32 00103 gct_init$init_tree(GCT_PLATFORM_DATA *platform_data, GCT_BINDINGS *node_bindings, char *gct_buffer, int size); 00104 extern void gct_init$populate_tree( GCT_PLATFORM_TREE *tree_outline); 00105 extern int32 gct_init$configure_galaxy( GCT_GALAXY_NVRAM *galaxy_config, char *galaxy_id); 00106 extern int32 gct_init$bind_node( GCT_HANDLE node); 00107 #endif