int sysapi_opsys_version() { if( ! arch_inited ) { init_arch(); } return opsys_version; }
void kernel_early(multiboot_info_t *mbt, unsigned int magic) { (void)magic; terminal_initialize(); printf("Initializing Kernel core...\n"); set_multiboot_info(mbt); init_arch(); }
const char * sysapi_opsys_legacy(void) { if( ! arch_inited ) { init_arch(); } return opsys_legacy; }
const char * sysapi_opsys_short_name(void) { if( ! arch_inited ) { init_arch(); } return opsys_short_name; }
int sysapi_opsys_major_version(void) { if( ! arch_inited ) { init_arch(); } return opsys_major_version; }
const char * sysapi_uname_opsys(void) { if( ! arch_inited ) { init_arch(); } return uname_opsys; }
const char * sysapi_opsys_versioned(void) { if( ! arch_inited ) { init_arch(); } return opsys_versioned; }
const char * sysapi_condor_arch(void) { if( ! arch_inited ) { init_arch(); } return arch; }
void ebbrt::lrt::event::init(unsigned num_cores) { /* allocate the array of pointers to alternative stacks */ altstack = new (mem::malloc(sizeof(uintptr_t*) * num_cores, 0)) uintptr_t*[num_cores]; init_arch(); }
static void get_input (char *net_file, char *arch_file, int place_cost_type, int num_regions, float aspect_ratio, boolean user_sized, enum e_route_type route_type, struct s_det_routing_arch *det_routing_arch, t_segment_inf **segment_inf_ptr, t_timing_inf *timing_inf_ptr, t_subblock_data *subblock_data_ptr, t_chan_width_dist *chan_width_dist_ptr) { /* This subroutine reads in the netlist and architecture files, initializes * * some data structures and does any error checks that require knowledge of * * both the algorithms to be used and the FPGA architecture. */ printf("Reading the FPGA architectural description from %s.\n", arch_file); read_arch (arch_file, route_type, det_routing_arch, segment_inf_ptr, timing_inf_ptr, subblock_data_ptr, chan_width_dist_ptr); printf("Successfully read %s.\n",arch_file); printf("Pins per clb: %d. Pads per row/column: %d.\n", pins_per_clb, io_rat); printf("Subblocks per clb: %d. Subblock LUT size: %d.\n", subblock_data_ptr->max_subblocks_per_block, subblock_data_ptr->subblock_lut_size); if (route_type == DETAILED) { if (det_routing_arch->Fc_type == ABSOLUTE) printf("Fc value is absolute number of tracks.\n"); else printf("Fc value is fraction of tracks in a channel.\n"); printf("Fc_output: %g. Fc_input: %g. Fc_pad: %g.\n", det_routing_arch->Fc_output, det_routing_arch->Fc_input, det_routing_arch->Fc_pad); if (det_routing_arch->switch_block_type == SUBSET) printf("Switch block type: Subset.\n"); else if (det_routing_arch->switch_block_type == WILTON) printf("Switch_block_type: WILTON.\n"); else printf ("Switch_block_type: UNIVERSAL.\n"); printf ("Distinct types of segments: %d.\n", det_routing_arch->num_segment); printf ("Distinct types of user-specified switches: %d.\n", det_routing_arch->num_switch - 2); } printf ("\n"); printf("Reading the circuit netlist from %s.\n",net_file); read_net (net_file, subblock_data_ptr); printf("Successfully read %s.\n", net_file); printf("%d blocks, %d nets, %d global nets.\n", num_blocks, num_nets, num_globals); printf("%d clbs, %d inputs, %d outputs.\n", num_clbs, num_p_inputs, num_p_outputs); /* Set up some physical FPGA data structures that need to * * know num_blocks. */ init_arch(aspect_ratio, user_sized); printf("The circuit will be mapped into a %d x %d array of clbs.\n\n", nx, ny); if (place_cost_type == NONLINEAR_CONG && (num_regions > nx || num_regions > ny)) { printf("Error: Cannot use more regions than clbs in placement cost " "function.\n"); exit(1); } }
void SIM_init(){ sky_pref_t* pref; char* welcome_str = get_front_message(); /* * get the corrent_config_file and do some initialization */ skyeye_config_t* config = get_current_config(); skyeye_option_init(config); /* * initialization of callback data structure, it needs to * be initialized at very beginning. */ init_callback(); /* * initilize the data structure for command * register some default built-in command */ init_command_list(); init_stepi(); /* * initialization of module manangement */ init_module_list(); /* * initialization of architecture and cores */ init_arch(); /* * initialization of bus and memory module */ init_bus(); /* * initialization of machine module */ init_mach(); /* * initialization of breakpoint, that depends on callback module. */ init_bp(); /* * get the current preference for simulator */ pref = get_skyeye_pref(); /* * loading all the modules in search directory */ if(!pref->module_search_dir) pref->module_search_dir = skyeye_strdup(default_lib_dir); SKY_load_all_modules(pref->module_search_dir, NULL); //skyeye_config_t *config; //config = malloc(sizeof(skyeye_config_t)); /* if(pref->autoboot == True){ SIM_start(); SIM_run(); } */ /* * if we run simulator in GUI or external IDE, we do not need to * launch our CLI. */ if(pref->interactive_mode == True){ SIM_cli(); } else{ SIM_start(); SIM_run(); } }