Changeset 19 for trunk/kernel/kern/kernel_init.c
- Timestamp:
- Jun 3, 2017, 4:46:59 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/kern/kernel_init.c
r14 r19 82 82 // This variable defines the local cluster manager 83 83 __attribute__((section(".kdata"))) 84 cluster_t cluster_manager CONFIG_CACHE_LINE_ALIGNED; 84 cluster_t cluster_manager CONFIG_CACHE_LINE_ALIGNED; 85 85 86 86 // This variables define the kernel process0 descriptor 87 87 __attribute__((section(".kdata"))) 88 process_t process_zero CONFIG_CACHE_LINE_ALIGNED; 88 process_t process_zero CONFIG_CACHE_LINE_ALIGNED; 89 89 90 90 // This variable defines extended pointers on the distributed chdevs … … 197 197 { 198 198 cxy_t cxy = (x<<info->y_width) + y; 199 hal_remote_swd( XPTR( cxy , &chdev_dir.txt[0] ) , 199 hal_remote_swd( XPTR( cxy , &chdev_dir.txt[0] ) , 200 200 XPTR( local_cxy , &txt0_chdev ) ); 201 201 } … … 204 204 kinit_dmsg("\n[INFO] %s : core[%x][0] created TXT0 chdev" 205 205 " / paddr = %l at cycle %d\n", 206 __FUNCTION__ , local_cxy , chdev_func_str( func ), 206 __FUNCTION__ , local_cxy , chdev_func_str( func ), 207 207 XPTR(local_cxy , &txt0_chdev) , hal_time_stamp() ); 208 208 } … … 257 257 // make ICU specific initialisation 258 258 // TODO remove these three parameters 259 dev_icu_init( chdev_ptr , dev->param0 , dev->param1 , dev->param2 ); 259 dev_icu_init( chdev_ptr , dev->param0 , dev->param1 , dev->param2 ); 260 260 261 261 // initialize the ICU field in the chdev_dir[x][y] structures … … 532 532 } // end if match 533 533 534 // increment chdev global index (matching or not) 534 // increment chdev global index (matching or not) 535 535 chdev_gid++; 536 536 … … 608 608 uint32_t i; 609 609 gid_t global_id; 610 610 611 611 // get global identifier from hardware register 612 612 global_id = hal_get_gid(); … … 624 624 } 625 625 return EINVAL; 626 } 626 } 627 627 628 628 /////////////////////////////////////////////////////////////////////////////////////////// 629 629 // This function is the entry point for the kernel initialisation. 630 // It is executed by all cores in all clusters, but only core[0], called CP0, 630 // It is executed by all cores in all clusters, but only core[0], called CP0, 631 631 // initializes the shared resources such as the cluster manager, or the local peripherals. 632 // To comply with the multi-kernels paradigm, it access only local cluster memory, using633 // only information scontained in the local boot_info_t structure, set by the bootloader.632 // To comply with the multi-kernels paradigm, it accesses only local cluster memory, using 633 // only information contained in the local boot_info_t structure, set by the bootloader. 634 634 /////////////////////////////////////////////////////////////////////////////////////////// 635 635 // @ info : pointer on the local boot-info structure. … … 681 681 } 682 682 683 // CP0 initialize local cluster manager (cores and memory allocators)683 // CP0 initializes the local cluster manager (cores and memory allocators) 684 684 if( core_lid == 0 ) 685 685 { … … 713 713 core = &cluster->core_tbl[core_lid]; 714 714 715 // CP0 initialize process_zero descriptor715 // CP0 initializes the process_zero descriptor 716 716 if( core_lid == 0 ) process_zero_init( info ); 717 717 718 // CP0 allocate and initialise internal peripheral chdev descriptors.718 // CP0 allocates and initialises the internal peripheral chdev descriptors. 719 719 // Each CP0[cxy] scan the set of its internal (private) peripherals, 720 720 // and allocate memory for the corresponding chdev descriptors.
Note: See TracChangeset
for help on using the changeset viewer.