=============================================================================== 40005ff8 <_IO_Initialize_all_drivers>: #include bool _IO_All_drivers_initialized; void _IO_Initialize_all_drivers( void ) { 40005ff8: 9d e3 bf a0 save %sp, -96, %sp rtems_device_major_number major; _IO_All_drivers_initialized = true; 40005ffc: 03 10 00 49 sethi %hi(0x40012400), %g1 40006000: 84 10 20 01 mov 1, %g2 40006004: c4 28 60 e0 stb %g2, [ %g1 + 0xe0 ] for ( major=0 ; major < _IO_Number_of_drivers ; major ++ ) 40006008: 03 10 00 3c sethi %hi(0x4000f000), %g1 4000600c: f8 00 62 94 ld [ %g1 + 0x294 ], %i4 ! 4000f294 <_IO_Number_of_drivers> 40006010: 80 a7 20 00 cmp %i4, 0 40006014: 02 80 00 0a be 4000603c <_IO_Initialize_all_drivers+0x44> <== NEVER TAKEN 40006018: ba 10 20 00 clr %i5 (void) rtems_io_initialize( major, 0, NULL ); 4000601c: 90 10 00 1d mov %i5, %o0 40006020: 94 10 20 00 clr %o2 40006024: 40 00 1a 4d call 4000c958 40006028: 92 10 20 00 clr %o1 for ( major=0 ; major < _IO_Number_of_drivers ; major ++ ) 4000602c: ba 07 60 01 inc %i5 40006030: 80 a7 40 1c cmp %i5, %i4 40006034: 12 bf ff fb bne 40006020 <_IO_Initialize_all_drivers+0x28> <== NEVER TAKEN 40006038: 90 10 00 1d mov %i5, %o0 } 4000603c: 81 c7 e0 08 ret 40006040: 81 e8 00 00 restore =============================================================================== 4000f780 <_Objects_Information_table>: 4000f780: 00 00 00 00 40 01 1f 28 40 01 1e fc 40 01 1e c8 ....@..(@...@... 4000f790: 5f 41 6c 6c 6f 63 61 74 6f 72 00 00 00 00 00 00 _Allocator...... 4000f7a0: 28 66 6d 74 20 6e 75 6c 6c 29 0a 00 00 00 00 00 (fmt null)...... 4000f7b0: 28 6e 75 6c 6c 29 00 (null). =============================================================================== 40005fd8 : #include void rtems_fatal_error_occurred( uint32_t the_error ) { 40005fd8: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED _Terminate( INTERNAL_ERROR_RTEMS_API, the_error ); 40005fdc: 90 10 20 01 mov 1, %o0 <== NOT EXECUTED 40005fe0: 40 00 02 18 call 40006840 <_Terminate> <== NOT EXECUTED 40005fe4: 92 10 00 18 mov %i0, %o1 <== NOT EXECUTED 40005fe8: 01 00 00 00 nop <== NOT EXECUTED =============================================================================== 40005fec : #include #include const char *rtems_get_version_string(void) { return _RTEMS_version; 40005fec: 11 10 00 3f sethi %hi(0x4000fc00), %o0 <== NOT EXECUTED } 40005ff0: 81 c3 e0 08 retl <== NOT EXECUTED 40005ff4: 90 12 20 b0 or %o0, 0xb0, %o0 ! 4000fcb0 <_RTEMS_version> <== NOT EXECUTED =============================================================================== 40005f8c : RTEMS_SYSINIT_DEVICE_DRIVERS, RTEMS_SYSINIT_ORDER_MIDDLE ); void rtems_initialize_executive(void) { 40005f8c: 9d e3 bf a0 save %sp, -96, %sp RTEMS_INLINE_ROUTINE uintptr_t _Linker_set_Obfuscate( const void *ptr ) { uintptr_t addr; addr = (uintptr_t) ptr; 40005f90: 3b 10 00 3f sethi %hi(0x4000fc00), %i5 const rtems_sysinit_item *item; /* Invoke the registered system initialization handlers */ RTEMS_LINKER_SET_FOREACH( _Sysinit, item ) { 40005f94: 39 10 00 3f sethi %hi(0x4000fc00), %i4 RTEMS_OBFUSCATE_VARIABLE( addr ); 40005f98: ba 17 61 10 or %i5, 0x110, %i5 40005f9c: b8 17 21 58 or %i4, 0x158, %i4 40005fa0: 80 a7 40 1c cmp %i5, %i4 40005fa4: 02 80 00 09 be 40005fc8 <== NEVER TAKEN 40005fa8: 03 10 00 49 sethi %hi(0x40012400), %g1 ( *item->handler )(); 40005fac: c2 07 40 00 ld [ %i5 ], %g1 40005fb0: 9f c0 40 00 call %g1 40005fb4: ba 07 60 04 add %i5, 4, %i5 RTEMS_LINKER_SET_FOREACH( _Sysinit, item ) { 40005fb8: 80 a7 40 1c cmp %i5, %i4 40005fbc: 32 bf ff fd bne,a 40005fb0 40005fc0: c2 07 40 00 ld [ %i5 ], %g1 _System_state_Current = state; 40005fc4: 03 10 00 49 sethi %hi(0x40012400), %g1 40005fc8: 84 10 20 02 mov 2, %g2 _System_state_Set( SYSTEM_STATE_UP ); _SMP_Request_start_multitasking(); _Thread_Start_multitasking(); 40005fcc: 40 00 11 9e call 4000a644 <_Thread_Start_multitasking> 40005fd0: c4 20 60 ec st %g2, [ %g1 + 0xec ] 40005fd4: 01 00 00 00 nop <== NOT EXECUTED =============================================================================== 4000c898 : rtems_status_code rtems_io_close( rtems_device_major_number major, rtems_device_minor_number minor, void *argument ) { 4000c898: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED rtems_device_driver_entry callout; if ( major >= _IO_Number_of_drivers ) 4000c89c: 03 10 00 3c sethi %hi(0x4000f000), %g1 <== NOT EXECUTED 4000c8a0: c2 00 62 94 ld [ %g1 + 0x294 ], %g1 ! 4000f294 <_IO_Number_of_drivers> <== NOT EXECUTED { 4000c8a4: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED if ( major >= _IO_Number_of_drivers ) 4000c8a8: 80 a0 40 08 cmp %g1, %o0 <== NOT EXECUTED 4000c8ac: 08 80 00 11 bleu 4000c8f0 <== NOT EXECUTED 4000c8b0: b0 10 20 0a mov 0xa, %i0 <== NOT EXECUTED return RTEMS_INVALID_NUMBER; callout = _IO_Driver_address_table[major].close_entry; 4000c8b4: 83 2a 20 01 sll %o0, 1, %g1 <== NOT EXECUTED 4000c8b8: 82 00 40 08 add %g1, %o0, %g1 <== NOT EXECUTED 4000c8bc: 85 28 60 03 sll %g1, 3, %g2 <== NOT EXECUTED 4000c8c0: 03 10 00 44 sethi %hi(0x40011000), %g1 <== NOT EXECUTED 4000c8c4: 82 10 62 0c or %g1, 0x20c, %g1 ! 4001120c <_IO_Driver_address_table> <== NOT EXECUTED 4000c8c8: 82 00 40 02 add %g1, %g2, %g1 <== NOT EXECUTED 4000c8cc: c2 00 60 08 ld [ %g1 + 8 ], %g1 <== NOT EXECUTED return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; 4000c8d0: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 4000c8d4: 02 80 00 06 be 4000c8ec <== NOT EXECUTED 4000c8d8: 94 10 00 1a mov %i2, %o2 <== NOT EXECUTED 4000c8dc: 9f c0 40 00 call %g1 <== NOT EXECUTED 4000c8e0: 92 10 00 19 mov %i1, %o1 <== NOT EXECUTED 4000c8e4: 81 c7 e0 08 ret <== NOT EXECUTED 4000c8e8: 91 e8 00 08 restore %g0, %o0, %o0 <== NOT EXECUTED 4000c8ec: b0 10 20 00 clr %i0 <== NOT EXECUTED } 4000c8f0: 81 c7 e0 08 ret <== NOT EXECUTED 4000c8f4: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 4000c8f8 : rtems_status_code rtems_io_control( rtems_device_major_number major, rtems_device_minor_number minor, void *argument ) { 4000c8f8: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED rtems_device_driver_entry callout; if ( major >= _IO_Number_of_drivers ) 4000c8fc: 03 10 00 3c sethi %hi(0x4000f000), %g1 <== NOT EXECUTED 4000c900: c2 00 62 94 ld [ %g1 + 0x294 ], %g1 ! 4000f294 <_IO_Number_of_drivers> <== NOT EXECUTED { 4000c904: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED if ( major >= _IO_Number_of_drivers ) 4000c908: 80 a0 40 08 cmp %g1, %o0 <== NOT EXECUTED 4000c90c: 08 80 00 11 bleu 4000c950 <== NOT EXECUTED 4000c910: b0 10 20 0a mov 0xa, %i0 <== NOT EXECUTED return RTEMS_INVALID_NUMBER; callout = _IO_Driver_address_table[major].control_entry; 4000c914: 83 2a 20 01 sll %o0, 1, %g1 <== NOT EXECUTED 4000c918: 82 00 40 08 add %g1, %o0, %g1 <== NOT EXECUTED 4000c91c: 85 28 60 03 sll %g1, 3, %g2 <== NOT EXECUTED 4000c920: 03 10 00 44 sethi %hi(0x40011000), %g1 <== NOT EXECUTED 4000c924: 82 10 62 0c or %g1, 0x20c, %g1 ! 4001120c <_IO_Driver_address_table> <== NOT EXECUTED 4000c928: 82 00 40 02 add %g1, %g2, %g1 <== NOT EXECUTED 4000c92c: c2 00 60 14 ld [ %g1 + 0x14 ], %g1 <== NOT EXECUTED return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; 4000c930: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 4000c934: 02 80 00 06 be 4000c94c <== NOT EXECUTED 4000c938: 94 10 00 1a mov %i2, %o2 <== NOT EXECUTED 4000c93c: 9f c0 40 00 call %g1 <== NOT EXECUTED 4000c940: 92 10 00 19 mov %i1, %o1 <== NOT EXECUTED 4000c944: 81 c7 e0 08 ret <== NOT EXECUTED 4000c948: 91 e8 00 08 restore %g0, %o0, %o0 <== NOT EXECUTED 4000c94c: b0 10 20 00 clr %i0 <== NOT EXECUTED } 4000c950: 81 c7 e0 08 ret <== NOT EXECUTED 4000c954: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 4000c958 : rtems_status_code rtems_io_initialize( rtems_device_major_number major, rtems_device_minor_number minor, void *argument ) { 4000c958: 9d e3 bf a0 save %sp, -96, %sp rtems_device_driver_entry callout; if ( major >= _IO_Number_of_drivers ) 4000c95c: 03 10 00 3c sethi %hi(0x4000f000), %g1 4000c960: c2 00 62 94 ld [ %g1 + 0x294 ], %g1 ! 4000f294 <_IO_Number_of_drivers> { 4000c964: 90 10 00 18 mov %i0, %o0 if ( major >= _IO_Number_of_drivers ) 4000c968: 80 a0 40 08 cmp %g1, %o0 4000c96c: 08 80 00 10 bleu 4000c9ac <== NEVER TAKEN 4000c970: b0 10 20 0a mov 0xa, %i0 return RTEMS_INVALID_NUMBER; callout = _IO_Driver_address_table[major].initialization_entry; 4000c974: 83 2a 20 01 sll %o0, 1, %g1 4000c978: 07 10 00 44 sethi %hi(0x40011000), %g3 4000c97c: 82 00 40 08 add %g1, %o0, %g1 4000c980: 86 10 e2 0c or %g3, 0x20c, %g3 4000c984: 83 28 60 03 sll %g1, 3, %g1 4000c988: c2 00 c0 01 ld [ %g3 + %g1 ], %g1 return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; 4000c98c: 80 a0 60 00 cmp %g1, 0 4000c990: 02 80 00 06 be 4000c9a8 <== ALWAYS TAKEN 4000c994: 94 10 00 1a mov %i2, %o2 4000c998: 9f c0 40 00 call %g1 <== NOT EXECUTED 4000c99c: 92 10 00 19 mov %i1, %o1 <== NOT EXECUTED 4000c9a0: 81 c7 e0 08 ret <== NOT EXECUTED 4000c9a4: 91 e8 00 08 restore %g0, %o0, %o0 <== NOT EXECUTED 4000c9a8: b0 10 20 00 clr %i0 } 4000c9ac: 81 c7 e0 08 ret 4000c9b0: 81 e8 00 00 restore =============================================================================== 4000c9b4 : rtems_status_code rtems_io_open( rtems_device_major_number major, rtems_device_minor_number minor, void *argument ) { 4000c9b4: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED rtems_device_driver_entry callout; if ( major >= _IO_Number_of_drivers ) 4000c9b8: 03 10 00 3c sethi %hi(0x4000f000), %g1 <== NOT EXECUTED 4000c9bc: c2 00 62 94 ld [ %g1 + 0x294 ], %g1 ! 4000f294 <_IO_Number_of_drivers> <== NOT EXECUTED { 4000c9c0: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED if ( major >= _IO_Number_of_drivers ) 4000c9c4: 80 a0 40 08 cmp %g1, %o0 <== NOT EXECUTED 4000c9c8: 08 80 00 11 bleu 4000ca0c <== NOT EXECUTED 4000c9cc: b0 10 20 0a mov 0xa, %i0 <== NOT EXECUTED return RTEMS_INVALID_NUMBER; callout = _IO_Driver_address_table[major].open_entry; 4000c9d0: 83 2a 20 01 sll %o0, 1, %g1 <== NOT EXECUTED 4000c9d4: 82 00 40 08 add %g1, %o0, %g1 <== NOT EXECUTED 4000c9d8: 85 28 60 03 sll %g1, 3, %g2 <== NOT EXECUTED 4000c9dc: 03 10 00 44 sethi %hi(0x40011000), %g1 <== NOT EXECUTED 4000c9e0: 82 10 62 0c or %g1, 0x20c, %g1 ! 4001120c <_IO_Driver_address_table> <== NOT EXECUTED 4000c9e4: 82 00 40 02 add %g1, %g2, %g1 <== NOT EXECUTED 4000c9e8: c2 00 60 04 ld [ %g1 + 4 ], %g1 <== NOT EXECUTED return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; 4000c9ec: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 4000c9f0: 02 80 00 06 be 4000ca08 <== NOT EXECUTED 4000c9f4: 94 10 00 1a mov %i2, %o2 <== NOT EXECUTED 4000c9f8: 9f c0 40 00 call %g1 <== NOT EXECUTED 4000c9fc: 92 10 00 19 mov %i1, %o1 <== NOT EXECUTED 4000ca00: 81 c7 e0 08 ret <== NOT EXECUTED 4000ca04: 91 e8 00 08 restore %g0, %o0, %o0 <== NOT EXECUTED 4000ca08: b0 10 20 00 clr %i0 <== NOT EXECUTED } 4000ca0c: 81 c7 e0 08 ret <== NOT EXECUTED 4000ca10: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 4000ca14 : rtems_status_code rtems_io_read( rtems_device_major_number major, rtems_device_minor_number minor, void *argument ) { 4000ca14: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED rtems_device_driver_entry callout; if ( major >= _IO_Number_of_drivers ) 4000ca18: 03 10 00 3c sethi %hi(0x4000f000), %g1 <== NOT EXECUTED 4000ca1c: c2 00 62 94 ld [ %g1 + 0x294 ], %g1 ! 4000f294 <_IO_Number_of_drivers> <== NOT EXECUTED { 4000ca20: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED if ( major >= _IO_Number_of_drivers ) 4000ca24: 80 a0 40 08 cmp %g1, %o0 <== NOT EXECUTED 4000ca28: 08 80 00 11 bleu 4000ca6c <== NOT EXECUTED 4000ca2c: b0 10 20 0a mov 0xa, %i0 <== NOT EXECUTED return RTEMS_INVALID_NUMBER; callout = _IO_Driver_address_table[major].read_entry; 4000ca30: 83 2a 20 01 sll %o0, 1, %g1 <== NOT EXECUTED 4000ca34: 82 00 40 08 add %g1, %o0, %g1 <== NOT EXECUTED 4000ca38: 85 28 60 03 sll %g1, 3, %g2 <== NOT EXECUTED 4000ca3c: 03 10 00 44 sethi %hi(0x40011000), %g1 <== NOT EXECUTED 4000ca40: 82 10 62 0c or %g1, 0x20c, %g1 ! 4001120c <_IO_Driver_address_table> <== NOT EXECUTED 4000ca44: 82 00 40 02 add %g1, %g2, %g1 <== NOT EXECUTED 4000ca48: c2 00 60 0c ld [ %g1 + 0xc ], %g1 <== NOT EXECUTED return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; 4000ca4c: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 4000ca50: 02 80 00 06 be 4000ca68 <== NOT EXECUTED 4000ca54: 94 10 00 1a mov %i2, %o2 <== NOT EXECUTED 4000ca58: 9f c0 40 00 call %g1 <== NOT EXECUTED 4000ca5c: 92 10 00 19 mov %i1, %o1 <== NOT EXECUTED 4000ca60: 81 c7 e0 08 ret <== NOT EXECUTED 4000ca64: 91 e8 00 08 restore %g0, %o0, %o0 <== NOT EXECUTED 4000ca68: b0 10 20 00 clr %i0 <== NOT EXECUTED } 4000ca6c: 81 c7 e0 08 ret <== NOT EXECUTED 4000ca70: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 4000ca74 : rtems_status_code rtems_io_write( rtems_device_major_number major, rtems_device_minor_number minor, void *argument ) { 4000ca74: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED rtems_device_driver_entry callout; if ( major >= _IO_Number_of_drivers ) 4000ca78: 03 10 00 3c sethi %hi(0x4000f000), %g1 <== NOT EXECUTED 4000ca7c: c2 00 62 94 ld [ %g1 + 0x294 ], %g1 ! 4000f294 <_IO_Number_of_drivers> <== NOT EXECUTED { 4000ca80: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED if ( major >= _IO_Number_of_drivers ) 4000ca84: 80 a0 40 08 cmp %g1, %o0 <== NOT EXECUTED 4000ca88: 08 80 00 11 bleu 4000cacc <== NOT EXECUTED 4000ca8c: b0 10 20 0a mov 0xa, %i0 <== NOT EXECUTED return RTEMS_INVALID_NUMBER; callout = _IO_Driver_address_table[major].write_entry; 4000ca90: 83 2a 20 01 sll %o0, 1, %g1 <== NOT EXECUTED 4000ca94: 82 00 40 08 add %g1, %o0, %g1 <== NOT EXECUTED 4000ca98: 85 28 60 03 sll %g1, 3, %g2 <== NOT EXECUTED 4000ca9c: 03 10 00 44 sethi %hi(0x40011000), %g1 <== NOT EXECUTED 4000caa0: 82 10 62 0c or %g1, 0x20c, %g1 ! 4001120c <_IO_Driver_address_table> <== NOT EXECUTED 4000caa4: 82 00 40 02 add %g1, %g2, %g1 <== NOT EXECUTED 4000caa8: c2 00 60 10 ld [ %g1 + 0x10 ], %g1 <== NOT EXECUTED return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; 4000caac: 80 a0 60 00 cmp %g1, 0 <== NOT EXECUTED 4000cab0: 02 80 00 06 be 4000cac8 <== NOT EXECUTED 4000cab4: 94 10 00 1a mov %i2, %o2 <== NOT EXECUTED 4000cab8: 9f c0 40 00 call %g1 <== NOT EXECUTED 4000cabc: 92 10 00 19 mov %i1, %o1 <== NOT EXECUTED 4000cac0: 81 c7 e0 08 ret <== NOT EXECUTED 4000cac4: 91 e8 00 08 restore %g0, %o0, %o0 <== NOT EXECUTED 4000cac8: b0 10 20 00 clr %i0 <== NOT EXECUTED } 4000cacc: 81 c7 e0 08 ret <== NOT EXECUTED 4000cad0: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 4000c884 : #include #include void rtems_shutdown_executive( uint32_t result ) { 4000c884: 9d e3 bf a0 save %sp, -96, %sp _Terminate( RTEMS_FATAL_SOURCE_EXIT, result ); 4000c888: 90 10 20 05 mov 5, %o0 4000c88c: 7f ff e7 ed call 40006840 <_Terminate> 4000c890: 92 10 00 18 mov %i0, %o1 4000c894: 01 00 00 00 nop <== NOT EXECUTED