File indexing completed on 2025-05-11 08:24:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037 #include <rtems/sysinit.h>
0038 #include <rtems/score/memory.h>
0039 #include <rtems/bspIo.h>
0040
0041 #include <inttypes.h>
0042
0043 RTEMS_LINKER_RWSET_ITEM_DECLARE(
0044 _Sysinit,
0045 rtems_sysinit_item,
0046 _Sysinit_Verbose
0047 );
0048
0049 #define SYSINIT_VERBOSE(x) \
0050 static void _Sysinit_Verbose_##x( void ); \
0051 RTEMS_SYSINIT_ITEM( \
0052 _Sysinit_Verbose_##x, \
0053 RTEMS_SYSINIT_##x, \
0054 RTEMS_SYSINIT_ORDER_LAST \
0055 )
0056
0057 SYSINIT_VERBOSE( BSP_EARLY );
0058 SYSINIT_VERBOSE( MEMORY );
0059 SYSINIT_VERBOSE( DIRTY_MEMORY );
0060 SYSINIT_VERBOSE( ZERO_MEMORY );
0061 SYSINIT_VERBOSE( ISR_STACK );
0062 SYSINIT_VERBOSE( PER_CPU_DATA );
0063 SYSINIT_VERBOSE( SBRK );
0064 SYSINIT_VERBOSE( STACK_ALLOCATOR );
0065 SYSINIT_VERBOSE( WORKSPACE );
0066 SYSINIT_VERBOSE( MALLOC );
0067 SYSINIT_VERBOSE( BSP_START );
0068 SYSINIT_VERBOSE( CPU_COUNTER );
0069 SYSINIT_VERBOSE( TARGET_HASH );
0070 SYSINIT_VERBOSE( INITIAL_EXTENSIONS );
0071 SYSINIT_VERBOSE( MP_EARLY );
0072 SYSINIT_VERBOSE( DATA_STRUCTURES );
0073 SYSINIT_VERBOSE( MP );
0074 SYSINIT_VERBOSE( USER_EXTENSIONS );
0075 SYSINIT_VERBOSE( CLASSIC_TASKS );
0076 SYSINIT_VERBOSE( CLASSIC_TASKS_MP );
0077 SYSINIT_VERBOSE( CLASSIC_TIMER );
0078 SYSINIT_VERBOSE( CLASSIC_SIGNAL_MP );
0079 SYSINIT_VERBOSE( CLASSIC_EVENT_MP );
0080 SYSINIT_VERBOSE( CLASSIC_MESSAGE_QUEUE );
0081 SYSINIT_VERBOSE( CLASSIC_MESSAGE_QUEUE_MP );
0082 SYSINIT_VERBOSE( CLASSIC_SEMAPHORE );
0083 SYSINIT_VERBOSE( CLASSIC_SEMAPHORE_MP );
0084 SYSINIT_VERBOSE( CLASSIC_PARTITION );
0085 SYSINIT_VERBOSE( CLASSIC_PARTITION_MP );
0086 SYSINIT_VERBOSE( CLASSIC_REGION );
0087 SYSINIT_VERBOSE( CLASSIC_DUAL_PORTED_MEMORY );
0088 SYSINIT_VERBOSE( CLASSIC_RATE_MONOTONIC );
0089 SYSINIT_VERBOSE( CLASSIC_BARRIER );
0090 SYSINIT_VERBOSE( POSIX_SIGNALS );
0091 SYSINIT_VERBOSE( POSIX_THREADS );
0092 SYSINIT_VERBOSE( POSIX_MESSAGE_QUEUE );
0093 SYSINIT_VERBOSE( POSIX_SEMAPHORE );
0094 SYSINIT_VERBOSE( POSIX_TIMER );
0095 SYSINIT_VERBOSE( POSIX_SHM );
0096 SYSINIT_VERBOSE( POSIX_KEYS );
0097 SYSINIT_VERBOSE( POSIX_CLEANUP );
0098 SYSINIT_VERBOSE( IDLE_THREADS );
0099 SYSINIT_VERBOSE( LIBIO );
0100 SYSINIT_VERBOSE( USER_ENVIRONMENT );
0101 SYSINIT_VERBOSE( ROOT_FILESYSTEM );
0102 SYSINIT_VERBOSE( DRVMGR );
0103 SYSINIT_VERBOSE( MP_SERVER );
0104 SYSINIT_VERBOSE( BSP_PRE_DRIVERS );
0105 SYSINIT_VERBOSE( DRVMGR_LEVEL_1 );
0106 SYSINIT_VERBOSE( DEVICE_DRIVERS );
0107 SYSINIT_VERBOSE( DRVMGR_LEVEL_2 );
0108 SYSINIT_VERBOSE( DRVMGR_LEVEL_3 );
0109 SYSINIT_VERBOSE( DRVMGR_LEVEL_4 );
0110 SYSINIT_VERBOSE( MP_FINALIZE );
0111 SYSINIT_VERBOSE( CLASSIC_USER_TASKS );
0112 SYSINIT_VERBOSE( POSIX_USER_THREADS );
0113 SYSINIT_VERBOSE( STD_FILE_DESCRIPTORS );
0114 SYSINIT_VERBOSE( LAST );
0115
0116 static bool _Sysinit_Verbose_is_adjacent(
0117 const rtems_sysinit_item *a,
0118 const rtems_sysinit_item *b
0119 )
0120 {
0121 RTEMS_OBFUSCATE_VARIABLE( a );
0122 RTEMS_OBFUSCATE_VARIABLE( b );
0123
0124 return a + 1 == b;
0125 }
0126
0127 #define SYSINIT_IS_ADJACENT( x, y ) \
0128 _Sysinit_Verbose_is_adjacent( \
0129 &_Linker_set__Sysinit__Sysinit_Verbose_##x, \
0130 &_Linker_set__Sysinit__Sysinit_Verbose_##y \
0131 )
0132
0133 static void _Sysinit_Print_free_memory( void )
0134 {
0135 const Memory_Information *mem;
0136 size_t i;
0137
0138 mem = _Memory_Get();
0139
0140 for ( i = 0; i < _Memory_Get_count( mem ); ++i ) {
0141 const Memory_Area *area;
0142
0143 area = _Memory_Get_area( mem, i );
0144 printk(
0145 "sysinit: memory area %zu: free begin = 0x%08" PRIxPTR
0146 ", free size = 0x%08" PRIxPTR "\n",
0147 i,
0148 (uintptr_t) _Memory_Get_free_begin( area ),
0149 _Memory_Get_free_size( area )
0150 );
0151 }
0152 }
0153
0154 void _Sysinit_Verbose( void )
0155 {
0156 printk( "sysinit: begin\n" );
0157 }
0158
0159 static void _Sysinit_Verbose_BSP_EARLY( void )
0160 {
0161 if (
0162 !_Sysinit_Verbose_is_adjacent(
0163 &_Linker_set__Sysinit__Sysinit_Verbose,
0164 &_Linker_set__Sysinit__Sysinit_Verbose_BSP_EARLY
0165 )
0166 ) {
0167 printk( "sysinit: BSP early: done\n" );
0168 }
0169 }
0170
0171 static void _Sysinit_Verbose_MEMORY( void )
0172 {
0173 const Memory_Information *mem;
0174 size_t i;
0175
0176 if ( !SYSINIT_IS_ADJACENT( BSP_EARLY, MEMORY ) ) {
0177 printk( "sysinit: memory: done\n" );
0178 }
0179
0180 printk(
0181 "sysinit: stack pointer: 0x%08" PRIxPTR "\n",
0182 (uintptr_t) __builtin_frame_address( 0 )
0183 );
0184
0185 mem = _Memory_Get();
0186
0187 for ( i = 0; i < _Memory_Get_count( mem ); ++i ) {
0188 const Memory_Area *area;
0189
0190 area = _Memory_Get_area( mem, i );
0191 printk(
0192 "sysinit: memory area %zu: begin = 0x%08" PRIxPTR
0193 ", size = 0x%08" PRIxPTR "\n",
0194 i,
0195 (uintptr_t) _Memory_Get_begin( area ),
0196 _Memory_Get_size( area )
0197 );
0198 }
0199 }
0200
0201 static void _Sysinit_Verbose_DIRTY_MEMORY( void )
0202 {
0203 if ( !SYSINIT_IS_ADJACENT( BSP_EARLY, DIRTY_MEMORY ) ) {
0204 printk( "sysinit: DIRTY_MEMORY: done\n" );
0205 }
0206 }
0207
0208 static void _Sysinit_Verbose_ZERO_MEMORY( void )
0209 {
0210 if ( !SYSINIT_IS_ADJACENT( DIRTY_MEMORY, ZERO_MEMORY ) ) {
0211 printk( "sysinit: ZERO_MEMORY: done\n" );
0212 }
0213 }
0214
0215 static void _Sysinit_Verbose_ISR_STACK( void )
0216 {
0217 if ( !SYSINIT_IS_ADJACENT( ZERO_MEMORY, ISR_STACK ) ) {
0218 printk( "sysinit: ISR_STACK: done\n" );
0219 }
0220 }
0221
0222 static void _Sysinit_Verbose_PER_CPU_DATA( void )
0223 {
0224 if ( !SYSINIT_IS_ADJACENT( ISR_STACK, PER_CPU_DATA ) ) {
0225 _Sysinit_Print_free_memory();
0226 printk( "sysinit: PER_CPU_DATA: done\n" );
0227 }
0228 }
0229
0230 static void _Sysinit_Verbose_SBRK( void )
0231 {
0232 if ( !SYSINIT_IS_ADJACENT( PER_CPU_DATA, SBRK ) ) {
0233 _Sysinit_Print_free_memory();
0234 printk( "sysinit: SBRK: done\n" );
0235 }
0236 }
0237
0238 static void _Sysinit_Verbose_STACK_ALLOCATOR( void )
0239 {
0240 if ( !SYSINIT_IS_ADJACENT( SBRK, STACK_ALLOCATOR ) ) {
0241 _Sysinit_Print_free_memory();
0242 printk( "sysinit: STACK_ALLOCATOR: done\n" );
0243 }
0244 }
0245
0246 static void _Sysinit_Verbose_WORKSPACE( void )
0247 {
0248 if ( !SYSINIT_IS_ADJACENT( STACK_ALLOCATOR, WORKSPACE ) ) {
0249 _Sysinit_Print_free_memory();
0250 printk( "sysinit: WORKSPACE: done\n" );
0251 }
0252 }
0253
0254 static void _Sysinit_Verbose_MALLOC( void )
0255 {
0256 if ( !SYSINIT_IS_ADJACENT( WORKSPACE, MALLOC ) ) {
0257 _Sysinit_Print_free_memory();
0258 printk( "sysinit: MALLOC: done\n" );
0259 }
0260 }
0261
0262 static void _Sysinit_Verbose_BSP_START( void )
0263 {
0264 if ( !SYSINIT_IS_ADJACENT( MALLOC, BSP_START ) ) {
0265 printk( "sysinit: BSP_START: done\n" );
0266 }
0267 }
0268
0269 static void _Sysinit_Verbose_CPU_COUNTER( void )
0270 {
0271 if ( !SYSINIT_IS_ADJACENT( BSP_START, CPU_COUNTER ) ) {
0272 printk( "sysinit: CPU_COUNTER: done\n" );
0273 }
0274 }
0275
0276 static void _Sysinit_Verbose_TARGET_HASH( void )
0277 {
0278 if ( !SYSINIT_IS_ADJACENT( CPU_COUNTER, TARGET_HASH ) ) {
0279 printk( "sysinit: TARGET_HASH: done\n" );
0280 }
0281 }
0282
0283 static void _Sysinit_Verbose_INITIAL_EXTENSIONS( void )
0284 {
0285 if ( !SYSINIT_IS_ADJACENT( TARGET_HASH, INITIAL_EXTENSIONS ) ) {
0286 printk( "sysinit: INITIAL_EXTENSIONS: done\n" );
0287 }
0288 }
0289
0290 static void _Sysinit_Verbose_MP_EARLY( void )
0291 {
0292 if ( !SYSINIT_IS_ADJACENT( INITIAL_EXTENSIONS, MP_EARLY ) ) {
0293 printk( "sysinit: MP_EARLY: done\n" );
0294 }
0295 }
0296
0297 static void _Sysinit_Verbose_DATA_STRUCTURES( void )
0298 {
0299 if ( !SYSINIT_IS_ADJACENT( MP_EARLY, DATA_STRUCTURES ) ) {
0300 printk( "sysinit: DATA_STRUCTURES: done\n" );
0301 }
0302 }
0303
0304 static void _Sysinit_Verbose_MP( void )
0305 {
0306 if ( !SYSINIT_IS_ADJACENT( DATA_STRUCTURES, MP ) ) {
0307 printk( "sysinit: MP: done\n" );
0308 }
0309 }
0310
0311 static void _Sysinit_Verbose_USER_EXTENSIONS( void )
0312 {
0313 if ( !SYSINIT_IS_ADJACENT( MP, USER_EXTENSIONS ) ) {
0314 printk( "sysinit: USER_EXTENSIONS: done\n" );
0315 }
0316 }
0317
0318 static void _Sysinit_Verbose_CLASSIC_TASKS( void )
0319 {
0320 if ( !SYSINIT_IS_ADJACENT( CLASSIC_USER_TASKS, CLASSIC_TASKS ) ) {
0321 printk( "sysinit: CLASSIC_TASKS: done\n" );
0322 }
0323 }
0324
0325 static void _Sysinit_Verbose_CLASSIC_TASKS_MP( void )
0326 {
0327 if ( !SYSINIT_IS_ADJACENT( CLASSIC_TASKS, CLASSIC_TASKS_MP ) ) {
0328 printk( "sysinit: CLASSIC_TASKS_MP: done\n" );
0329 }
0330 }
0331
0332 static void _Sysinit_Verbose_CLASSIC_TIMER( void )
0333 {
0334 if ( !SYSINIT_IS_ADJACENT( CLASSIC_TASKS_MP, CLASSIC_TIMER ) ) {
0335 printk( "sysinit: CLASSIC_TIMER: done\n" );
0336 }
0337 }
0338
0339 static void _Sysinit_Verbose_CLASSIC_SIGNAL_MP( void )
0340 {
0341 if ( !SYSINIT_IS_ADJACENT( CLASSIC_TIMER, CLASSIC_SIGNAL_MP ) ) {
0342 printk( "sysinit: CLASSIC_SIGNAL_MP: done\n" );
0343 }
0344 }
0345
0346 static void _Sysinit_Verbose_CLASSIC_EVENT_MP( void )
0347 {
0348 if ( !SYSINIT_IS_ADJACENT( CLASSIC_SIGNAL_MP, CLASSIC_EVENT_MP ) ) {
0349 printk( "sysinit: CLASSIC_EVENT_MP: done\n" );
0350 }
0351 }
0352
0353 static void _Sysinit_Verbose_CLASSIC_MESSAGE_QUEUE( void )
0354 {
0355 if ( !SYSINIT_IS_ADJACENT( CLASSIC_EVENT_MP, CLASSIC_MESSAGE_QUEUE ) ) {
0356 printk( "sysinit: CLASSIC_MESSAGE_QUEUE: done\n" );
0357 }
0358 }
0359
0360 static void _Sysinit_Verbose_CLASSIC_MESSAGE_QUEUE_MP( void )
0361 {
0362 if ( !SYSINIT_IS_ADJACENT( CLASSIC_MESSAGE_QUEUE, CLASSIC_MESSAGE_QUEUE_MP ) ) {
0363 printk( "sysinit: CLASSIC_MESSAGE_QUEUE_MP: done\n" );
0364 }
0365 }
0366
0367 static void _Sysinit_Verbose_CLASSIC_SEMAPHORE( void )
0368 {
0369 if ( !SYSINIT_IS_ADJACENT( CLASSIC_MESSAGE_QUEUE_MP, CLASSIC_SEMAPHORE ) ) {
0370 printk( "sysinit: CLASSIC_SEMAPHORE: done\n" );
0371 }
0372 }
0373
0374 static void _Sysinit_Verbose_CLASSIC_SEMAPHORE_MP( void )
0375 {
0376 if ( !SYSINIT_IS_ADJACENT( CLASSIC_SEMAPHORE, CLASSIC_SEMAPHORE_MP ) ) {
0377 printk( "sysinit: CLASSIC_SEMAPHORE_MP: done\n" );
0378 }
0379 }
0380
0381 static void _Sysinit_Verbose_CLASSIC_PARTITION( void )
0382 {
0383 if ( !SYSINIT_IS_ADJACENT( CLASSIC_SEMAPHORE_MP, CLASSIC_PARTITION ) ) {
0384 printk( "sysinit: CLASSIC_PARTITION: done\n" );
0385 }
0386 }
0387
0388 static void _Sysinit_Verbose_CLASSIC_PARTITION_MP( void )
0389 {
0390 if ( !SYSINIT_IS_ADJACENT( CLASSIC_PARTITION, CLASSIC_PARTITION_MP ) ) {
0391 printk( "sysinit: CLASSIC_PARTITION_MP: done\n" );
0392 }
0393 }
0394
0395 static void _Sysinit_Verbose_CLASSIC_REGION( void )
0396 {
0397 if ( !SYSINIT_IS_ADJACENT( CLASSIC_PARTITION_MP, CLASSIC_REGION ) ) {
0398 printk( "sysinit: CLASSIC_REGION: done\n" );
0399 }
0400 }
0401
0402 static void _Sysinit_Verbose_CLASSIC_DUAL_PORTED_MEMORY( void )
0403 {
0404 if ( !SYSINIT_IS_ADJACENT( CLASSIC_REGION, CLASSIC_DUAL_PORTED_MEMORY ) ) {
0405 printk( "sysinit: CLASSIC_DUAL_PORTED_MEMORY: done\n" );
0406 }
0407 }
0408
0409 static void _Sysinit_Verbose_CLASSIC_RATE_MONOTONIC( void )
0410 {
0411 if (
0412 !SYSINIT_IS_ADJACENT(
0413 CLASSIC_DUAL_PORTED_MEMORY,
0414 CLASSIC_RATE_MONOTONIC
0415 )
0416 ) {
0417 printk( "sysinit: CLASSIC_RATE_MONOTONIC: done\n" );
0418 }
0419 }
0420
0421 static void _Sysinit_Verbose_CLASSIC_BARRIER( void )
0422 {
0423 if ( !SYSINIT_IS_ADJACENT( CLASSIC_RATE_MONOTONIC, CLASSIC_BARRIER ) ) {
0424 printk( "sysinit: CLASSIC_BARRIER: done\n" );
0425 }
0426 }
0427
0428 static void _Sysinit_Verbose_POSIX_SIGNALS( void )
0429 {
0430 if ( !SYSINIT_IS_ADJACENT( CLASSIC_BARRIER, POSIX_SIGNALS ) ) {
0431 printk( "sysinit: POSIX_SIGNALS: done\n" );
0432 }
0433 }
0434
0435 static void _Sysinit_Verbose_POSIX_THREADS( void )
0436 {
0437 if ( !SYSINIT_IS_ADJACENT( POSIX_SIGNALS, POSIX_THREADS ) ) {
0438 printk( "sysinit: POSIX_THREADS: done\n" );
0439 }
0440 }
0441
0442 static void _Sysinit_Verbose_POSIX_MESSAGE_QUEUE( void )
0443 {
0444 if ( !SYSINIT_IS_ADJACENT( POSIX_THREADS, POSIX_MESSAGE_QUEUE ) ) {
0445 printk( "sysinit: POSIX_MESSAGE_QUEUE: done\n" );
0446 }
0447 }
0448
0449 static void _Sysinit_Verbose_POSIX_SEMAPHORE( void )
0450 {
0451 if ( !SYSINIT_IS_ADJACENT( POSIX_MESSAGE_QUEUE, POSIX_SEMAPHORE ) ) {
0452 printk( "sysinit: POSIX_SEMAPHORE: done\n" );
0453 }
0454 }
0455
0456 static void _Sysinit_Verbose_POSIX_TIMER( void )
0457 {
0458 if ( !SYSINIT_IS_ADJACENT( POSIX_SEMAPHORE, POSIX_TIMER ) ) {
0459 printk( "sysinit: POSIX_TIMER: done\n" );
0460 }
0461 }
0462
0463 static void _Sysinit_Verbose_POSIX_SHM( void )
0464 {
0465 if ( !SYSINIT_IS_ADJACENT( POSIX_TIMER, POSIX_SHM ) ) {
0466 printk( "sysinit: POSIX_SHM: done\n" );
0467 }
0468 }
0469
0470 static void _Sysinit_Verbose_POSIX_KEYS( void )
0471 {
0472 if ( !SYSINIT_IS_ADJACENT( POSIX_SHM, POSIX_KEYS ) ) {
0473 printk( "sysinit: POSIX_KEYS: done\n" );
0474 }
0475 }
0476
0477 static void _Sysinit_Verbose_POSIX_CLEANUP( void )
0478 {
0479 if ( !SYSINIT_IS_ADJACENT( POSIX_KEYS, POSIX_CLEANUP ) ) {
0480 printk( "sysinit: POSIX_CLEANUP: done\n" );
0481 }
0482 }
0483
0484 static void _Sysinit_Verbose_IDLE_THREADS( void )
0485 {
0486 if ( !SYSINIT_IS_ADJACENT( POSIX_CLEANUP, IDLE_THREADS ) ) {
0487 printk( "sysinit: IDLE_THREADS: done\n" );
0488 }
0489 }
0490
0491 static void _Sysinit_Verbose_LIBIO( void )
0492 {
0493 if ( !SYSINIT_IS_ADJACENT( IDLE_THREADS, LIBIO ) ) {
0494 printk( "sysinit: LIBIO: done\n" );
0495 }
0496 }
0497
0498 static void _Sysinit_Verbose_USER_ENVIRONMENT( void )
0499 {
0500 if ( !SYSINIT_IS_ADJACENT( LIBIO, USER_ENVIRONMENT ) ) {
0501 printk( "sysinit: USER_ENVIRONMENT: done\n" );
0502 }
0503 }
0504
0505 static void _Sysinit_Verbose_ROOT_FILESYSTEM( void )
0506 {
0507 if ( !SYSINIT_IS_ADJACENT( USER_ENVIRONMENT, ROOT_FILESYSTEM ) ) {
0508 printk( "sysinit: ROOT_FILESYSTEM: done\n" );
0509 }
0510 }
0511
0512 static void _Sysinit_Verbose_DRVMGR( void )
0513 {
0514 if ( !SYSINIT_IS_ADJACENT( ROOT_FILESYSTEM, DRVMGR ) ) {
0515 printk( "sysinit: DRVMGR: done\n" );
0516 }
0517 }
0518
0519 static void _Sysinit_Verbose_MP_SERVER( void )
0520 {
0521 if ( !SYSINIT_IS_ADJACENT( DRVMGR, MP_SERVER ) ) {
0522 printk( "sysinit: MP_SERVER: done\n" );
0523 }
0524 }
0525
0526 static void _Sysinit_Verbose_BSP_PRE_DRIVERS( void )
0527 {
0528 if ( !SYSINIT_IS_ADJACENT( MP_SERVER, BSP_PRE_DRIVERS ) ) {
0529 printk( "sysinit: BSP_PRE_DRIVERS: done\n" );
0530 }
0531 }
0532
0533 static void _Sysinit_Verbose_DRVMGR_LEVEL_1( void )
0534 {
0535 if ( !SYSINIT_IS_ADJACENT( BSP_PRE_DRIVERS, DRVMGR_LEVEL_1 ) ) {
0536 printk( "sysinit: DRVMGR_LEVEL_1: done\n" );
0537 }
0538 }
0539
0540 static void _Sysinit_Verbose_DEVICE_DRIVERS( void )
0541 {
0542 if ( !SYSINIT_IS_ADJACENT( DRVMGR_LEVEL_1, DEVICE_DRIVERS ) ) {
0543 printk( "sysinit: DEVICE_DRIVERS: done\n" );
0544 }
0545 }
0546
0547 static void _Sysinit_Verbose_DRVMGR_LEVEL_2( void )
0548 {
0549 if ( !SYSINIT_IS_ADJACENT( DEVICE_DRIVERS, DRVMGR_LEVEL_2 ) ) {
0550 printk( "sysinit: DRVMGR_LEVEL_2: done\n" );
0551 }
0552 }
0553
0554 static void _Sysinit_Verbose_DRVMGR_LEVEL_3( void )
0555 {
0556 if ( !SYSINIT_IS_ADJACENT( DRVMGR_LEVEL_2, DRVMGR_LEVEL_3 ) ) {
0557 printk( "sysinit: DRVMGR_LEVEL_3: done\n" );
0558 }
0559 }
0560
0561 static void _Sysinit_Verbose_DRVMGR_LEVEL_4( void )
0562 {
0563 if ( !SYSINIT_IS_ADJACENT( DRVMGR_LEVEL_3, DRVMGR_LEVEL_4 ) ) {
0564 printk( "sysinit: DRVMGR_LEVEL_4: done\n" );
0565 }
0566 }
0567
0568 static void _Sysinit_Verbose_MP_FINALIZE( void )
0569 {
0570 if ( !SYSINIT_IS_ADJACENT( DRVMGR_LEVEL_4, MP_FINALIZE ) ) {
0571 printk( "sysinit: MP_FINALIZE: done\n" );
0572 }
0573 }
0574
0575 static void _Sysinit_Verbose_CLASSIC_USER_TASKS( void )
0576 {
0577 if ( !SYSINIT_IS_ADJACENT( MP_FINALIZE, CLASSIC_USER_TASKS ) ) {
0578 printk( "sysinit: CLASSIC_USER_TASKS: done\n" );
0579 }
0580 }
0581
0582 static void _Sysinit_Verbose_POSIX_USER_THREADS( void )
0583 {
0584 if ( !SYSINIT_IS_ADJACENT( CLASSIC_USER_TASKS, POSIX_USER_THREADS ) ) {
0585 printk( "sysinit: POSIX_USER_THREADS: done\n" );
0586 }
0587 }
0588
0589 static void _Sysinit_Verbose_STD_FILE_DESCRIPTORS( void )
0590 {
0591 if ( !SYSINIT_IS_ADJACENT( POSIX_USER_THREADS, STD_FILE_DESCRIPTORS ) ) {
0592 printk( "sysinit: STD_FILE_DESCRIPTORS: done\n" );
0593 }
0594 }
0595
0596 static void _Sysinit_Verbose_LAST( void )
0597 {
0598 printk( "sysinit: done\n" );
0599 }