#
#  PowerPC/603e/PSIM Timing and Size Information
#
#  $Id$
#

#
#  CPU Model Information
#
RTEMS_CPU_MODEL PPC603e
#
#  Interrupt Latency
#
#  NOTE:  In general, the text says it is hand-calculated to be
#         RTEMS_MAXIMUM_DISABLE_PERIOD at RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ
#         Mhz and this was last calculated for Release 
#         RTEMS_VERSION_FOR_MAXIMUM_DISABLE_PERIOD.
#
RTEMS_MAXIMUM_DISABLE_PERIOD TBD
RTEMS_MAXIMUM_DISABLE_PERIOD_MHZ 15.0
RTEMS_RELEASE_FOR_MAXIMUM_DISABLE_PERIOD 4.2.0-prerelease
#
#  Context Switch Times
#
RTEMS_NO_FP_CONTEXTS 21
RTEMS_RESTORE_1ST_FP_TASK 26
RTEMS_SAVE_INIT_RESTORE_INIT 24
RTEMS_SAVE_IDLE_RESTORE_INIT 23
RTEMS_SAVE_IDLE_RESTORE_IDLE 33
#
#  Task Manager Times
#
RTEMS_TASK_CREATE_ONLY 59
RTEMS_TASK_IDENT_ONLY 163
RTEMS_TASK_START_ONLY 30
RTEMS_TASK_RESTART_CALLING_TASK 64
RTEMS_TASK_RESTART_SUSPENDED_RETURNS_TO_CALLER 36
RTEMS_TASK_RESTART_BLOCKED_RETURNS_TO_CALLER 47
RTEMS_TASK_RESTART_READY_RETURNS_TO_CALLER 37
RTEMS_TASK_RESTART_SUSPENDED_PREEMPTS_CALLER 77
RTEMS_TASK_RESTART_BLOCKED_PREEMPTS_CALLER 84
RTEMS_TASK_RESTART_READY_PREEMPTS_CALLER 75
RTEMS_TASK_DELETE_CALLING_TASK 91
RTEMS_TASK_DELETE_SUSPENDED_TASK 47
RTEMS_TASK_DELETE_BLOCKED_TASK 50
RTEMS_TASK_DELETE_READY_TASK 51
RTEMS_TASK_SUSPEND_CALLING_TASK 56
RTEMS_TASK_SUSPEND_RETURNS_TO_CALLER 16
RTEMS_TASK_RESUME_TASK_READIED_RETURNS_TO_CALLER 17
RTEMS_TASK_RESUME_TASK_READIED_PREEMPTS_CALLER 52
RTEMS_TASK_SET_PRIORITY_OBTAIN_CURRENT_PRIORITY 10
RTEMS_TASK_SET_PRIORITY_RETURNS_TO_CALLER 25
RTEMS_TASK_SET_PRIORITY_PREEMPTS_CALLER 67
RTEMS_TASK_MODE_OBTAIN_CURRENT_MODE 5
RTEMS_TASK_MODE_NO_RESCHEDULE 6
RTEMS_TASK_MODE_RESCHEDULE_RETURNS_TO_CALLER 9
RTEMS_TASK_MODE_RESCHEDULE_PREEMPTS_CALLER 42
RTEMS_TASK_GET_NOTE_ONLY 10
RTEMS_TASK_SET_NOTE_ONLY 10
RTEMS_TASK_WAKE_AFTER_YIELD_RETURNS_TO_CALLER 6
RTEMS_TASK_WAKE_AFTER_YIELD_PREEMPTS_CALLER 49
RTEMS_TASK_WAKE_WHEN_ONLY 75
#
#  Interrupt Manager
#
RTEMS_INTR_ENTRY_RETURNS_TO_NESTED 7
RTEMS_INTR_ENTRY_RETURNS_TO_INTERRUPTED_TASK 8
RTEMS_INTR_ENTRY_RETURNS_TO_PREEMPTING_TASK 8
RTEMS_INTR_EXIT_RETURNS_TO_NESTED 5
RTEMS_INTR_EXIT_RETURNS_TO_INTERRUPTED_TASK 7
RTEMS_INTR_EXIT_RETURNS_TO_PREEMPTING_TASK 14
#
#  Clock Manager
#
RTEMS_CLOCK_SET_ONLY 33
RTEMS_CLOCK_GET_ONLY 4
RTEMS_CLOCK_TICK_ONLY 6
#
#  Timer Manager
#
RTEMS_TIMER_CREATE_ONLY 11
RTEMS_TIMER_IDENT_ONLY 159
RTEMS_TIMER_DELETE_INACTIVE 15
RTEMS_TIMER_DELETE_ACTIVE 17
RTEMS_TIMER_FIRE_AFTER_INACTIVE 21
RTEMS_TIMER_FIRE_AFTER_ACTIVE 23
RTEMS_TIMER_FIRE_WHEN_INACTIVE 34
RTEMS_TIMER_FIRE_WHEN_ACTIVE 34
RTEMS_TIMER_RESET_INACTIVE 20
RTEMS_TIMER_RESET_ACTIVE 22
RTEMS_TIMER_CANCEL_INACTIVE 10
RTEMS_TIMER_CANCEL_ACTIVE 13
#
#  Semaphore Manager
#
RTEMS_SEMAPHORE_CREATE_ONLY 19
RTEMS_SEMAPHORE_IDENT_ONLY 171
RTEMS_SEMAPHORE_DELETE_ONLY 19
RTEMS_SEMAPHORE_OBTAIN_AVAILABLE 12
RTEMS_SEMAPHORE_OBTAIN_NOT_AVAILABLE_NO_WAIT 12
RTEMS_SEMAPHORE_OBTAIN_NOT_AVAILABLE_CALLER_BLOCKS 67
RTEMS_SEMAPHORE_RELEASE_NO_WAITING_TASKS 14
RTEMS_SEMAPHORE_RELEASE_TASK_READIED_RETURNS_TO_CALLER 23
RTEMS_SEMAPHORE_RELEASE_TASK_READIED_PREEMPTS_CALLER 57
#
#  Message Manager
#
RTEMS_MESSAGE_QUEUE_CREATE_ONLY 114
RTEMS_MESSAGE_QUEUE_IDENT_ONLY 159
RTEMS_MESSAGE_QUEUE_DELETE_ONLY 25
RTEMS_MESSAGE_QUEUE_SEND_NO_WAITING_TASKS 36
RTEMS_MESSAGE_QUEUE_SEND_TASK_READIED_RETURNS_TO_CALLER 38
RTEMS_MESSAGE_QUEUE_SEND_TASK_READIED_PREEMPTS_CALLER 76
RTEMS_MESSAGE_QUEUE_URGENT_NO_WAITING_TASKS 36
RTEMS_MESSAGE_QUEUE_URGENT_TASK_READIED_RETURNS_TO_CALLER 38
RTEMS_MESSAGE_QUEUE_URGENT_TASK_READIED_PREEMPTS_CALLER 76
RTEMS_MESSAGE_QUEUE_BROADCAST_NO_WAITING_TASKS 15
RTEMS_MESSAGE_QUEUE_BROADCAST_TASK_READIED_RETURNS_TO_CALLER 42
RTEMS_MESSAGE_QUEUE_BROADCAST_TASK_READIED_PREEMPTS_CALLER 83
RTEMS_MESSAGE_QUEUE_RECEIVE_AVAILABLE 30
RTEMS_MESSAGE_QUEUE_RECEIVE_NOT_AVAILABLE_NO_WAIT 13
RTEMS_MESSAGE_QUEUE_RECEIVE_NOT_AVAILABLE_CALLER_BLOCKS 67
RTEMS_MESSAGE_QUEUE_FLUSH_NO_MESSAGES_FLUSHED 9
RTEMS_MESSAGE_QUEUE_FLUSH_MESSAGES_FLUSHED 13
#
#  Event Manager
#
RTEMS_EVENT_SEND_NO_TASK_READIED 9
RTEMS_EVENT_SEND_TASK_READIED_RETURNS_TO_CALLER 22
RTEMS_EVENT_SEND_TASK_READIED_PREEMPTS_CALLER 58
RTEMS_EVENT_RECEIVE_OBTAIN_CURRENT_EVENTS 1
RTEMS_EVENT_RECEIVE_AVAILABLE 10
RTEMS_EVENT_RECEIVE_NOT_AVAILABLE_NO_WAIT 9
RTEMS_EVENT_RECEIVE_NOT_AVAILABLE_CALLER_BLOCKS 60
#
#  Signal Manager
#
RTEMS_SIGNAL_CATCH_ONLY 6
RTEMS_SIGNAL_SEND_RETURNS_TO_CALLER 14
RTEMS_SIGNAL_SEND_SIGNAL_TO_SELF 22
RTEMS_SIGNAL_EXIT_ASR_OVERHEAD_RETURNS_TO_CALLING_TASK 27
RTEMS_SIGNAL_EXIT_ASR_OVERHEAD_RETURNS_TO_PREEMPTING_TASK 56
#
#  Partition Manager
#
RTEMS_PARTITION_CREATE_ONLY 34
RTEMS_PARTITION_IDENT_ONLY 159
RTEMS_PARTITION_DELETE_ONLY 14
RTEMS_PARTITION_GET_BUFFER_AVAILABLE 12
RTEMS_PARTITION_GET_BUFFER_NOT_AVAILABLE 10
RTEMS_PARTITION_RETURN_BUFFER_ONLY 16
#
#  Region Manager
#
RTEMS_REGION_CREATE_ONLY 22
RTEMS_REGION_IDENT_ONLY 162
RTEMS_REGION_DELETE_ONLY 14
RTEMS_REGION_GET_SEGMENT_AVAILABLE 19
RTEMS_REGION_GET_SEGMENT_NOT_AVAILABLE_NO_WAIT 19
RTEMS_REGION_GET_SEGMENT_NOT_AVAILABLE_CALLER_BLOCKS 67
RTEMS_REGION_RETURN_SEGMENT_NO_WAITING_TASKS 17
RTEMS_REGION_RETURN_SEGMENT_TASK_READIED_RETURNS_TO_CALLER 44
RTEMS_REGION_RETURN_SEGMENT_TASK_READIED_PREEMPTS_CALLER 77
#
#  Dual-Ported Memory Manager
#
RTEMS_PORT_CREATE_ONLY 14
RTEMS_PORT_IDENT_ONLY 159
RTEMS_PORT_DELETE_ONLY 13
RTEMS_PORT_INTERNAL_TO_EXTERNAL_ONLY 9
RTEMS_PORT_EXTERNAL_TO_INTERNAL_ONLY 9
#
#  IO Manager
#
RTEMS_IO_INITIALIZE_ONLY 2
RTEMS_IO_OPEN_ONLY 1
RTEMS_IO_CLOSE_ONLY 1
RTEMS_IO_READ_ONLY 1
RTEMS_IO_WRITE_ONLY 1
RTEMS_IO_CONTROL_ONLY 1
#
#  Rate Monotonic Manager
#
RTEMS_RATE_MONOTONIC_CREATE_ONLY 12
RTEMS_RATE_MONOTONIC_IDENT_ONLY 159
RTEMS_RATE_MONOTONIC_CANCEL_ONLY 14
RTEMS_RATE_MONOTONIC_DELETE_ACTIVE 19
RTEMS_RATE_MONOTONIC_DELETE_INACTIVE 16
RTEMS_RATE_MONOTONIC_PERIOD_INITIATE_PERIOD_RETURNS_TO_CALLER 20
RTEMS_RATE_MONOTONIC_PERIOD_CONCLUDE_PERIOD_CALLER_BLOCKS 55
RTEMS_RATE_MONOTONIC_PERIOD_OBTAIN_STATUS 9
#
#  Size Information
#
#
#  xxx alloted for numbers
#
RTEMS_DATA_SPACE 9059
RTEMS_MINIMUM_CONFIGURATION 28,288
RTEMS_MAXIMUM_CONFIGURATION 50,432
#  x,xxx alloted for numbers
RTEMS_CORE_CODE_SIZE 20,336
RTEMS_INITIALIZATION_CODE_SIZE 1,408
RTEMS_TASK_CODE_SIZE 4,496
RTEMS_INTERRUPT_CODE_SIZE 72
RTEMS_CLOCK_CODE_SIZE 576
RTEMS_TIMER_CODE_SIZE 1,336
RTEMS_SEMAPHORE_CODE_SIZE 1,888
RTEMS_MESSAGE_CODE_SIZE 2,032
RTEMS_EVENT_CODE_SIZE 1,696
RTEMS_SIGNAL_CODE_SIZE 664
RTEMS_PARTITION_CODE_SIZE 1,368
RTEMS_REGION_CODE_SIZE 1,736
RTEMS_DPMEM_CODE_SIZE 872
RTEMS_IO_CODE_SIZE 1,144
RTEMS_FATAL_ERROR_CODE_SIZE 32
RTEMS_RATE_MONOTONIC_CODE_SIZE 1,656
RTEMS_MULTIPROCESSING_CODE_SIZE 8,328
#  xxx alloted for numbers
RTEMS_TIMER_CODE_OPTSIZE 208
RTEMS_SEMAPHORE_CODE_OPTSIZE 192
RTEMS_MESSAGE_CODE_OPTSIZE 320
RTEMS_EVENT_CODE_OPTSIZE 64
RTEMS_SIGNAL_CODE_OPTSIZE 64
RTEMS_PARTITION_CODE_OPTSIZE 152
RTEMS_REGION_CODE_OPTSIZE 176
RTEMS_DPMEM_CODE_OPTSIZE 152
RTEMS_IO_CODE_OPTSIZE 00
RTEMS_RATE_MONOTONIC_CODE_OPTSIZE 208
RTEMS_MULTIPROCESSING_CODE_OPTSIZE 408
#  xxx alloted for numbers
RTEMS_BYTES_PER_TASK 488
RTEMS_BYTES_PER_TIMER 68
RTEMS_BYTES_PER_SEMAPHORE 124
RTEMS_BYTES_PER_MESSAGE_QUEUE 148
RTEMS_BYTES_PER_REGION 144
RTEMS_BYTES_PER_PARTITION 56
RTEMS_BYTES_PER_PORT 36
RTEMS_BYTES_PER_PERIOD 36
RTEMS_BYTES_PER_EXTENSION 64
RTEMS_BYTES_PER_FP_TASK 136
RTEMS_BYTES_PER_NODE 48
RTEMS_BYTES_PER_GLOBAL_OBJECT 20
RTEMS_BYTES_PER_PROXY 124
#  x,xxx alloted for numbers
RTEMS_BYTES_OF_FIXED_SYSTEM_REQUIREMENTS 10,072
