forked from Imagelibrary/rtems
Patch from Jay Monkman <jmonkman@frasca.com> to address minor issues
in the eth_comm BSP documentation.
This commit is contained in:
@@ -136,8 +136,9 @@ The following persons/organizations have made contributions:
|
||||
Puchheim,Germany submitted some improvements to the PPC403
|
||||
support and added the helas403 BSP.
|
||||
|
||||
+ Jay Monkman (jmonkman@frasca.com) of Frasca submitted the
|
||||
eth_comm BSP and support for the MPC860 PowerPC CPU model.
|
||||
+ Jay Monkman (jmonkman@frasca.com) of Frasca International, Inc
|
||||
submitted the support for the Motorola MPC860 CPU including the
|
||||
'eth_comm' BSP
|
||||
|
||||
+ Charles Gauthier <Charles.Gauthier@iit.nrc.ca> of the Institute for
|
||||
Information Technology for the National Research Council of Canada
|
||||
|
||||
@@ -27,10 +27,10 @@ NETWORKING: Ethernet (10 Mbps) on SCC1 (MPC860)
|
||||
|
||||
DRIVER INFORMATION
|
||||
==================
|
||||
CLOCK DRIVER:
|
||||
IOSUPP DRIVER:
|
||||
CLOCK DRIVER: Periodic Interval Timer
|
||||
IOSUPP DRIVER: SCC1, SCC2, SCC3, SCC4, SMC1, SMC2
|
||||
SHMSUPP: none
|
||||
TIMER DRIVER:
|
||||
TIMER DRIVER: Timebase register (lower 32 bits only)
|
||||
|
||||
STDIO
|
||||
=====
|
||||
@@ -62,7 +62,7 @@ On-chip resources:
|
||||
BRG4 console
|
||||
RTC
|
||||
PIT clock
|
||||
TB
|
||||
TB timer
|
||||
DEC
|
||||
SWT
|
||||
*CS0 FLASH
|
||||
@@ -75,17 +75,17 @@ On-chip resources:
|
||||
*CS7 DRAM bank 0
|
||||
UPMA
|
||||
UPMB
|
||||
IRQ0
|
||||
IRQ1
|
||||
IRQ0 Voltage supervisor
|
||||
IRQ1 ARINC-429
|
||||
IRQ2 CAN2
|
||||
IRQ3 CAN0
|
||||
IRQ4 CAN1
|
||||
IRQ5
|
||||
IRQ6
|
||||
IRQ5
|
||||
IRQ6 Multibus I
|
||||
IRQ7
|
||||
IRQ_LVL0 clock - PIT
|
||||
IRQ_LVL1
|
||||
IRQ_LVL2
|
||||
IRQ_LVL1 CPM
|
||||
IRQ_LVL2 FEC
|
||||
IRQ_LVL3
|
||||
IRQ_LVL4
|
||||
IRQ_LVL5
|
||||
@@ -98,3 +98,192 @@ Bus width: 16 bit Flash, 32 bit DRAM
|
||||
FLASH: 128K - 1024K, 120ns
|
||||
RAM: 2 - 32M DRAM SIMM, autodetects size and speed
|
||||
|
||||
Verification
|
||||
-------------------------------
|
||||
Single processor tests: Passed
|
||||
Multi-processort tests: not applicable
|
||||
Timing tests:
|
||||
Context Switch
|
||||
|
||||
context switch: self 9
|
||||
context switch: to another task 10
|
||||
context switch: no floating point contexts 23
|
||||
fp context switch: restore 1st FP task 24
|
||||
fp context switch: save initialized, restore initialized 11
|
||||
fp context switch: save idle, restore initialized 11
|
||||
fp context switch: save idle, restore idle 23
|
||||
|
||||
Task Manager
|
||||
|
||||
rtems_task_create 83
|
||||
rtems_task_ident 84
|
||||
rtems_task_start 30
|
||||
rtems_task_restart: calling task 48
|
||||
rtems_task_restart: suspended task -- returns to caller 36
|
||||
rtems_task_restart: blocked task -- returns to caller 47
|
||||
rtems_task_restart: ready task -- returns to caller 35
|
||||
rtems_task_restart: suspended task -- preempts caller 56
|
||||
rtems_task_restart: blocked task -- preempts caller 116
|
||||
rtems_task_restart: ready task -- preempts caller 93
|
||||
rtems_task_delete: calling task 102
|
||||
rtems_task_delete: suspended task 74
|
||||
rtems_task_delete: blocked task 76
|
||||
rtems_task_delete: ready task 80
|
||||
rtems_task_suspend: calling task 37
|
||||
rtems_task_suspend: returns to caller 14
|
||||
rtems_task_resume: task readied -- returns to caller 16
|
||||
rtems_task_resume: task readied -- preempts caller 30
|
||||
rtems_task_set_priority: obtain current priority 12
|
||||
rtems_task_set_priority: returns to caller 23
|
||||
rtems_task_set_priority: preempts caller 52
|
||||
rtems_task_mode: obtain current mode 5
|
||||
rtems_task_mode: no reschedule 6
|
||||
rtems_task_mode: reschedule -- returns to caller 15
|
||||
rtems_task_mode: reschedule -- preempts caller 43
|
||||
rtems_task_get_note 13
|
||||
rtems_task_set_note 12
|
||||
rtems_task_wake_after: yield -- returns to caller 8
|
||||
rtems_task_wake_after: yields -- preempts caller 30
|
||||
rtems_task_wake_when: 49
|
||||
|
||||
Interrupt Manager
|
||||
|
||||
interrupt entry overhead: returns to nested interrupt 7
|
||||
interrupt entry overhead: returns to interrupted task 31
|
||||
interrupt entry overhead: returns to preempting task 14
|
||||
interrupt exit overhead: returns to nested interrupt 10
|
||||
interrupt exit overhead: returns to interrupted task 8
|
||||
interrupt exit overhead: returns to preempting task 45
|
||||
|
||||
Clock Manager
|
||||
|
||||
rtems_clock_set 28
|
||||
rtems_clock_get 0
|
||||
rtems_clock_tick 36
|
||||
|
||||
Timer Manager
|
||||
|
||||
rtems_timer_create 11
|
||||
rtems_timer_ident 82
|
||||
rtems_timer_delete: inactive 14
|
||||
rtems_timer_delete: active 16
|
||||
rtems_timer_fire_after: inactive 20
|
||||
rtems_timer_fire_after: active 22
|
||||
rtems_timer_fire_when: inactive 24
|
||||
rtems_timer_fire_when: active 24
|
||||
rtems_timer_reset: inactive 18
|
||||
rtems_timer_reset: active 21
|
||||
rtems_timer_cancel: inactive 11
|
||||
rtems_timer_cancel: active 12
|
||||
|
||||
Semaphore Manager
|
||||
|
||||
rtems_semaphore_create 56
|
||||
rtems_semaphore_ident 94
|
||||
rtems_semaphore_delete 34
|
||||
rtems_semaphore_obtain: available 13
|
||||
rtems_semaphore_obtain: not available -- NO_WAIT 13
|
||||
rtems_semaphore_obtain: not available -- caller blocks 48
|
||||
rtems_semaphore_release: no waiting tasks 16
|
||||
rtems_semaphore_release: task readied -- returns to caller 36
|
||||
rtems_semaphore_release: task readied -- preempts caller 36
|
||||
|
||||
Message Queue Manager
|
||||
|
||||
rtems_message_queue_create 110
|
||||
rtems_message_queue_ident 82
|
||||
rtems_message_queue_delete 43
|
||||
rtems_message_queue_send: no waiting tasks 28
|
||||
rtems_message_queue_send: task readied -- returns to caller 31
|
||||
rtems_message_queue_send: task readied -- preempts caller 46
|
||||
rtems_message_queue_urgent: no waiting tasks 28
|
||||
rtems_message_queue_urgent: task readied -- returns to caller 31
|
||||
rtems_message_queue_urgent: task readied -- preempts caller 46
|
||||
rtems_message_queue_broadcast: no waiting tasks 22
|
||||
rtems_message_queue_broadcast: task readied -- returns to caller 81
|
||||
rtems_message_queue_broadcast: task readied -- preempts caller 75
|
||||
rtems_message_queue_receive: available 26
|
||||
rtems_message_queue_receive: not available -- NO_WAIT 15
|
||||
rtems_message_queue_receive: not available -- caller blocks 48
|
||||
rtems_message_queue_flush: no messages flushed 14
|
||||
rtems_message_queue_flush: messages flushed 14
|
||||
|
||||
Event Manager
|
||||
|
||||
rtems_event_send: no task readied 12
|
||||
rtems_event_send: task readied -- returns to caller 38
|
||||
rtems_event_send: task readied -- preempts caller 21
|
||||
rtems_event_receive: obtain current events 1
|
||||
rtems_event_receive: available 19
|
||||
rtems_event_receive: not available -- NO_WAIT 11
|
||||
rtems_event_receive: not available -- caller blocks 36
|
||||
|
||||
Signal Manager
|
||||
|
||||
rtems_signal_catch: 31
|
||||
rtems_signal_send: returns to caller 21
|
||||
rtems_signal_send: signal to self 39
|
||||
exit ASR overhead: returns to calling task 30
|
||||
exit ASR overhead: returns to preempting task 33
|
||||
|
||||
Partition Manager
|
||||
|
||||
rtems_partition_create 59
|
||||
rtems_partition_ident 82
|
||||
rtems_partition_delete 20
|
||||
rtems_partition_get_buffer: available 19
|
||||
rtems_partition_get_buffer: not available 13
|
||||
rtems_partition_return_buffer 20
|
||||
|
||||
Region Manager
|
||||
|
||||
rtems_region_create 37
|
||||
rtems_region_ident 84
|
||||
rtems_region_delete 20
|
||||
rtems_region_get_segment: available 19
|
||||
rtems_region_get_segment: not available -- NO_WAIT 23
|
||||
rtems_region_get_segment: not available -- caller blocks 75
|
||||
rtems_region_return_segment: no waiting tasks 21
|
||||
rtems_region_return_segment: task readied -- returns to caller 55
|
||||
rtems_region_return_segment: task readied -- preempts caller 82
|
||||
|
||||
Dual-Ported Memory Manager
|
||||
|
||||
rtems_port_create 23
|
||||
rtems_port_ident 82
|
||||
rtems_port_delete 21
|
||||
rtems_port_internal_to_external 10
|
||||
rtems_port_external_to_internal 11
|
||||
|
||||
IO Manager
|
||||
|
||||
rtems_io_initialize 1
|
||||
rtems_io_open 1
|
||||
rtems_io_close 1
|
||||
rtems_io_read 1
|
||||
rtems_io_write 1
|
||||
rtems_io_control 1
|
||||
|
||||
Rate Monotonic Manager
|
||||
|
||||
rtems_rate_monotonic_create 43
|
||||
rtems_rate_monotonic_ident 82
|
||||
rtems_rate_monotonic_cancel 23
|
||||
rtems_rate_monotonic_delete: active 28
|
||||
rtems_rate_monotonic_delete: inactive 25
|
||||
rtems_rate_monotonic_period: obtain status 17
|
||||
rtems_rate_monotonic_period: initiate period -- returns to caller 32
|
||||
rtems_rate_monotonic_period: conclude periods -- caller blocks 30
|
||||
|
||||
Network tests:
|
||||
TCP throughput (as measured by ttcp):
|
||||
Receive: 1324 kbytes/sec
|
||||
Transmit: 1037 kbytes/sec
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -7,188 +7,189 @@
|
||||
# $Id$
|
||||
#
|
||||
|
||||
Board:
|
||||
CPU: include coprocessor if applicable
|
||||
Clock Speed:
|
||||
Memory Configuration: SRAM, DRAM, cache, etc
|
||||
Board: eth_comm
|
||||
CPU: Motorola MPC860T
|
||||
Clock Speed: 40 Mhz
|
||||
Memory Configuration: DRAM, 60ns
|
||||
Wait States:
|
||||
|
||||
Times Reported in: cycles, microseconds, etc
|
||||
Timer Source: Count Down Timer, on-CPU cycle counter, etc
|
||||
Timer Source: Time Base register
|
||||
|
||||
Column X:
|
||||
Column Y:
|
||||
|
||||
# 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
|
||||
1 rtems_semaphore_create 56
|
||||
rtems_semaphore_delete 35
|
||||
rtems_semaphore_obtain: available 13
|
||||
rtems_semaphore_obtain: not available -- NO_WAIT 13
|
||||
rtems_semaphore_release: no waiting tasks 16
|
||||
|
||||
2 rtems_semaphore_obtain: not available -- caller blocks 62
|
||||
2 rtems_semaphore_obtain: not available -- caller blocks 48
|
||||
|
||||
3 rtems_semaphore_release: task readied -- preempts caller 55
|
||||
3 rtems_semaphore_release: task readied -- preempts caller 36
|
||||
|
||||
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
|
||||
4 rtems_task_restart: blocked task -- preempts caller 117
|
||||
rtems_task_restart: ready task -- preempts caller 94
|
||||
rtems_semaphore_release: task readied -- returns to caller 22
|
||||
rtems_task_create 83
|
||||
rtems_task_start 30
|
||||
rtems_task_restart: suspended task -- returns to caller 36
|
||||
rtems_task_delete: suspended task 74
|
||||
rtems_task_restart: ready task -- returns to caller 35
|
||||
rtems_task_restart: blocked task -- returns to caller 47
|
||||
rtems_task_delete: blocked task 76
|
||||
|
||||
5 rtems_task_suspend: calling task 51
|
||||
rtems_task_resume: task readied -- preempts caller 49
|
||||
5 rtems_task_suspend: calling task 37
|
||||
rtems_task_resume: task readied -- preempts caller 31
|
||||
|
||||
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
|
||||
6 rtems_task_restart: calling task 48
|
||||
rtems_task_suspend: returns to caller 14
|
||||
rtems_task_resume: task readied -- returns to caller 16
|
||||
rtems_task_delete: ready task 80
|
||||
|
||||
7 rtems_task_restart: suspended task -- preempts caller 70
|
||||
7 rtems_task_restart: suspended task -- preempts caller 56
|
||||
|
||||
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
|
||||
8 rtems_task_set_priority: obtain current priority 12
|
||||
rtems_task_set_priority: returns to caller 23
|
||||
rtems_task_mode: obtain current mode 5
|
||||
rtems_task_mode: no reschedule 7
|
||||
rtems_task_mode: reschedule -- returns to caller 14
|
||||
rtems_task_mode: reschedule -- preempts caller 43
|
||||
rtems_task_set_note 13
|
||||
rtems_task_get_note 12
|
||||
rtems_clock_set 28
|
||||
rtems_clock_get 0
|
||||
|
||||
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
|
||||
9 rtems_message_queue_create 110
|
||||
rtems_message_queue_send: no waiting tasks 28
|
||||
rtems_message_queue_urgent: no waiting tasks 28
|
||||
rtems_message_queue_receive: available 26
|
||||
rtems_message_queue_flush: no messages flushed 13
|
||||
rtems_message_queue_flush: messages flushed 14
|
||||
rtems_message_queue_delete 45
|
||||
|
||||
10 rtems_message_queue_receive: not available -- NO_WAIT 15
|
||||
rtems_message_queue_receive: not available -- caller blocks 62
|
||||
10 rtems_message_queue_receive: not available -- NO_WAIT 15
|
||||
rtems_message_queue_receive: not available -- caller blocks 48
|
||||
|
||||
11 rtems_message_queue_send: task readied -- preempts caller 72
|
||||
11 rtems_message_queue_send: task readied -- preempts caller 46
|
||||
|
||||
12 rtems_message_queue_send: task readied -- returns to caller 39
|
||||
12 rtems_message_queue_send: task readied -- returns to caller 31
|
||||
|
||||
13 rtems_message_queue_urgent: task readied -- preempts caller 72
|
||||
13 rtems_message_queue_urgent: task readied -- preempts caller 46
|
||||
|
||||
14 rtems_message_queue_urgent: task readied -- returns to caller 39
|
||||
14 rtems_message_queue_urgent: task readied -- returns to caller 31
|
||||
|
||||
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
|
||||
15 rtems_event_receive: obtain current events 1
|
||||
rtems_event_receive: not available -- NO_WAIT 11
|
||||
rtems_event_receive: not available -- caller blocks 36
|
||||
rtems_event_send: no task readied 12
|
||||
rtems_event_receive: available 19
|
||||
rtems_event_send: task readied -- returns to caller 21
|
||||
|
||||
16 rtems_event_send: task readied -- preempts caller 55
|
||||
16 rtems_event_send: task readied -- preempts caller 38
|
||||
|
||||
17 rtems_task_set_priority: preempts caller 62
|
||||
17 rtems_task_set_priority: preempts caller 51
|
||||
|
||||
18 rtems_task_delete: calling task 83
|
||||
18 rtems_task_delete: calling task 102
|
||||
|
||||
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
|
||||
19 rtems_signal_catch 31
|
||||
rtems_signal_send: returns to caller 21
|
||||
rtems_signal_send: signal to self 39
|
||||
exit ASR overhead: returns to calling task 30
|
||||
exit ASR overhead: returns to preempting task 33
|
||||
|
||||
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
|
||||
20 rtems_partition_create 59
|
||||
rtems_region_create 37
|
||||
rtems_partition_get_buffer: available 19
|
||||
rtems_partition_get_buffer: not available 12
|
||||
rtems_partition_return_buffer 21
|
||||
rtems_partition_delete 20
|
||||
rtems_region_get_segment: available 20
|
||||
rtems_region_get_segment: not available -- NO_WAIT 24
|
||||
rtems_region_return_segment: no waiting tasks 21
|
||||
rtems_region_get_segment: not available -- caller blocks 76
|
||||
rtems_region_return_segment: task readied -- preempts caller 82
|
||||
rtems_region_return_segment: task readied -- returns to caller 55
|
||||
rtems_region_delete 20
|
||||
rtems_io_initialize 1
|
||||
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
|
||||
21 rtems_task_ident 84
|
||||
rtems_message_queue_ident 82
|
||||
rtems_semaphore_ident 94
|
||||
rtems_partition_ident 82
|
||||
rtems_region_ident 84
|
||||
rtems_port_ident 82
|
||||
rtems_timer_ident 82
|
||||
rtems_rate_monotonic_ident 82
|
||||
|
||||
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
|
||||
22 rtems_message_queue_broadcast: task readied -- returns to caller 81
|
||||
rtems_message_queue_broadcast: no waiting tasks 22
|
||||
rtems_message_queue_broadcast: task readied -- preempts caller 76
|
||||
|
||||
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
|
||||
23 rtems_timer_create 11
|
||||
rtems_timer_fire_after: inactive 20
|
||||
rtems_timer_fire_after: active 22
|
||||
rtems_timer_cancel: active 12
|
||||
rtems_timer_cancel: inactive 11
|
||||
rtems_timer_reset: inactive 18
|
||||
rtems_timer_reset: active 21
|
||||
rtems_timer_fire_when: inactive 24
|
||||
rtems_timer_fire_when: active 24
|
||||
rtems_timer_delete: active 16
|
||||
rtems_timer_delete: inactive 14
|
||||
rtems_task_wake_when 49
|
||||
|
||||
24 rtems_task_wake_after: yield -- returns to caller 9
|
||||
rtems_task_wake_after: yields -- preempts caller 45
|
||||
24 rtems_task_wake_after: yield -- returns to caller 8
|
||||
rtems_task_wake_after: yields -- preempts caller 30
|
||||
|
||||
25 rtems_clock_tick 4
|
||||
25 rtems_clock_tick 35
|
||||
|
||||
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
|
||||
26 _ISR_Disable 24
|
||||
_ISR_Flash 0
|
||||
_ISR_Enable 1
|
||||
_Thread_Disable_dispatch 1
|
||||
_Thread_Enable_dispatch 7
|
||||
_Thread_Set_state 7
|
||||
_Thread_Disptach (NO FP) 31
|
||||
context switch: no floating point contexts 22
|
||||
context switch: self 9
|
||||
context switch: to another task 10
|
||||
fp context switch: restore 1st FP task 24
|
||||
fp context switch: save idle, restore initialized 10
|
||||
fp context switch: save idle, restore idle 23
|
||||
fp context switch: save initialized, restore initialized 10
|
||||
_Thread_Resume 11
|
||||
_Thread_Unblock 6
|
||||
_Thread_Ready 10
|
||||
_Thread_Get 3
|
||||
_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
|
||||
27 interrupt entry overhead: returns to interrupted task 14
|
||||
interrupt exit overhead: returns to interrupted task 26
|
||||
interrupt entry overhead: returns to nested interrupt 7
|
||||
interrupt exit overhead: returns to nested interrupt 10
|
||||
interrupt entry overhead: returns to preempting task 14
|
||||
interrupt exit overhead: returns to preempting task 45
|
||||
|
||||
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
|
||||
28 rtems_port_create 23
|
||||
rtems_port_external_to_internal 10
|
||||
rtems_port_internal_to_external 10
|
||||
rtems_port_delete 21
|
||||
|
||||
29 rtems_rate_monotonic_create 43
|
||||
rtems_rate_monotonic_period: initiate period -- returns to caller 32
|
||||
rtems_rate_monotonic_period: obtain status 17
|
||||
rtems_rate_monotonic_cancel 22
|
||||
rtems_rate_monotonic_delete: inactive 25
|
||||
rtems_rate_monotonic_delete: active 28
|
||||
rtems_rate_monotonic_period: conclude periods -- caller blocks 30
|
||||
|
||||
@@ -4,19 +4,16 @@
|
||||
|
||||
Various non BSP dependant support routines.
|
||||
|
||||
clock - Uses the 403 PIT (Programmable interval timer) to
|
||||
clock - Uses the MPC860 PITPIT (Programmable interval timer) to
|
||||
generate RTEMS clock ticks.
|
||||
|
||||
console - Uses the 403 Internal serial port to do RTEMS
|
||||
console I/O. Not ALL members of the 403 family
|
||||
have this.
|
||||
console_generic - Uses the MPC860 SCCs and SMCs to to serial I/O
|
||||
|
||||
include - Currently empty
|
||||
include - console.h: function declarations for console related functions
|
||||
|
||||
timer - Uses the 403 timebase register for timing
|
||||
tests. Other PowerPCs have slightly different
|
||||
timebase register definitions.
|
||||
timer - Uses the MPC860 timebase register for timing
|
||||
tests. It only uses the lower 32 bits
|
||||
|
||||
vectors - PowerPC 403 specific vector entry points.
|
||||
vectors - MPC860 specific vector entry points.
|
||||
Includes CPU dependant, application independant
|
||||
handlers: alignment.
|
||||
|
||||
@@ -10,16 +10,11 @@ From the comments at the head of vectors.s:
|
||||
The first vector MUST be at address 0x????0100.
|
||||
How this is achieved is dependant on the tool chain.
|
||||
|
||||
However the basic mechanism for ELF assemblers is to create a
|
||||
section called ".vectors", which will be loaded to an address
|
||||
between 0x????0000 and 0x????0100 (inclusive) via a link script.
|
||||
|
||||
The basic mechanism for XCOFF assemblers is to place it in the
|
||||
normal text section, and arrange for this file to be located
|
||||
at an appropriate position on the linker command line.
|
||||
...
|
||||
|
||||
The variable 'PPC_VECTOR_FILE_BASE' must be defined to be the
|
||||
offset from 0x????0000 to the first location in the file. This
|
||||
will usually be 0x0000 or 0x0100.
|
||||
will be either 0x0000 or 0xfff0.
|
||||
|
||||
The eth_comm BSP defines PPC_VECTOR_FILE_BASE to be 0x00000000
|
||||
|
||||
Andrew Bray 18/8/1995
|
||||
|
||||
Reference in New Issue
Block a user