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