forked from Imagelibrary/rtems
file lost in crash and re-added
This commit is contained in:
193
c/src/lib/libbsp/m68k/efi332/times
Normal file
193
c/src/lib/libbsp/m68k/efi332/times
Normal file
@@ -0,0 +1,193 @@
|
||||
#
|
||||
# Timing Test Suite Results for the EFI332 BSP
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
NOTE: This BSP is used submitted and no information is currently available.
|
||||
|
||||
Board: EFI332
|
||||
CPU: 68332
|
||||
Clock Speed: 20 Mhz
|
||||
Memory Configuration: SRAM, DRAM, cache, etc
|
||||
Wait States:
|
||||
|
||||
Times Reported in: cycles, microseconds, etc
|
||||
Timer Source: Count Down Timer, on-CPU cycle counter, etc
|
||||
|
||||
Column A: unused
|
||||
Column B: unused
|
||||
|
||||
# DESCRIPTION A B
|
||||
== ================================================================= ==== ====
|
||||
1 rtems_semaphore_create 20
|
||||
rtems_semaphore_delete 21
|
||||
rtems_semaphore_obtain: available 15
|
||||
rtems_semaphore_obtain: not available -- NO_WAIT 15
|
||||
rtems_semaphore_release: no waiting tasks 16
|
||||
|
||||
2 rtems_semaphore_obtain: not available -- caller blocks 62
|
||||
|
||||
3 rtems_semaphore_release: task readied -- preempts caller 55
|
||||
|
||||
4 rtems_task_restart: blocked task -- preempts caller 77
|
||||
rtems_task_restart: ready task -- preempts caller 70
|
||||
rtems_semaphore_release: task readied -- returns to caller 25
|
||||
rtems_task_create 57
|
||||
rtems_task_start 31
|
||||
rtems_task_restart: suspended task -- returns to caller 36
|
||||
rtems_task_delete: suspended task 47
|
||||
rtems_task_restart: ready task -- returns to caller 37
|
||||
rtems_task_restart: blocked task -- returns to caller 46
|
||||
rtems_task_delete: blocked task 50
|
||||
|
||||
5 rtems_task_suspend: calling task 51
|
||||
rtems_task_resume: task readied -- preempts caller 49
|
||||
|
||||
6 rtems_task_restart: calling task 59
|
||||
rtems_task_suspend: returns to caller 18
|
||||
rtems_task_resume: task readied -- returns to caller 19
|
||||
rtems_task_delete: ready task 50
|
||||
|
||||
7 rtems_task_restart: suspended task -- preempts caller 70
|
||||
|
||||
8 rtems_task_set_priority: obtain current priority 12
|
||||
rtems_task_set_priority: returns to caller 27
|
||||
rtems_task_mode: obtain current mode 5
|
||||
rtems_task_mode: no reschedule 5
|
||||
rtems_task_mode: reschedule -- returns to caller 8
|
||||
rtems_task_mode: reschedule -- preempts caller 39
|
||||
rtems_task_set_note 13
|
||||
rtems_task_get_note 13
|
||||
rtems_clock_set 33
|
||||
rtems_clock_get 3
|
||||
|
||||
9 rtems_message_queue_create 110
|
||||
rtems_message_queue_send: no waiting tasks 37
|
||||
rtems_message_queue_urgent: no waiting tasks 37
|
||||
rtems_message_queue_receive: available 31
|
||||
rtems_message_queue_flush: no messages flushed 12
|
||||
rtems_message_queue_flush: messages flushed 16
|
||||
rtems_message_queue_delete 26
|
||||
|
||||
10 rtems_message_queue_receive: not available -- NO_WAIT 15
|
||||
rtems_message_queue_receive: not available -- caller blocks 62
|
||||
|
||||
11 rtems_message_queue_send: task readied -- preempts caller 72
|
||||
|
||||
12 rtems_message_queue_send: task readied -- returns to caller 39
|
||||
|
||||
13 rtems_message_queue_urgent: task readied -- preempts caller 72
|
||||
|
||||
14 rtems_message_queue_urgent: task readied -- returns to caller 39
|
||||
|
||||
15 rtems_event_receive: obtain current events 1
|
||||
rtems_event_receive: not available -- NO_WAIT 12
|
||||
rtems_event_receive: not available -- caller blocks 56
|
||||
rtems_event_send: no task readied 12
|
||||
rtems_event_receive: available 12
|
||||
rtems_event_send: task readied -- returns to caller 24
|
||||
|
||||
16 rtems_event_send: task readied -- preempts caller 55
|
||||
|
||||
17 rtems_task_set_priority: preempts caller 62
|
||||
|
||||
18 rtems_task_delete: calling task 83
|
||||
|
||||
19 rtems_signal_catch 9
|
||||
rtems_signal_send: returns to caller 15
|
||||
rtems_signal_send: signal to self 18
|
||||
exit ASR overhead: returns to calling task 22
|
||||
exit ASR overhead: returns to preempting task 49
|
||||
|
||||
20 rtems_partition_create 35
|
||||
rtems_region_create 23
|
||||
rtems_partition_get_buffer: available 15
|
||||
rtems_partition_get_buffer: not available 13
|
||||
rtems_partition_return_buffer 18
|
||||
rtems_partition_delete 16
|
||||
rtems_region_get_segment: available 22
|
||||
rtems_region_get_segment: not available -- NO_WAIT 21
|
||||
rtems_region_return_segment: no waiting tasks 19
|
||||
rtems_region_get_segment: not available -- caller blocks 64
|
||||
rtems_region_return_segment: task readied -- preempts caller 74
|
||||
rtems_region_return_segment: task readied -- returns to caller 44
|
||||
rtems_region_delete 16
|
||||
rtems_io_initialize 2
|
||||
rtems_io_open 1
|
||||
rtems_io_close 1
|
||||
rtems_io_read 1
|
||||
rtems_io_write 1
|
||||
rtems_io_control 1
|
||||
|
||||
21 rtems_task_ident 149
|
||||
rtems_message_queue_ident 145
|
||||
rtems_semaphore_ident 156
|
||||
rtems_partition_ident 145
|
||||
rtems_region_ident 148
|
||||
rtems_port_ident 145
|
||||
rtems_timer_ident 145
|
||||
rtems_rate_monotonic_ident 145
|
||||
|
||||
22 rtems_message_queue_broadcast: task readied -- returns to caller 42
|
||||
rtems_message_queue_broadcast: no waiting tasks 17
|
||||
rtems_message_queue_broadcast: task readied -- preempts caller 78
|
||||
|
||||
23 rtems_timer_create 14
|
||||
rtems_timer_fire_after: inactive 22
|
||||
rtems_timer_fire_after: active 24
|
||||
rtems_timer_cancel: active 15
|
||||
rtems_timer_cancel: inactive 13
|
||||
rtems_timer_reset: inactive 21
|
||||
rtems_timer_reset: active 23
|
||||
rtems_timer_fire_when: inactive 34
|
||||
rtems_timer_fire_when: active 34
|
||||
rtems_timer_delete: active 19
|
||||
rtems_timer_delete: inactive 17
|
||||
rtems_task_wake_when 69
|
||||
|
||||
24 rtems_task_wake_after: yield -- returns to caller 9
|
||||
rtems_task_wake_after: yields -- preempts caller 45
|
||||
|
||||
25 rtems_clock_tick 4
|
||||
|
||||
26 _ISR_Disable 0
|
||||
_ISR_Flash 1
|
||||
_ISR_Enable 1
|
||||
_Thread_Disable_dispatch 0
|
||||
_Thread_Enable_dispatch 7
|
||||
_Thread_Set_state 11
|
||||
_Thread_Disptach (NO FP) 31
|
||||
context switch: no floating point contexts 21
|
||||
context switch: self 10
|
||||
context switch: to another task 10
|
||||
context switch: restore 1st FP task 25
|
||||
fp context switch: save idle, restore idle 31
|
||||
fp context switch: save idle, restore initialized 19
|
||||
fp context switch: save initialized, restore initialized 20
|
||||
_Thread_Resume 7
|
||||
_Thread_Unblock 7
|
||||
_Thread_Ready 9
|
||||
_Thread_Get 4
|
||||
_Semaphore_Get 2
|
||||
_Thread_Get: invalid id 0
|
||||
|
||||
27 interrupt entry overhead: returns to interrupted task 6
|
||||
interrupt exit overhead: returns to interrupted task 6
|
||||
interrupt entry overhead: returns to nested interrupt 6
|
||||
interrupt exit overhead: returns to nested interrupt 5
|
||||
interrupt entry overhead: returns to preempting task 7
|
||||
interrupt exit overhead: returns to preempting task 36
|
||||
|
||||
28 rtems_port_create 16
|
||||
rtems_port_external_to_internal 11
|
||||
rtems_port_internal_to_external 11
|
||||
rtems_port_delete 16
|
||||
|
||||
29 rtems_rate_monotonic_create 15
|
||||
rtems_rate_monotonic_period: initiate period -- returns to caller 21
|
||||
rtems_rate_monotonic_period: obtain status 13
|
||||
rtems_rate_monotonic_cancel 16
|
||||
rtems_rate_monotonic_delete: inactive 18
|
||||
rtems_rate_monotonic_delete: active 20
|
||||
rtems_rate_monotonic_period: conclude periods -- caller blocks 53
|
||||
193
c/src/lib/libbsp/m68k/idp/times
Normal file
193
c/src/lib/libbsp/m68k/idp/times
Normal file
@@ -0,0 +1,193 @@
|
||||
#
|
||||
# Timing Test Suite Results for the Motorola IDP BSP
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
NOTE: This BSP is used submitted and no information is currently available.
|
||||
|
||||
Board: IDP
|
||||
CPU:
|
||||
Clock Speed:
|
||||
Memory Configuration: SRAM, DRAM, cache, etc
|
||||
Wait States:
|
||||
|
||||
Times Reported in: cycles, microseconds, etc
|
||||
Timer Source: Count Down Timer, on-CPU cycle counter, etc
|
||||
|
||||
Column A: unused
|
||||
Column B: unused
|
||||
|
||||
# DESCRIPTION A B
|
||||
== ================================================================= ==== ====
|
||||
1 rtems_semaphore_create 20
|
||||
rtems_semaphore_delete 21
|
||||
rtems_semaphore_obtain: available 15
|
||||
rtems_semaphore_obtain: not available -- NO_WAIT 15
|
||||
rtems_semaphore_release: no waiting tasks 16
|
||||
|
||||
2 rtems_semaphore_obtain: not available -- caller blocks 62
|
||||
|
||||
3 rtems_semaphore_release: task readied -- preempts caller 55
|
||||
|
||||
4 rtems_task_restart: blocked task -- preempts caller 77
|
||||
rtems_task_restart: ready task -- preempts caller 70
|
||||
rtems_semaphore_release: task readied -- returns to caller 25
|
||||
rtems_task_create 57
|
||||
rtems_task_start 31
|
||||
rtems_task_restart: suspended task -- returns to caller 36
|
||||
rtems_task_delete: suspended task 47
|
||||
rtems_task_restart: ready task -- returns to caller 37
|
||||
rtems_task_restart: blocked task -- returns to caller 46
|
||||
rtems_task_delete: blocked task 50
|
||||
|
||||
5 rtems_task_suspend: calling task 51
|
||||
rtems_task_resume: task readied -- preempts caller 49
|
||||
|
||||
6 rtems_task_restart: calling task 59
|
||||
rtems_task_suspend: returns to caller 18
|
||||
rtems_task_resume: task readied -- returns to caller 19
|
||||
rtems_task_delete: ready task 50
|
||||
|
||||
7 rtems_task_restart: suspended task -- preempts caller 70
|
||||
|
||||
8 rtems_task_set_priority: obtain current priority 12
|
||||
rtems_task_set_priority: returns to caller 27
|
||||
rtems_task_mode: obtain current mode 5
|
||||
rtems_task_mode: no reschedule 5
|
||||
rtems_task_mode: reschedule -- returns to caller 8
|
||||
rtems_task_mode: reschedule -- preempts caller 39
|
||||
rtems_task_set_note 13
|
||||
rtems_task_get_note 13
|
||||
rtems_clock_set 33
|
||||
rtems_clock_get 3
|
||||
|
||||
9 rtems_message_queue_create 110
|
||||
rtems_message_queue_send: no waiting tasks 37
|
||||
rtems_message_queue_urgent: no waiting tasks 37
|
||||
rtems_message_queue_receive: available 31
|
||||
rtems_message_queue_flush: no messages flushed 12
|
||||
rtems_message_queue_flush: messages flushed 16
|
||||
rtems_message_queue_delete 26
|
||||
|
||||
10 rtems_message_queue_receive: not available -- NO_WAIT 15
|
||||
rtems_message_queue_receive: not available -- caller blocks 62
|
||||
|
||||
11 rtems_message_queue_send: task readied -- preempts caller 72
|
||||
|
||||
12 rtems_message_queue_send: task readied -- returns to caller 39
|
||||
|
||||
13 rtems_message_queue_urgent: task readied -- preempts caller 72
|
||||
|
||||
14 rtems_message_queue_urgent: task readied -- returns to caller 39
|
||||
|
||||
15 rtems_event_receive: obtain current events 1
|
||||
rtems_event_receive: not available -- NO_WAIT 12
|
||||
rtems_event_receive: not available -- caller blocks 56
|
||||
rtems_event_send: no task readied 12
|
||||
rtems_event_receive: available 12
|
||||
rtems_event_send: task readied -- returns to caller 24
|
||||
|
||||
16 rtems_event_send: task readied -- preempts caller 55
|
||||
|
||||
17 rtems_task_set_priority: preempts caller 62
|
||||
|
||||
18 rtems_task_delete: calling task 83
|
||||
|
||||
19 rtems_signal_catch 9
|
||||
rtems_signal_send: returns to caller 15
|
||||
rtems_signal_send: signal to self 18
|
||||
exit ASR overhead: returns to calling task 22
|
||||
exit ASR overhead: returns to preempting task 49
|
||||
|
||||
20 rtems_partition_create 35
|
||||
rtems_region_create 23
|
||||
rtems_partition_get_buffer: available 15
|
||||
rtems_partition_get_buffer: not available 13
|
||||
rtems_partition_return_buffer 18
|
||||
rtems_partition_delete 16
|
||||
rtems_region_get_segment: available 22
|
||||
rtems_region_get_segment: not available -- NO_WAIT 21
|
||||
rtems_region_return_segment: no waiting tasks 19
|
||||
rtems_region_get_segment: not available -- caller blocks 64
|
||||
rtems_region_return_segment: task readied -- preempts caller 74
|
||||
rtems_region_return_segment: task readied -- returns to caller 44
|
||||
rtems_region_delete 16
|
||||
rtems_io_initialize 2
|
||||
rtems_io_open 1
|
||||
rtems_io_close 1
|
||||
rtems_io_read 1
|
||||
rtems_io_write 1
|
||||
rtems_io_control 1
|
||||
|
||||
21 rtems_task_ident 149
|
||||
rtems_message_queue_ident 145
|
||||
rtems_semaphore_ident 156
|
||||
rtems_partition_ident 145
|
||||
rtems_region_ident 148
|
||||
rtems_port_ident 145
|
||||
rtems_timer_ident 145
|
||||
rtems_rate_monotonic_ident 145
|
||||
|
||||
22 rtems_message_queue_broadcast: task readied -- returns to caller 42
|
||||
rtems_message_queue_broadcast: no waiting tasks 17
|
||||
rtems_message_queue_broadcast: task readied -- preempts caller 78
|
||||
|
||||
23 rtems_timer_create 14
|
||||
rtems_timer_fire_after: inactive 22
|
||||
rtems_timer_fire_after: active 24
|
||||
rtems_timer_cancel: active 15
|
||||
rtems_timer_cancel: inactive 13
|
||||
rtems_timer_reset: inactive 21
|
||||
rtems_timer_reset: active 23
|
||||
rtems_timer_fire_when: inactive 34
|
||||
rtems_timer_fire_when: active 34
|
||||
rtems_timer_delete: active 19
|
||||
rtems_timer_delete: inactive 17
|
||||
rtems_task_wake_when 69
|
||||
|
||||
24 rtems_task_wake_after: yield -- returns to caller 9
|
||||
rtems_task_wake_after: yields -- preempts caller 45
|
||||
|
||||
25 rtems_clock_tick 4
|
||||
|
||||
26 _ISR_Disable 0
|
||||
_ISR_Flash 1
|
||||
_ISR_Enable 1
|
||||
_Thread_Disable_dispatch 0
|
||||
_Thread_Enable_dispatch 7
|
||||
_Thread_Set_state 11
|
||||
_Thread_Disptach (NO FP) 31
|
||||
context switch: no floating point contexts 21
|
||||
context switch: self 10
|
||||
context switch: to another task 10
|
||||
context switch: restore 1st FP task 25
|
||||
fp context switch: save idle, restore idle 31
|
||||
fp context switch: save idle, restore initialized 19
|
||||
fp context switch: save initialized, restore initialized 20
|
||||
_Thread_Resume 7
|
||||
_Thread_Unblock 7
|
||||
_Thread_Ready 9
|
||||
_Thread_Get 4
|
||||
_Semaphore_Get 2
|
||||
_Thread_Get: invalid id 0
|
||||
|
||||
27 interrupt entry overhead: returns to interrupted task 6
|
||||
interrupt exit overhead: returns to interrupted task 6
|
||||
interrupt entry overhead: returns to nested interrupt 6
|
||||
interrupt exit overhead: returns to nested interrupt 5
|
||||
interrupt entry overhead: returns to preempting task 7
|
||||
interrupt exit overhead: returns to preempting task 36
|
||||
|
||||
28 rtems_port_create 16
|
||||
rtems_port_external_to_internal 11
|
||||
rtems_port_internal_to_external 11
|
||||
rtems_port_delete 16
|
||||
|
||||
29 rtems_rate_monotonic_create 15
|
||||
rtems_rate_monotonic_period: initiate period -- returns to caller 21
|
||||
rtems_rate_monotonic_period: obtain status 13
|
||||
rtems_rate_monotonic_cancel 16
|
||||
rtems_rate_monotonic_delete: inactive 18
|
||||
rtems_rate_monotonic_delete: active 20
|
||||
rtems_rate_monotonic_period: conclude periods -- caller blocks 53
|
||||
191
c/src/lib/libbsp/m68k/mvme136/times
Normal file
191
c/src/lib/libbsp/m68k/mvme136/times
Normal file
@@ -0,0 +1,191 @@
|
||||
#
|
||||
# Timing Test Suite Results for the Motorola MVME136 BSP
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
Board: Motorola MVME136
|
||||
CPU: Motorola MC68020 + MC68881 FPU
|
||||
Clock Speed: 20 Mhz
|
||||
Memory Configuration: DRAM w/no cache
|
||||
Wait States: 1 wait state
|
||||
|
||||
Times Reported in: microseconds
|
||||
Timer Source: Zilog Z8036
|
||||
|
||||
Column A: 3.5.1 pre-release
|
||||
Column B: unused
|
||||
|
||||
# DESCRIPTION A B
|
||||
== ================================================================= ==== ====
|
||||
1 rtems_semaphore_create 67
|
||||
rtems_semaphore_delete 64
|
||||
rtems_semaphore_obtain: available 46
|
||||
rtems_semaphore_obtain: not available -- NO_WAIT 45
|
||||
rtems_semaphore_release: no waiting tasks 51
|
||||
|
||||
2 rtems_semaphore_obtain: not available -- caller blocks 113
|
||||
|
||||
3 rtems_semaphore_release: task readied -- preempts caller 94
|
||||
|
||||
4 rtems_task_restart: blocked task -- preempts caller 152
|
||||
rtems_task_restart: ready task -- preempts caller 145
|
||||
rtems_semaphore_release: task readied -- returns to caller 71
|
||||
rtems_task_create 154
|
||||
rtems_task_start 82
|
||||
rtems_task_restart: suspended task -- returns to caller 94
|
||||
rtems_task_delete: suspended task 145
|
||||
rtems_task_restart: ready task -- returns to caller 97
|
||||
rtems_task_restart: blocked task -- returns to caller 128
|
||||
rtems_task_delete: blocked task 149
|
||||
|
||||
5 rtems_task_suspend: calling task 77
|
||||
rtems_task_resume: task readied -- preempts caller 74
|
||||
|
||||
6 rtems_task_restart: calling task 101
|
||||
rtems_task_suspend: returns to caller 50
|
||||
rtems_task_resume: task readied -- returns to caller 50
|
||||
rtems_task_delete: ready task 151
|
||||
|
||||
7 rtems_task_restart: suspended task -- preempts caller 130
|
||||
|
||||
8 rtems_task_set_priority: obtain current priority 38
|
||||
rtems_task_set_priority: returns to caller 71
|
||||
rtems_task_mode: obtain current mode 16
|
||||
rtems_task_mode: no reschedule 18
|
||||
rtems_task_mode: reschedule -- returns to caller 24
|
||||
rtems_task_mode: reschedule -- preempts caller 68
|
||||
rtems_task_set_note 39
|
||||
rtems_task_get_note 40
|
||||
rtems_clock_set 93
|
||||
rtems_clock_get 1
|
||||
|
||||
9 rtems_message_queue_create 207
|
||||
rtems_message_queue_send: no waiting tasks 103
|
||||
rtems_message_queue_urgent: no waiting tasks 103
|
||||
rtems_message_queue_receive: available 87
|
||||
rtems_message_queue_flush: no messages flushed 36
|
||||
rtems_message_queue_flush: messages flushed 46
|
||||
rtems_message_queue_delete 85
|
||||
|
||||
10 rtems_message_queue_receive: not available -- NO_WAIT 51
|
||||
rtems_message_queue_receive: not available -- caller blocks 115
|
||||
|
||||
11 rtems_message_queue_send: task readied -- preempts caller 129
|
||||
|
||||
12 rtems_message_queue_send: task readied -- returns to caller 107
|
||||
|
||||
13 rtems_message_queue_urgent: task readied -- preempts caller 130
|
||||
|
||||
14 rtems_message_queue_urgent: task readied -- returns to caller 107
|
||||
|
||||
15 rtems_event_receive: obtain current events 0
|
||||
rtems_event_receive: not available -- NO_WAIT 33
|
||||
rtems_event_receive: not available -- caller blocks 92
|
||||
rtems_event_send: no task readied 34
|
||||
rtems_event_receive: available 36
|
||||
rtems_event_send: task readied -- returns to caller 67
|
||||
|
||||
16 rtems_event_send: task readied -- preempts caller 90
|
||||
|
||||
17 rtems_task_set_priority: preempts caller 110
|
||||
|
||||
18 rtems_task_delete: calling task 175
|
||||
|
||||
19 rtems_signal_catch 23
|
||||
rtems_signal_send: returns to caller 43
|
||||
rtems_signal_send: signal to self 52
|
||||
exit ASR overhead: returns to calling task 37
|
||||
exit ASR overhead: returns to preempting task 65
|
||||
|
||||
20 rtems_partition_create 77
|
||||
rtems_region_create 70
|
||||
rtems_partition_get_buffer: available 42
|
||||
rtems_partition_get_buffer: not available 40
|
||||
rtems_partition_return_buffer 50
|
||||
rtems_partition_delete 47
|
||||
rtems_region_get_segment: available 58
|
||||
rtems_region_get_segment: not available -- NO_WAIT 55
|
||||
rtems_region_return_segment: no waiting tasks 60
|
||||
rtems_region_get_segment: not available -- caller blocks 126
|
||||
rtems_region_return_segment: task readied -- preempts caller 143
|
||||
rtems_region_return_segment: task readied -- returns to caller 120
|
||||
rtems_region_delete 45
|
||||
rtems_io_initialize 6
|
||||
rtems_io_open 2
|
||||
rtems_io_close 1
|
||||
rtems_io_read 2
|
||||
rtems_io_write 2
|
||||
rtems_io_control 2
|
||||
|
||||
21 rtems_task_ident 353
|
||||
rtems_message_queue_ident 344
|
||||
rtems_semaphore_ident 369
|
||||
rtems_partition_ident 344
|
||||
rtems_region_ident 350
|
||||
rtems_port_ident 343
|
||||
rtems_timer_ident 345
|
||||
rtems_rate_monotonic_ident 344
|
||||
|
||||
22 rtems_message_queue_broadcast: task readied -- returns to caller 115
|
||||
rtems_message_queue_broadcast: no waiting tasks 60
|
||||
rtems_message_queue_broadcast: task readied -- preempts caller 138
|
||||
|
||||
23 rtems_timer_create 37
|
||||
rtems_timer_fire_after: inactive 66
|
||||
rtems_timer_fire_after: active 70
|
||||
rtems_timer_cancel: active 42
|
||||
rtems_timer_cancel: inactive 39
|
||||
rtems_timer_reset: inactive 60
|
||||
rtems_timer_reset: active 65
|
||||
rtems_timer_fire_when: inactive 96
|
||||
rtems_timer_fire_when: active 96
|
||||
rtems_timer_delete: active 55
|
||||
rtems_timer_delete: inactive 51
|
||||
rtems_task_wake_when 125
|
||||
|
||||
24 rtems_task_wake_after: yield -- returns to caller 26
|
||||
rtems_task_wake_after: yields -- preempts caller 65
|
||||
|
||||
25 rtems_clock_tick 14
|
||||
|
||||
26 _ISR_Disable 0
|
||||
_ISR_Flash 0
|
||||
_ISR_Enable 0
|
||||
_Thread_Disable_dispatch 0
|
||||
_Thread_Enable_dispatch 19
|
||||
_Thread_Set_state 24
|
||||
_Thread_Disptach (NO FP) 50
|
||||
context switch: no floating point contexts 41
|
||||
context switch: self 9
|
||||
context switch: to another task 9
|
||||
context switch: restore 1st FP task 46
|
||||
fp context switch: save idle, restore idle 75
|
||||
fp context switch: save idle, restore initialized 66
|
||||
fp context switch: save initialized, restore initialized 65
|
||||
_Thread_Resume 18
|
||||
_Thread_Unblock 18
|
||||
_Thread_Ready 22
|
||||
_Thread_Get 12
|
||||
_Semaphore_Get 10
|
||||
_Thread_Get: invalid id 2
|
||||
|
||||
27 interrupt entry overhead: returns to interrupted task 9
|
||||
interrupt exit overhead: returns to interrupted task 8
|
||||
interrupt entry overhead: returns to nested interrupt 14
|
||||
interrupt exit overhead: returns to nested interrupt 0
|
||||
interrupt entry overhead: returns to preempting task 8
|
||||
interrupt exit overhead: returns to preempting task 62
|
||||
|
||||
28 rtems_port_create 44
|
||||
rtems_port_external_to_internal 35
|
||||
rtems_port_internal_to_external 34
|
||||
rtems_port_delete 46
|
||||
|
||||
29 rtems_rate_monotonic_create 40
|
||||
rtems_rate_monotonic_period: initiate period -- returns to caller 60
|
||||
rtems_rate_monotonic_period: obtain status 38
|
||||
rtems_rate_monotonic_cancel 46
|
||||
rtems_rate_monotonic_delete: inactive 54
|
||||
rtems_rate_monotonic_delete: active 57
|
||||
rtems_rate_monotonic_period: conclude periods -- caller blocks 83
|
||||
42
c/src/lib/libbsp/m68k/mvme162/include/page_table.h
Normal file
42
c/src/lib/libbsp/m68k/mvme162/include/page_table.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* This file was submitted by Eric Vaitl <vaitl@viasat.com> and
|
||||
* supports page table initialization.
|
||||
*
|
||||
* $Log$
|
||||
* Revision 1.1 1995/12/05 15:29:19 joel
|
||||
* added.. submitted by Eric Vaitl <vaitl@viasat.com>
|
||||
*
|
||||
* Revision 1.2 1995/10/27 21:00:33 vaitl
|
||||
* Modified page table routines so application code can map
|
||||
* VME space.
|
||||
*
|
||||
* Revision 1.1 1995/10/25 17:16:06 vaitl
|
||||
* Working on page table. Caching partially set up, but can't currently
|
||||
* set tc register.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef PAGE_TABLE_H
|
||||
#define PAGE_TABLE_H
|
||||
|
||||
extern void page_table_teardown(void);
|
||||
extern void page_table_init(void);
|
||||
extern int page_table_map(void *addr, unsigned long size, int cache_type);
|
||||
|
||||
enum {
|
||||
CACHE_WRITE_THROUGH,
|
||||
CACHE_COPYBACK,
|
||||
CACHE_NONE_SERIALIZED,
|
||||
CACHE_NONE
|
||||
};
|
||||
enum {
|
||||
PTM_SUCCESS,
|
||||
PTM_BAD_ADDR,
|
||||
PTM_BAD_SIZE,
|
||||
PTM_BAD_CACHE,
|
||||
PTM_NO_TABLE_SPACE
|
||||
};
|
||||
|
||||
#endif
|
||||
201
c/src/lib/libbsp/m68k/mvme162/startup/page_table.c
Normal file
201
c/src/lib/libbsp/m68k/mvme162/startup/page_table.c
Normal file
@@ -0,0 +1,201 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* This file was submitted by Eric Vaitl <vaitl@viasat.com>.
|
||||
* The manipulation of the page table has a very positive impact on
|
||||
* the performance of the MVME162.
|
||||
*
|
||||
* The following history is included verbatim from the submitter.
|
||||
*
|
||||
* Revision 1.8 1995/11/18 00:07:25 vaitl
|
||||
* Modified asm statements to get rid of the register hard-codes.
|
||||
*
|
||||
* Revision 1.7 1995/10/27 21:00:32 vaitl
|
||||
* Modified page table routines so application code can map
|
||||
* VME space.
|
||||
*
|
||||
* Revision 1.6 1995/10/26 17:40:01 vaitl
|
||||
* Two cache changes after reading the mvme162 users manual.
|
||||
*
|
||||
* 1) The users manual says that the MPU can act as a source for the
|
||||
* VME2 chip, so I made the VME accessable memory copy-back instead
|
||||
* of write through. I have't changed the comments yet. If this
|
||||
* causes problems, I'll change it back.
|
||||
*
|
||||
* 2) The 162 book also says that IO space should be serialized as well as
|
||||
* non-cacheable. I flipped the appropriate dttr0 and ittr0 registers. I
|
||||
* don't think this is really necessary because we don't recover from any
|
||||
* exceptions. If it slows down IO addresses too much, I'll change it back
|
||||
* and see what happens.
|
||||
*
|
||||
* Revision 1.5 1995/10/25 19:32:38 vaitl
|
||||
* Got it. Three problems:
|
||||
* 1) Must cpusha instead of cinva.
|
||||
* 2) On page descriptors the PDT field of 1 or 3 is resident. On pointer
|
||||
* descriptors resident is 2 or 3. I was using 2 for everything.
|
||||
* Changed it to 3 for everything.
|
||||
* 3) Forgot to do a pflusha.
|
||||
*
|
||||
* Revision 1.4 1995/10/25 17:47:11 vaitl
|
||||
* Still working on it.
|
||||
*
|
||||
* Revision 1.3 1995/10/25 17:16:05 vaitl
|
||||
* Working on page table. Caching partially set up, but can't currently
|
||||
* set tc register.
|
||||
*
|
||||
*/
|
||||
#include <string.h>
|
||||
#include "page_table.h"
|
||||
|
||||
/* All page table must fit between BASE_TABLE_ADDR and
|
||||
MAX_TABLE_ADDR. */
|
||||
|
||||
#define BASE_TABLE_ADDR 0x10000
|
||||
#define MAX_TABLE_ADDR 0x20000
|
||||
#define ROOT_TABLE_SIZE 512
|
||||
#define POINTER_TABLE_SIZE 512
|
||||
#define PAGE_TABLE_SIZE 256
|
||||
|
||||
static unsigned long *root_table;
|
||||
static unsigned long *next_avail;
|
||||
|
||||
/* Returns a zeroed out table. */
|
||||
static unsigned long *table_alloc(int size){
|
||||
unsigned long *addr=next_avail;
|
||||
if(((unsigned long)next_avail + size) > MAX_TABLE_ADDR){
|
||||
return 0;
|
||||
}
|
||||
bzero((void *)addr,size);
|
||||
next_avail =(unsigned long *)((unsigned long)next_avail + size);
|
||||
return addr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
void page_table_init();
|
||||
|
||||
This should transparently map the first 4 Meg of ram. Caching is
|
||||
turned off from 0x00000000 to 0x00020000 (this region is used by
|
||||
162Bug and contains the page tables). From 0x00020000 to 0x00400000
|
||||
we are using copy back caching. DTTR0 and ITTR0 are set up to
|
||||
directly translate from 0x80000000-0xffffffff with caching turned
|
||||
off and serialized. Addresses between 0x400000 and 0x80000000 are
|
||||
illegal.
|
||||
*/
|
||||
void page_table_init(){
|
||||
|
||||
/* put everything in a known state */
|
||||
page_table_teardown();
|
||||
|
||||
root_table=table_alloc(ROOT_TABLE_SIZE);
|
||||
|
||||
/* First set up TTR.
|
||||
base address = 0x80000000
|
||||
address mask = 0x7f
|
||||
Ignore FC2 for match.
|
||||
Noncachable.
|
||||
Not write protected.*/
|
||||
asm volatile ("movec %0,%%dtt0
|
||||
movec %0,%%itt0"
|
||||
:: "d" (0x807fc040));
|
||||
|
||||
/* Point urp and srp at root page table. */
|
||||
asm volatile ("movec %0,%%urp
|
||||
movec %0,%%srp"
|
||||
:: "d" (BASE_TABLE_ADDR));
|
||||
|
||||
page_table_map((void *)0,0x20000, CACHE_NONE);
|
||||
page_table_map((void *)0x20000,0x400000-0x20000,CACHE_COPYBACK);
|
||||
|
||||
/* Turn on paging with a 4 k page size.*/
|
||||
asm volatile ("movec %0,%%tc"
|
||||
:: "d" (0x8000));
|
||||
|
||||
/* Turn on the cache. */
|
||||
asm volatile ("movec %0,%%cacr"
|
||||
:: "d" (0x80008000));
|
||||
}
|
||||
|
||||
void page_table_teardown(){
|
||||
next_avail=(unsigned long *)BASE_TABLE_ADDR;
|
||||
/* Turn off paging. Turn off the cache. Flush the cache. Tear down
|
||||
the transparent translations. */
|
||||
asm volatile ("movec %0,%%tc
|
||||
movec %0,%%cacr
|
||||
cpusha %%bc
|
||||
movec %0,%%dtt0
|
||||
movec %0,%%itt0
|
||||
movec %0,%%dtt1
|
||||
movec %0,%%itt1"
|
||||
:: "d" (0) );
|
||||
}
|
||||
|
||||
/* Identity maps addr to addr+size with caching cache_type. */
|
||||
int page_table_map(void *addr, unsigned long size, int cache_type){
|
||||
unsigned long *pointer_table;
|
||||
unsigned long *page_table;
|
||||
unsigned long root_index, pointer_index, page_index;
|
||||
/* addr must be a multiple of 4k */
|
||||
if((unsigned long)addr & 0xfff){
|
||||
return PTM_BAD_ADDR;
|
||||
}
|
||||
/* size must also be a multiple of 4k */
|
||||
if(size & 0xfff){
|
||||
return PTM_BAD_SIZE;
|
||||
}
|
||||
/* check for valid cache type */
|
||||
if( (cache_type>CACHE_NONE) || (cache_type<CACHE_WRITE_THROUGH)){
|
||||
return PTM_BAD_CACHE;
|
||||
}
|
||||
|
||||
while(size){
|
||||
root_index=(unsigned long)addr;
|
||||
root_index >>= 25;
|
||||
root_index &= 0x7f;
|
||||
|
||||
if(root_table[root_index]){
|
||||
pointer_table =
|
||||
(unsigned long *) (root_table[root_index] & 0xfffffe00);
|
||||
}else{
|
||||
if(!(pointer_table=table_alloc(POINTER_TABLE_SIZE))){
|
||||
return PTM_NO_TABLE_SPACE;
|
||||
}
|
||||
root_table[root_index]=((unsigned long)pointer_table) + 0x03;
|
||||
}
|
||||
|
||||
pointer_index=(unsigned long)addr;
|
||||
pointer_index >>=18;
|
||||
pointer_index &= 0x7f;
|
||||
|
||||
if(pointer_table[pointer_index]){
|
||||
page_table =
|
||||
(unsigned long *) (pointer_table[pointer_index] &
|
||||
0xffffff00);
|
||||
}else{
|
||||
if(!(page_table=table_alloc(PAGE_TABLE_SIZE))){
|
||||
return PTM_NO_TABLE_SPACE;
|
||||
}
|
||||
pointer_table[pointer_index]=
|
||||
((unsigned long)page_table) + 0x03;
|
||||
}
|
||||
|
||||
page_index=(unsigned long)addr;
|
||||
page_index >>=12;
|
||||
page_index &= 0x3f;
|
||||
|
||||
page_table[page_index] =
|
||||
((unsigned long) addr & 0xfffff000) + 0x03 + (cache_type << 5);
|
||||
|
||||
size -= 4096;
|
||||
addr = (void *) ((unsigned long)addr + 4096);
|
||||
}
|
||||
|
||||
/* Flush the ATC. Push and invalidate the cache. */
|
||||
asm volatile ("pflusha
|
||||
cpusha %bc");
|
||||
|
||||
return PTM_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
193
c/src/lib/libbsp/m68k/mvme162/times
Normal file
193
c/src/lib/libbsp/m68k/mvme162/times
Normal file
@@ -0,0 +1,193 @@
|
||||
#
|
||||
# Timing Test Suite Results for the Motorola MVME162 BSP
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
NOTE: This BSP is used submitted and no information is currently available.
|
||||
|
||||
Board: Motorola MVME162
|
||||
CPU: Motorola MC68040
|
||||
Clock Speed:
|
||||
Memory Configuration: SRAM, DRAM, cache, etc
|
||||
Wait States:
|
||||
|
||||
Times Reported in: cycles, microseconds, etc
|
||||
Timer Source: Count Down Timer, on-CPU cycle counter, etc
|
||||
|
||||
Column A: unused
|
||||
Column B: unused
|
||||
|
||||
# DESCRIPTION A B
|
||||
== ================================================================= ==== ====
|
||||
1 rtems_semaphore_create 20
|
||||
rtems_semaphore_delete 21
|
||||
rtems_semaphore_obtain: available 15
|
||||
rtems_semaphore_obtain: not available -- NO_WAIT 15
|
||||
rtems_semaphore_release: no waiting tasks 16
|
||||
|
||||
2 rtems_semaphore_obtain: not available -- caller blocks 62
|
||||
|
||||
3 rtems_semaphore_release: task readied -- preempts caller 55
|
||||
|
||||
4 rtems_task_restart: blocked task -- preempts caller 77
|
||||
rtems_task_restart: ready task -- preempts caller 70
|
||||
rtems_semaphore_release: task readied -- returns to caller 25
|
||||
rtems_task_create 57
|
||||
rtems_task_start 31
|
||||
rtems_task_restart: suspended task -- returns to caller 36
|
||||
rtems_task_delete: suspended task 47
|
||||
rtems_task_restart: ready task -- returns to caller 37
|
||||
rtems_task_restart: blocked task -- returns to caller 46
|
||||
rtems_task_delete: blocked task 50
|
||||
|
||||
5 rtems_task_suspend: calling task 51
|
||||
rtems_task_resume: task readied -- preempts caller 49
|
||||
|
||||
6 rtems_task_restart: calling task 59
|
||||
rtems_task_suspend: returns to caller 18
|
||||
rtems_task_resume: task readied -- returns to caller 19
|
||||
rtems_task_delete: ready task 50
|
||||
|
||||
7 rtems_task_restart: suspended task -- preempts caller 70
|
||||
|
||||
8 rtems_task_set_priority: obtain current priority 12
|
||||
rtems_task_set_priority: returns to caller 27
|
||||
rtems_task_mode: obtain current mode 5
|
||||
rtems_task_mode: no reschedule 5
|
||||
rtems_task_mode: reschedule -- returns to caller 8
|
||||
rtems_task_mode: reschedule -- preempts caller 39
|
||||
rtems_task_set_note 13
|
||||
rtems_task_get_note 13
|
||||
rtems_clock_set 33
|
||||
rtems_clock_get 3
|
||||
|
||||
9 rtems_message_queue_create 110
|
||||
rtems_message_queue_send: no waiting tasks 37
|
||||
rtems_message_queue_urgent: no waiting tasks 37
|
||||
rtems_message_queue_receive: available 31
|
||||
rtems_message_queue_flush: no messages flushed 12
|
||||
rtems_message_queue_flush: messages flushed 16
|
||||
rtems_message_queue_delete 26
|
||||
|
||||
10 rtems_message_queue_receive: not available -- NO_WAIT 15
|
||||
rtems_message_queue_receive: not available -- caller blocks 62
|
||||
|
||||
11 rtems_message_queue_send: task readied -- preempts caller 72
|
||||
|
||||
12 rtems_message_queue_send: task readied -- returns to caller 39
|
||||
|
||||
13 rtems_message_queue_urgent: task readied -- preempts caller 72
|
||||
|
||||
14 rtems_message_queue_urgent: task readied -- returns to caller 39
|
||||
|
||||
15 rtems_event_receive: obtain current events 1
|
||||
rtems_event_receive: not available -- NO_WAIT 12
|
||||
rtems_event_receive: not available -- caller blocks 56
|
||||
rtems_event_send: no task readied 12
|
||||
rtems_event_receive: available 12
|
||||
rtems_event_send: task readied -- returns to caller 24
|
||||
|
||||
16 rtems_event_send: task readied -- preempts caller 55
|
||||
|
||||
17 rtems_task_set_priority: preempts caller 62
|
||||
|
||||
18 rtems_task_delete: calling task 83
|
||||
|
||||
19 rtems_signal_catch 9
|
||||
rtems_signal_send: returns to caller 15
|
||||
rtems_signal_send: signal to self 18
|
||||
exit ASR overhead: returns to calling task 22
|
||||
exit ASR overhead: returns to preempting task 49
|
||||
|
||||
20 rtems_partition_create 35
|
||||
rtems_region_create 23
|
||||
rtems_partition_get_buffer: available 15
|
||||
rtems_partition_get_buffer: not available 13
|
||||
rtems_partition_return_buffer 18
|
||||
rtems_partition_delete 16
|
||||
rtems_region_get_segment: available 22
|
||||
rtems_region_get_segment: not available -- NO_WAIT 21
|
||||
rtems_region_return_segment: no waiting tasks 19
|
||||
rtems_region_get_segment: not available -- caller blocks 64
|
||||
rtems_region_return_segment: task readied -- preempts caller 74
|
||||
rtems_region_return_segment: task readied -- returns to caller 44
|
||||
rtems_region_delete 16
|
||||
rtems_io_initialize 2
|
||||
rtems_io_open 1
|
||||
rtems_io_close 1
|
||||
rtems_io_read 1
|
||||
rtems_io_write 1
|
||||
rtems_io_control 1
|
||||
|
||||
21 rtems_task_ident 149
|
||||
rtems_message_queue_ident 145
|
||||
rtems_semaphore_ident 156
|
||||
rtems_partition_ident 145
|
||||
rtems_region_ident 148
|
||||
rtems_port_ident 145
|
||||
rtems_timer_ident 145
|
||||
rtems_rate_monotonic_ident 145
|
||||
|
||||
22 rtems_message_queue_broadcast: task readied -- returns to caller 42
|
||||
rtems_message_queue_broadcast: no waiting tasks 17
|
||||
rtems_message_queue_broadcast: task readied -- preempts caller 78
|
||||
|
||||
23 rtems_timer_create 14
|
||||
rtems_timer_fire_after: inactive 22
|
||||
rtems_timer_fire_after: active 24
|
||||
rtems_timer_cancel: active 15
|
||||
rtems_timer_cancel: inactive 13
|
||||
rtems_timer_reset: inactive 21
|
||||
rtems_timer_reset: active 23
|
||||
rtems_timer_fire_when: inactive 34
|
||||
rtems_timer_fire_when: active 34
|
||||
rtems_timer_delete: active 19
|
||||
rtems_timer_delete: inactive 17
|
||||
rtems_task_wake_when 69
|
||||
|
||||
24 rtems_task_wake_after: yield -- returns to caller 9
|
||||
rtems_task_wake_after: yields -- preempts caller 45
|
||||
|
||||
25 rtems_clock_tick 4
|
||||
|
||||
26 _ISR_Disable 0
|
||||
_ISR_Flash 1
|
||||
_ISR_Enable 1
|
||||
_Thread_Disable_dispatch 0
|
||||
_Thread_Enable_dispatch 7
|
||||
_Thread_Set_state 11
|
||||
_Thread_Disptach (NO FP) 31
|
||||
context switch: no floating point contexts 21
|
||||
context switch: self 10
|
||||
context switch: to another task 10
|
||||
context switch: restore 1st FP task 25
|
||||
fp context switch: save idle, restore idle 31
|
||||
fp context switch: save idle, restore initialized 19
|
||||
fp context switch: save initialized, restore initialized 20
|
||||
_Thread_Resume 7
|
||||
_Thread_Unblock 7
|
||||
_Thread_Ready 9
|
||||
_Thread_Get 4
|
||||
_Semaphore_Get 2
|
||||
_Thread_Get: invalid id 0
|
||||
|
||||
27 interrupt entry overhead: returns to interrupted task 6
|
||||
interrupt exit overhead: returns to interrupted task 6
|
||||
interrupt entry overhead: returns to nested interrupt 6
|
||||
interrupt exit overhead: returns to nested interrupt 5
|
||||
interrupt entry overhead: returns to preempting task 7
|
||||
interrupt exit overhead: returns to preempting task 36
|
||||
|
||||
28 rtems_port_create 16
|
||||
rtems_port_external_to_internal 11
|
||||
rtems_port_internal_to_external 11
|
||||
rtems_port_delete 16
|
||||
|
||||
29 rtems_rate_monotonic_create 15
|
||||
rtems_rate_monotonic_period: initiate period -- returns to caller 21
|
||||
rtems_rate_monotonic_period: obtain status 13
|
||||
rtems_rate_monotonic_cancel 16
|
||||
rtems_rate_monotonic_delete: inactive 18
|
||||
rtems_rate_monotonic_delete: active 20
|
||||
rtems_rate_monotonic_period: conclude periods -- caller blocks 53
|
||||
77
c/src/lib/libbsp/powerpc/papyrus/startup/linkcmds
Normal file
77
c/src/lib/libbsp/powerpc/papyrus/startup/linkcmds
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* This file contains directives for the GNU linker which are specific
|
||||
* to the Papyrus.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc",
|
||||
"elf32-powerpc")
|
||||
OUTPUT_ARCH(powerpc)
|
||||
SEARCH_DIR(/usr/local/powerpc-rtems/lib);
|
||||
|
||||
ENTRY(download_entry)
|
||||
|
||||
MEMORY
|
||||
{
|
||||
RAM : ORIGIN = 0, LENGTH = 4M
|
||||
FLASH : ORIGIN = 0xFF000000, LENGTH = 0x80000
|
||||
EPROM : ORIGIN = 0xFFFE0000, LENGTH = 0x20000
|
||||
}
|
||||
|
||||
/* Do we need any of these for elf?
|
||||
__DYNAMIC = 0; */
|
||||
SECTIONS
|
||||
{
|
||||
.vectors 0x0100 :
|
||||
{
|
||||
*(.vectors)
|
||||
}
|
||||
|
||||
.text 0x20000 :
|
||||
{
|
||||
*(.entry)
|
||||
*(.entry2)
|
||||
*(.text)
|
||||
*(.rodata)
|
||||
*(.rodata1)
|
||||
*(.descriptors)
|
||||
*(rom_ver)
|
||||
} > RAM
|
||||
|
||||
/* R/W Data */
|
||||
.data :
|
||||
{
|
||||
*(.data)
|
||||
*(.data1)
|
||||
} > RAM
|
||||
|
||||
.got :
|
||||
{
|
||||
s.got = .;
|
||||
*(.got.plt) *(.got)
|
||||
} > RAM
|
||||
|
||||
.bss :
|
||||
{
|
||||
bss.start = .;
|
||||
*(.bss) *(.sbss) *(COMMON)
|
||||
bss.end = ALIGN(4);
|
||||
} > RAM
|
||||
|
||||
bss.size = bss.end - bss.start;
|
||||
PROVIDE(_end = bss.end);
|
||||
|
||||
.line 0 : { *(.line) }
|
||||
.debug 0 : { *(.debug) }
|
||||
.debug_sfnames 0 : { *(.debug_sfnames) }
|
||||
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||
.debug_aranges 0 : { *(.debug_aranges) }
|
||||
.debug_aregion 0 : { *(.debug_aregion) }
|
||||
.debug_macinfo 0 : { *(.debug_macinfo) }
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
}
|
||||
|
||||
|
||||
197
c/src/lib/libbsp/powerpc/papyrus/times
Normal file
197
c/src/lib/libbsp/powerpc/papyrus/times
Normal file
@@ -0,0 +1,197 @@
|
||||
#
|
||||
# Timing Test Suite Results for the Papyrus BSP
|
||||
#
|
||||
# NOTE: The Papyrus is a proprietary PPC403 based board. But it is the
|
||||
# only BSP currently available for the PowerPC family.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
NOTE: This BSP is user submitted and no timing information
|
||||
is currently avaiable.
|
||||
|
||||
Board: Papyrus
|
||||
CPU: IBM 403GA
|
||||
Clock Speed: 33 Mhz
|
||||
Memory Configuration: SRAM, DRAM, cache, etc
|
||||
Wait States:
|
||||
|
||||
Times Reported in: cycles, microseconds, etc
|
||||
Timer Source: Count Down Timer, on-CPU cycle counter, etc
|
||||
|
||||
Column A: unused
|
||||
Column B: unused
|
||||
|
||||
# DESCRIPTION A B
|
||||
== ================================================================= ==== ====
|
||||
1 rtems_semaphore_create 20
|
||||
rtems_semaphore_delete 21
|
||||
rtems_semaphore_obtain: available 15
|
||||
rtems_semaphore_obtain: not available -- NO_WAIT 15
|
||||
rtems_semaphore_release: no waiting tasks 16
|
||||
|
||||
2 rtems_semaphore_obtain: not available -- caller blocks 62
|
||||
|
||||
3 rtems_semaphore_release: task readied -- preempts caller 55
|
||||
|
||||
4 rtems_task_restart: blocked task -- preempts caller 77
|
||||
rtems_task_restart: ready task -- preempts caller 70
|
||||
rtems_semaphore_release: task readied -- returns to caller 25
|
||||
rtems_task_create 57
|
||||
rtems_task_start 31
|
||||
rtems_task_restart: suspended task -- returns to caller 36
|
||||
rtems_task_delete: suspended task 47
|
||||
rtems_task_restart: ready task -- returns to caller 37
|
||||
rtems_task_restart: blocked task -- returns to caller 46
|
||||
rtems_task_delete: blocked task 50
|
||||
|
||||
5 rtems_task_suspend: calling task 51
|
||||
rtems_task_resume: task readied -- preempts caller 49
|
||||
|
||||
6 rtems_task_restart: calling task 59
|
||||
rtems_task_suspend: returns to caller 18
|
||||
rtems_task_resume: task readied -- returns to caller 19
|
||||
rtems_task_delete: ready task 50
|
||||
|
||||
7 rtems_task_restart: suspended task -- preempts caller 70
|
||||
|
||||
8 rtems_task_set_priority: obtain current priority 12
|
||||
rtems_task_set_priority: returns to caller 27
|
||||
rtems_task_mode: obtain current mode 5
|
||||
rtems_task_mode: no reschedule 5
|
||||
rtems_task_mode: reschedule -- returns to caller 8
|
||||
rtems_task_mode: reschedule -- preempts caller 39
|
||||
rtems_task_set_note 13
|
||||
rtems_task_get_note 13
|
||||
rtems_clock_set 33
|
||||
rtems_clock_get 3
|
||||
|
||||
9 rtems_message_queue_create 110
|
||||
rtems_message_queue_send: no waiting tasks 37
|
||||
rtems_message_queue_urgent: no waiting tasks 37
|
||||
rtems_message_queue_receive: available 31
|
||||
rtems_message_queue_flush: no messages flushed 12
|
||||
rtems_message_queue_flush: messages flushed 16
|
||||
rtems_message_queue_delete 26
|
||||
|
||||
10 rtems_message_queue_receive: not available -- NO_WAIT 15
|
||||
rtems_message_queue_receive: not available -- caller blocks 62
|
||||
|
||||
11 rtems_message_queue_send: task readied -- preempts caller 72
|
||||
|
||||
12 rtems_message_queue_send: task readied -- returns to caller 39
|
||||
|
||||
13 rtems_message_queue_urgent: task readied -- preempts caller 72
|
||||
|
||||
14 rtems_message_queue_urgent: task readied -- returns to caller 39
|
||||
|
||||
15 rtems_event_receive: obtain current events 1
|
||||
rtems_event_receive: not available -- NO_WAIT 12
|
||||
rtems_event_receive: not available -- caller blocks 56
|
||||
rtems_event_send: no task readied 12
|
||||
rtems_event_receive: available 12
|
||||
rtems_event_send: task readied -- returns to caller 24
|
||||
|
||||
16 rtems_event_send: task readied -- preempts caller 55
|
||||
|
||||
17 rtems_task_set_priority: preempts caller 62
|
||||
|
||||
18 rtems_task_delete: calling task 83
|
||||
|
||||
19 rtems_signal_catch 9
|
||||
rtems_signal_send: returns to caller 15
|
||||
rtems_signal_send: signal to self 18
|
||||
exit ASR overhead: returns to calling task 22
|
||||
exit ASR overhead: returns to preempting task 49
|
||||
|
||||
20 rtems_partition_create 35
|
||||
rtems_region_create 23
|
||||
rtems_partition_get_buffer: available 15
|
||||
rtems_partition_get_buffer: not available 13
|
||||
rtems_partition_return_buffer 18
|
||||
rtems_partition_delete 16
|
||||
rtems_region_get_segment: available 22
|
||||
rtems_region_get_segment: not available -- NO_WAIT 21
|
||||
rtems_region_return_segment: no waiting tasks 19
|
||||
rtems_region_get_segment: not available -- caller blocks 64
|
||||
rtems_region_return_segment: task readied -- preempts caller 74
|
||||
rtems_region_return_segment: task readied -- returns to caller 44
|
||||
rtems_region_delete 16
|
||||
rtems_io_initialize 2
|
||||
rtems_io_open 1
|
||||
rtems_io_close 1
|
||||
rtems_io_read 1
|
||||
rtems_io_write 1
|
||||
rtems_io_control 1
|
||||
|
||||
21 rtems_task_ident 149
|
||||
rtems_message_queue_ident 145
|
||||
rtems_semaphore_ident 156
|
||||
rtems_partition_ident 145
|
||||
rtems_region_ident 148
|
||||
rtems_port_ident 145
|
||||
rtems_timer_ident 145
|
||||
rtems_rate_monotonic_ident 145
|
||||
|
||||
22 rtems_message_queue_broadcast: task readied -- returns to caller 42
|
||||
rtems_message_queue_broadcast: no waiting tasks 17
|
||||
rtems_message_queue_broadcast: task readied -- preempts caller 78
|
||||
|
||||
23 rtems_timer_create 14
|
||||
rtems_timer_fire_after: inactive 22
|
||||
rtems_timer_fire_after: active 24
|
||||
rtems_timer_cancel: active 15
|
||||
rtems_timer_cancel: inactive 13
|
||||
rtems_timer_reset: inactive 21
|
||||
rtems_timer_reset: active 23
|
||||
rtems_timer_fire_when: inactive 34
|
||||
rtems_timer_fire_when: active 34
|
||||
rtems_timer_delete: active 19
|
||||
rtems_timer_delete: inactive 17
|
||||
rtems_task_wake_when 69
|
||||
|
||||
24 rtems_task_wake_after: yield -- returns to caller 9
|
||||
rtems_task_wake_after: yields -- preempts caller 45
|
||||
|
||||
25 rtems_clock_tick 4
|
||||
|
||||
26 _ISR_Disable 0
|
||||
_ISR_Flash 1
|
||||
_ISR_Enable 1
|
||||
_Thread_Disable_dispatch 0
|
||||
_Thread_Enable_dispatch 7
|
||||
_Thread_Set_state 11
|
||||
_Thread_Disptach (NO FP) 31
|
||||
context switch: no floating point contexts 21
|
||||
context switch: self 10
|
||||
context switch: to another task 10
|
||||
context switch: restore 1st FP task 25
|
||||
fp context switch: save idle, restore idle 31
|
||||
fp context switch: save idle, restore initialized 19
|
||||
fp context switch: save initialized, restore initialized 20
|
||||
_Thread_Resume 7
|
||||
_Thread_Unblock 7
|
||||
_Thread_Ready 9
|
||||
_Thread_Get 4
|
||||
_Semaphore_Get 2
|
||||
_Thread_Get: invalid id 0
|
||||
|
||||
27 interrupt entry overhead: returns to interrupted task 6
|
||||
interrupt exit overhead: returns to interrupted task 6
|
||||
interrupt entry overhead: returns to nested interrupt 6
|
||||
interrupt exit overhead: returns to nested interrupt 5
|
||||
interrupt entry overhead: returns to preempting task 7
|
||||
interrupt exit overhead: returns to preempting task 36
|
||||
|
||||
28 rtems_port_create 16
|
||||
rtems_port_external_to_internal 11
|
||||
rtems_port_internal_to_external 11
|
||||
rtems_port_delete 16
|
||||
|
||||
29 rtems_rate_monotonic_create 15
|
||||
rtems_rate_monotonic_period: initiate period -- returns to caller 21
|
||||
rtems_rate_monotonic_period: obtain status 13
|
||||
rtems_rate_monotonic_cancel 16
|
||||
rtems_rate_monotonic_delete: inactive 18
|
||||
rtems_rate_monotonic_delete: active 20
|
||||
rtems_rate_monotonic_period: conclude periods -- caller blocks 53
|
||||
192
c/src/tests/tools/generic/sorttimes
Normal file
192
c/src/tests/tools/generic/sorttimes
Normal file
@@ -0,0 +1,192 @@
|
||||
#!KSHELL -p
|
||||
#
|
||||
# This script takes the output from the Timing Test Suite, reorders
|
||||
# it, and adds headers so it is in the same order as is printed in
|
||||
# the supplement.
|
||||
#
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "${progname} file [more files]"
|
||||
}
|
||||
|
||||
header()
|
||||
{
|
||||
echo
|
||||
echo $*
|
||||
echo
|
||||
}
|
||||
|
||||
lookup()
|
||||
{
|
||||
grep "$*" $files
|
||||
|
||||
}
|
||||
|
||||
progname=$0
|
||||
|
||||
if [ $# -eq 0 ] ; then
|
||||
usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
files=$*
|
||||
|
||||
header Context Switch
|
||||
lookup context switch: self
|
||||
lookup context switch: to another task
|
||||
lookup context switch: no floating point contexts
|
||||
lookup fp context switch: restore 1st FP task
|
||||
lookup fp context switch: save initialized, restore initialized
|
||||
lookup fp context switch: save idle, restore initialized
|
||||
lookup fp context switch: save idle, restore idle
|
||||
|
||||
header Task Manager
|
||||
lookup rtems_task_create
|
||||
lookup rtems_task_ident
|
||||
lookup rtems_task_start
|
||||
lookup rtems_task_restart: calling task
|
||||
lookup rtems_task_restart: suspended task -- returns to caller
|
||||
lookup rtems_task_restart: blocked task -- returns to caller
|
||||
lookup rtems_task_restart: ready task -- returns to caller
|
||||
lookup rtems_task_restart: suspended task -- preempts caller
|
||||
lookup rtems_task_restart: blocked task -- preempts caller
|
||||
lookup rtems_task_restart: ready task -- preempts caller
|
||||
lookup rtems_task_delete: calling task
|
||||
lookup rtems_task_delete: suspended task
|
||||
lookup rtems_task_delete: blocked task
|
||||
lookup rtems_task_delete: ready task
|
||||
lookup rtems_task_suspend: calling task
|
||||
lookup rtems_task_suspend: returns to caller
|
||||
lookup rtems_task_resume: task readied -- returns to caller
|
||||
lookup rtems_task_resume: task readied -- preempts caller
|
||||
lookup rtems_task_set_priority: obtain current priority
|
||||
lookup rtems_task_set_priority: returns to caller
|
||||
lookup rtems_task_set_priority: preempts caller
|
||||
lookup rtems_task_mode: obtain current mode
|
||||
lookup rtems_task_mode: no reschedule
|
||||
lookup rtems_task_mode: reschedule -- returns to caller
|
||||
lookup rtems_task_mode: reschedule -- preempts caller
|
||||
lookup rtems_task_get_note
|
||||
lookup rtems_task_set_note
|
||||
lookup rtems_task_wake_after: yield -- returns to caller
|
||||
lookup rtems_task_wake_after: yields -- preempts caller
|
||||
lookup rtems_task_wake_when
|
||||
|
||||
header Interrupt Manager
|
||||
lookup interrupt entry overhead: returns to nested interrupt
|
||||
lookup interrupt entry overhead: returns to interrupted task
|
||||
lookup interrupt entry overhead: returns to preempting task
|
||||
lookup interrupt exit overhead: returns to nested interrupt
|
||||
lookup interrupt exit overhead: returns to interrupted task
|
||||
lookup interrupt exit overhead: returns to preempting task
|
||||
|
||||
header Clock Manager
|
||||
lookup rtems_clock_set
|
||||
lookup rtems_clock_get
|
||||
lookup rtems_clock_tick
|
||||
|
||||
header Timer Manager
|
||||
lookup rtems_timer_create
|
||||
lookup rtems_timer_ident
|
||||
lookup rtems_timer_delete: inactive
|
||||
lookup rtems_timer_delete: active
|
||||
lookup rtems_timer_fire_after: inactive
|
||||
lookup rtems_timer_fire_after: active
|
||||
lookup rtems_timer_fire_when: inactive
|
||||
lookup rtems_timer_fire_when: active
|
||||
lookup rtems_timer_reset: inactive
|
||||
lookup rtems_timer_reset: active
|
||||
lookup rtems_timer_cancel: inactive
|
||||
lookup rtems_timer_cancel: active
|
||||
|
||||
header Semaphore Manager
|
||||
lookup rtems_semaphore_create
|
||||
lookup rtems_semaphore_ident
|
||||
lookup rtems_semaphore_delete
|
||||
lookup rtems_semaphore_obtain: available
|
||||
lookup rtems_semaphore_obtain: not available -- NO_WAIT
|
||||
lookup rtems_semaphore_obtain: not available -- caller blocks
|
||||
lookup rtems_semaphore_release: no waiting tasks
|
||||
lookup rtems_semaphore_release: task readied -- returns to caller
|
||||
lookup rtems_semaphore_release: task readied -- preempts caller
|
||||
|
||||
header Message Queue Manager
|
||||
lookup rtems_message_queue_create
|
||||
lookup rtems_message_queue_ident
|
||||
lookup rtems_message_queue_delete
|
||||
lookup rtems_message_queue_send: no waiting tasks
|
||||
lookup rtems_message_queue_send: task readied -- returns to caller
|
||||
lookup rtems_message_queue_send: task readied -- preempts caller
|
||||
lookup rtems_message_queue_urgent: no waiting tasks
|
||||
lookup rtems_message_queue_urgent: task readied -- returns to caller
|
||||
lookup rtems_message_queue_urgent: task readied -- preempts caller
|
||||
lookup rtems_message_queue_broadcast: no waiting tasks
|
||||
lookup rtems_message_queue_broadcast: task readied -- returns to caller
|
||||
lookup rtems_message_queue_broadcast: task readied -- preempts caller
|
||||
lookup rtems_message_queue_receive: available
|
||||
lookup rtems_message_queue_receive: not available -- NO_WAIT
|
||||
lookup rtems_message_queue_receive: not available -- caller blocks
|
||||
lookup rtems_message_queue_flush: no messages flushed
|
||||
lookup rtems_message_queue_flush: messages flushed
|
||||
|
||||
header Event Manager
|
||||
lookup rtems_event_send: no task readied
|
||||
lookup rtems_event_send: task readied -- returns to caller
|
||||
lookup rtems_event_send: task readied -- preempts caller
|
||||
lookup rtems_event_receive: obtain current events
|
||||
lookup rtems_event_receive: available
|
||||
lookup rtems_event_receive: not available -- NO_WAIT
|
||||
lookup rtems_event_receive: not available -- caller blocks
|
||||
|
||||
header Signal Manager
|
||||
lookup rtems_signal_catch
|
||||
lookup rtems_signal_send: returns to caller
|
||||
lookup rtems_signal_send: signal to self
|
||||
lookup exit ASR overhead: returns to calling task
|
||||
lookup exit ASR overhead: returns to preempting task
|
||||
|
||||
header Partition Manager
|
||||
lookup rtems_partition_create
|
||||
lookup rtems_partition_ident
|
||||
lookup rtems_partition_delete
|
||||
lookup rtems_partition_get_buffer: available
|
||||
lookup rtems_partition_get_buffer: not available
|
||||
lookup rtems_partition_return_buffer
|
||||
|
||||
header Region Manager
|
||||
lookup rtems_region_create
|
||||
lookup rtems_region_ident
|
||||
lookup rtems_region_delete
|
||||
lookup rtems_region_get_segment: available
|
||||
lookup rtems_region_get_segment: not available -- NO_WAIT
|
||||
lookup rtems_region_get_segment: not available -- caller blocks
|
||||
lookup rtems_region_return_segment: no waiting tasks
|
||||
lookup rtems_region_return_segment: task readied -- returns to caller
|
||||
lookup rtems_region_return_segment: task readied -- preempts caller
|
||||
|
||||
header Dual-Ported Memory Manager
|
||||
lookup rtems_port_create
|
||||
lookup rtems_port_ident
|
||||
lookup rtems_port_delete
|
||||
lookup rtems_port_internal_to_external
|
||||
lookup rtems_port_external_to_internal
|
||||
|
||||
header IO Manager
|
||||
lookup rtems_io_initialize
|
||||
lookup rtems_io_open
|
||||
lookup rtems_io_close
|
||||
lookup rtems_io_read
|
||||
lookup rtems_io_write
|
||||
lookup rtems_io_control
|
||||
|
||||
header Rate Monotonic Manager
|
||||
lookup rtems_rate_monotonic_create
|
||||
lookup rtems_rate_monotonic_ident
|
||||
lookup rtems_rate_monotonic_cancel
|
||||
lookup rtems_rate_monotonic_delete: active
|
||||
lookup rtems_rate_monotonic_delete: inactive
|
||||
lookup rtems_rate_monotonic_period: obtain status
|
||||
lookup rtems_rate_monotonic_period: initiate period -- returns to caller
|
||||
lookup rtems_rate_monotonic_period: conclude periods -- caller blocks
|
||||
exit 0
|
||||
Reference in New Issue
Block a user