=============================================================================== 40007b00 : static inline uint32_t _Per_CPU_Get_index( const Per_CPU_Control *cpu ) { const Per_CPU_Control_envelope *per_cpu_envelope = ( const Per_CPU_Control_envelope * ) cpu; return ( uint32_t ) ( per_cpu_envelope - &_Per_CPU_Information[ 0 ] ); 40007b00: 07 33 33 33 sethi %hi(0xcccccc00), %g3 <== NOT EXECUTED 40007b04: 86 10 e0 cd or %g3, 0xcd, %g3 ! cccccccd <== NOT EXECUTED 40007b08: 03 10 02 44 sethi %hi(0x40091000), %g1 <== NOT EXECUTED if ( stack->area == NULL ) { 40007b0c: 05 10 02 36 sethi %hi(0x4008d800), %g2 <== NOT EXECUTED 40007b10: 82 10 62 40 or %g1, 0x240, %g1 <== NOT EXECUTED 40007b14: 84 10 a2 7c or %g2, 0x27c, %g2 <== NOT EXECUTED 40007b18: 82 21 80 01 sub %g6, %g1, %g1 <== NOT EXECUTED 40007b1c: 83 38 60 04 sra %g1, 4, %g1 <== NOT EXECUTED 40007b20: 82 58 40 03 smul %g1, %g3, %g1 <== NOT EXECUTED 40007b24: 83 28 60 03 sll %g1, 3, %g1 <== NOT EXECUTED 40007b28: 86 00 80 01 add %g2, %g1, %g3 <== NOT EXECUTED 40007b2c: da 00 e0 04 ld [ %g3 + 4 ], %o5 <== NOT EXECUTED 40007b30: 80 a3 60 00 cmp %o5, 0 <== NOT EXECUTED 40007b34: 22 80 00 04 be,a 40007b44 <== NOT EXECUTED 40007b38: d0 01 a0 08 ld [ %g6 + 8 ], %o0 <== NOT EXECUTED } 40007b3c: 81 c3 e0 08 retl <== NOT EXECUTED 40007b40: 01 00 00 00 nop <== NOT EXECUTED stack->area = cpu_self->interrupt_stack_low; 40007b44: d0 20 e0 04 st %o0, [ %g3 + 4 ] <== NOT EXECUTED Stack_check_Dope_stack( stack ); 40007b48: 92 10 20 a5 mov 0xa5, %o1 <== NOT EXECUTED stack->size = (size_t) ( (char *) cpu_self->interrupt_stack_high - 40007b4c: c8 01 a0 0c ld [ %g6 + 0xc ], %g4 <== NOT EXECUTED 40007b50: 88 21 00 08 sub %g4, %o0, %g4 <== NOT EXECUTED Stack_check_Dope_stack( stack ); 40007b54: 94 10 00 04 mov %g4, %o2 <== NOT EXECUTED stack->size = (size_t) ( (char *) cpu_self->interrupt_stack_high - 40007b58: c8 20 80 01 st %g4, [ %g2 + %g1 ] <== NOT EXECUTED Stack_check_Dope_stack( stack ); 40007b5c: 82 13 c0 00 mov %o7, %g1 <== NOT EXECUTED 40007b60: 40 01 65 a6 call 400611f8 <== NOT EXECUTED 40007b64: 9e 10 40 00 mov %g1, %o7 <== NOT EXECUTED =============================================================================== 40007c70 : */ void rtems_stack_checker_report_usage_with_plugin( const rtems_printer* printer ) { 40007c70: 9d e3 bf a0 save %sp, -96, %sp <== NOT EXECUTED uint32_t cpu_max; uint32_t cpu_index; rtems_printf( 40007c74: 13 10 01 f2 sethi %hi(0x4007c800), %o1 <== NOT EXECUTED 40007c78: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED 40007c7c: 40 00 12 57 call 4000c5d8 <== NOT EXECUTED 40007c80: 92 12 62 f8 or %o1, 0x2f8, %o1 <== NOT EXECUTED " STACK USAGE BY THREAD\n" "ID NAME LOW HIGH CURRENT AVAIL USED\n" ); /* iterate over all threads and dump the usage */ rtems_task_iterate( 40007c84: 92 10 00 18 mov %i0, %o1 <== NOT EXECUTED 40007c88: 11 10 00 1e sethi %hi(0x40007800), %o0 <== NOT EXECUTED 40007c8c: 40 00 47 4a call 400199b4 <== NOT EXECUTED 40007c90: 90 12 22 84 or %o0, 0x284, %o0 ! 40007a84 <== NOT EXECUTED Stack_check_Dump_threads_usage, RTEMS_DECONST( rtems_printer *, printer ) ); cpu_max = rtems_get_processor_count(); 40007c94: 40 00 46 30 call 40019554 <== NOT EXECUTED 40007c98: 01 00 00 00 nop <== NOT EXECUTED for ( cpu_index = 0; cpu_index < cpu_max; ++cpu_index ) { 40007c9c: b4 92 20 00 orcc %o0, 0, %i2 <== NOT EXECUTED 40007ca0: 02 80 00 10 be 40007ce0 <== NOT EXECUTED 40007ca4: 39 10 02 36 sethi %hi(0x4008d800), %i4 <== NOT EXECUTED Stack_check_Dump_stack_usage( 40007ca8: 37 10 01 f2 sethi %hi(0x4007c800), %i3 <== NOT EXECUTED 40007cac: b8 17 22 7c or %i4, 0x27c, %i4 <== NOT EXECUTED for ( cpu_index = 0; cpu_index < cpu_max; ++cpu_index ) { 40007cb0: ba 10 20 00 clr %i5 <== NOT EXECUTED Stack_check_Dump_stack_usage( 40007cb4: b6 16 e3 80 or %i3, 0x380, %i3 <== NOT EXECUTED 40007cb8: 96 10 00 1d mov %i5, %o3 <== NOT EXECUTED 40007cbc: 90 10 00 1c mov %i4, %o0 <== NOT EXECUTED 40007cc0: 98 10 00 18 mov %i0, %o4 <== NOT EXECUTED 40007cc4: 94 10 00 1b mov %i3, %o2 <== NOT EXECUTED 40007cc8: 7f ff ff 29 call 4000796c <== NOT EXECUTED 40007ccc: 92 10 20 00 clr %o1 <== NOT EXECUTED for ( cpu_index = 0; cpu_index < cpu_max; ++cpu_index ) { 40007cd0: ba 07 60 01 inc %i5 <== NOT EXECUTED 40007cd4: 80 a6 80 1d cmp %i2, %i5 <== NOT EXECUTED 40007cd8: 12 bf ff f8 bne 40007cb8 <== NOT EXECUTED 40007cdc: b8 07 20 08 add %i4, 8, %i4 <== NOT EXECUTED &Stack_check_Interrupt_stack[ cpu_index ], cpu_index, printer ); } } 40007ce0: 81 c7 e0 08 ret <== NOT EXECUTED 40007ce4: 81 e8 00 00 restore <== NOT EXECUTED =============================================================================== 40007b68 : { 40007b68: 9d e3 bf 80 save %sp, -128, %sp <== NOT EXECUTED if ( sp < the_stack->area ) { 40007b6c: fa 06 20 d0 ld [ %i0 + 0xd0 ], %i5 <== NOT EXECUTED 40007b70: b8 07 60 08 add %i5, 8, %i4 <== NOT EXECUTED 40007b74: 13 10 01 f2 sethi %hi(0x4007c800), %o1 <== NOT EXECUTED 40007b78: 94 10 20 10 mov 0x10, %o2 <== NOT EXECUTED 40007b7c: 90 10 00 1c mov %i4, %o0 <== NOT EXECUTED 40007b80: 80 a7 80 1d cmp %fp, %i5 <== NOT EXECUTED 40007b84: 0a 80 00 0e bcs 40007bbc <== NOT EXECUTED 40007b88: 92 12 63 90 or %o1, 0x390, %o1 <== NOT EXECUTED 40007b8c: 40 01 64 e8 call 40060f2c <== NOT EXECUTED 40007b90: 01 00 00 00 nop <== NOT EXECUTED if ( sp > (the_stack->area + the_stack->size) ) { 40007b94: c2 06 20 cc ld [ %i0 + 0xcc ], %g1 <== NOT EXECUTED 40007b98: 82 07 40 01 add %i5, %g1, %g1 <== NOT EXECUTED 40007b9c: 80 a7 80 01 cmp %fp, %g1 <== NOT EXECUTED 40007ba0: 18 80 00 0a bgu 40007bc8 <== NOT EXECUTED 40007ba4: b6 10 00 08 mov %o0, %i3 <== NOT EXECUTED if ( !sp_ok || !pattern_ok ) { 40007ba8: 80 a2 20 00 cmp %o0, 0 <== NOT EXECUTED 40007bac: 12 80 00 08 bne 40007bcc <== NOT EXECUTED 40007bb0: 11 10 01 f2 sethi %hi(0x4007c800), %o0 <== NOT EXECUTED } 40007bb4: 81 c7 e0 08 ret <== NOT EXECUTED 40007bb8: 81 e8 00 00 restore <== NOT EXECUTED 40007bbc: 40 01 64 dc call 40060f2c <== NOT EXECUTED 40007bc0: 01 00 00 00 nop <== NOT EXECUTED 40007bc4: b6 10 00 08 mov %o0, %i3 <== NOT EXECUTED printk("BLOWN STACK!!!\n"); 40007bc8: 11 10 01 f2 sethi %hi(0x4007c800), %o0 <== NOT EXECUTED 40007bcc: 40 00 12 60 call 4000c54c <== NOT EXECUTED 40007bd0: 90 12 22 18 or %o0, 0x218, %o0 ! 4007ca18 <== NOT EXECUTED printk("task control block: 0x%08" PRIxPTR "\n", (intptr_t) running); 40007bd4: 92 10 00 18 mov %i0, %o1 <== NOT EXECUTED 40007bd8: 11 10 01 f2 sethi %hi(0x4007c800), %o0 <== NOT EXECUTED 40007bdc: 40 00 12 5c call 4000c54c <== NOT EXECUTED 40007be0: 90 12 22 28 or %o0, 0x228, %o0 ! 4007ca28 <== NOT EXECUTED printk("task ID: 0x%08lx\n", (unsigned long) running->Object.id); 40007be4: d2 06 20 08 ld [ %i0 + 8 ], %o1 <== NOT EXECUTED 40007be8: 11 10 01 f2 sethi %hi(0x4007c800), %o0 <== NOT EXECUTED 40007bec: 40 00 12 58 call 4000c54c <== NOT EXECUTED 40007bf0: 90 12 22 48 or %o0, 0x248, %o0 ! 4007ca48 <== NOT EXECUTED printk( 40007bf4: d2 06 20 0c ld [ %i0 + 0xc ], %o1 <== NOT EXECUTED 40007bf8: 11 10 01 f2 sethi %hi(0x4007c800), %o0 <== NOT EXECUTED 40007bfc: 40 00 12 54 call 4000c54c <== NOT EXECUTED 40007c00: 90 12 22 60 or %o0, 0x260, %o0 ! 4007ca60 <== NOT EXECUTED _Thread_Get_name(running, name, sizeof(name)); 40007c04: 94 10 20 20 mov 0x20, %o2 <== NOT EXECUTED 40007c08: 92 07 bf e0 add %fp, -32, %o1 <== NOT EXECUTED 40007c0c: 40 00 59 58 call 4001e16c <_Thread_Get_name> <== NOT EXECUTED 40007c10: 90 10 00 18 mov %i0, %o0 <== NOT EXECUTED printk("task name string: %s\n", name); 40007c14: 92 07 bf e0 add %fp, -32, %o1 <== NOT EXECUTED 40007c18: 11 10 01 f2 sethi %hi(0x4007c800), %o0 <== NOT EXECUTED 40007c1c: 40 00 12 4c call 4000c54c <== NOT EXECUTED 40007c20: 90 12 22 78 or %o0, 0x278, %o0 ! 4007ca78 <== NOT EXECUTED (unsigned long) stack->size, 40007c24: d2 06 20 cc ld [ %i0 + 0xcc ], %o1 <== NOT EXECUTED (intptr_t) stack->area, 40007c28: d4 06 20 d0 ld [ %i0 + 0xd0 ], %o2 <== NOT EXECUTED printk( 40007c2c: 96 02 80 09 add %o2, %o1, %o3 <== NOT EXECUTED 40007c30: 11 10 01 f2 sethi %hi(0x4007c800), %o0 <== NOT EXECUTED 40007c34: 40 00 12 46 call 4000c54c <== NOT EXECUTED 40007c38: 90 12 22 90 or %o0, 0x290, %o0 ! 4007ca90 <== NOT EXECUTED if (!pattern_ok) { 40007c3c: 80 a6 e0 00 cmp %i3, 0 <== NOT EXECUTED 40007c40: 12 80 00 05 bne 40007c54 <== NOT EXECUTED 40007c44: 96 07 60 18 add %i5, 0x18, %o3 <== NOT EXECUTED 40007c48: d2 06 20 0c ld [ %i0 + 0xc ], %o1 <== NOT EXECUTED 40007c4c: 40 00 4b 13 call 4001a898 <_Terminate> <== NOT EXECUTED 40007c50: 90 10 20 08 mov 8, %o0 <== NOT EXECUTED printk( 40007c54: 94 10 00 1c mov %i4, %o2 <== NOT EXECUTED 40007c58: 92 10 20 10 mov 0x10, %o1 <== NOT EXECUTED 40007c5c: 11 10 01 f2 sethi %hi(0x4007c800), %o0 <== NOT EXECUTED 40007c60: 40 00 12 3b call 4000c54c <== NOT EXECUTED 40007c64: 90 12 22 c0 or %o0, 0x2c0, %o0 ! 4007cac0 <== NOT EXECUTED 40007c68: 10 bf ff f9 b 40007c4c <== NOT EXECUTED 40007c6c: d2 06 20 0c ld [ %i0 + 0xc ], %o1 <== NOT EXECUTED