Lines Matching refs:tcb_ptr
189 static void osek_reset_tcb(OSEK_TCB *tcb_ptr);
205 static ULONG osek_allocate_tcb(ULONG stack_size, OSEK_TCB **tcb_ptr);
209 static StatusType osek_do_task_terminate(OSEK_TCB *tcb_ptr);
210 static StatusType osek_do_activate_task (OSEK_TCB *tcb_ptr);
211 static StatusType osek_create_task(OSEK_TCB *tcb_ptr);
212 static StatusType get_internal_resource(OSEK_TCB *tcb_ptr);
213 static StatusType release_internal_resource(OSEK_TCB *tcb_ptr);
214 static StatusType check_external_resource(OSEK_TCB *tcb_ptr);
228 static void add_task_to_table(OSEK_TCB *tcb_ptr);
230 static void push_task_to_table(OSEK_TCB *tcb_ptr);
231 static void pop_task_from_table(OSEK_TCB *tcb_ptr);
232 static UINT check_task_to_run (OSEK_TCB *tcb_ptr );
374 OSEK_TCB *tcb_ptr; /* Pointer to task control block. */ in CreateTask() local
456 tcb_ptr = TX_NULL; in CreateTask()
457 status = osek_allocate_tcb(temp32, &tcb_ptr); in CreateTask()
460 if((status != TRUE) || (tcb_ptr == TX_NULL)) in CreateTask()
471 tcb_ptr->osek_task_id = OSEK_TASK_ID; in CreateTask()
474 tcb_ptr->name = name; in CreateTask()
475 tcb_ptr->task_type = type; in CreateTask()
478 tcb_ptr->org_prio = priority; in CreateTask()
479 tcb_ptr->cur_threshold = priority; in CreateTask()
482 tcb_ptr->task_entry = entry_function; in CreateTask()
485 tcb_ptr->max_active = max_activation; in CreateTask()
486 tcb_ptr->current_active = 0u; in CreateTask()
487 tcb_ptr->internal_res = TX_FALSE; in CreateTask()
490 tcb_ptr->policy = policy; in CreateTask()
493 tcb_ptr->task_autostart = start; in CreateTask()
496 tcb_ptr->suspended = TX_TRUE; in CreateTask()
497 tcb_ptr->waiting = TX_FALSE; in CreateTask()
500 tcb_ptr->task_Appl_Mode = mode; in CreateTask()
503 status = osek_create_task(tcb_ptr); in CreateTask()
515 return ((TaskType)tcb_ptr); in CreateTask()
570 OSEK_TCB *tcb_ptr; /* Pointer to task control block. */ in CreateISR() local
617 tcb_ptr = TX_NULL; in CreateISR()
618 status = osek_allocate_tcb(temp32, &tcb_ptr); in CreateISR()
620 if((status != TRUE) || (tcb_ptr == TX_NULL)) in CreateISR()
631 tcb_ptr->osek_task_id = OSEK_ISR_ID; in CreateISR()
634 tcb_ptr->name = name; in CreateISR()
636 tcb_ptr->task_type = category; in CreateISR()
642 tcb_ptr->org_prio = OSEK_ISR1_PRIORITY; in CreateISR()
646 tcb_ptr->org_prio = OSEK_ISR2_PRIORITY; in CreateISR()
649 tcb_ptr->cur_threshold = tcb_ptr->org_prio; in CreateISR()
652 tcb_ptr->task_entry = entry_function; in CreateISR()
656 tcb_ptr->max_active = 1u; in CreateISR()
657 tcb_ptr->current_active = 0u; in CreateISR()
658 tcb_ptr->internal_res = TX_FALSE; in CreateISR()
661 tcb_ptr->policy = NON; in CreateISR()
664 tcb_ptr->task_autostart = FALSE; in CreateISR()
667 tcb_ptr->suspended = TX_TRUE; in CreateISR()
668 tcb_ptr->waiting = TX_FALSE; in CreateISR()
671 status = osek_create_task(tcb_ptr); in CreateISR()
683 return ((ISRType)tcb_ptr); in CreateISR()
742 OSEK_TCB *tcb_ptr; in ActivateTask() local
784 tcb_ptr = (OSEK_TCB *)TaskId; in ActivateTask()
785 if ((tcb_ptr == TX_NULL) || (tcb_ptr->osek_task_id != OSEK_TASK_ID)) in ActivateTask()
794 if(tcb_ptr->current_active >= tcb_ptr->max_active) in ActivateTask()
805 request[1] = (ULONG)tcb_ptr; /* Task to activate. */ in ActivateTask()
900 OSEK_TCB *tcb_ptr; in TerminateTask() local
923 tcb_ptr = osek_thread2tcb(p_thread); in TerminateTask()
924 if (tcb_ptr == TX_NULL) in TerminateTask()
930 if (tcb_ptr->osek_task_id != OSEK_TASK_ID) in TerminateTask()
952 if(tcb_ptr->res_ocp != 0u) in TerminateTask()
963 if (tcb_ptr->internal_res != 0u) in TerminateTask()
967 if (tcb_ptr->internal_resource_occuplied_list[index] == 0u) in TerminateTask()
972 ((OSEK_RESOURCE *)(tcb_ptr->internal_resource_occuplied_list[index]))->taskid = 0u; in TerminateTask()
973 tcb_ptr->internal_resource_occuplied_list[index] = 0u; in TerminateTask()
979 tcb_ptr->waiting_events = 0u; in TerminateTask()
980 tcb_ptr->set_events = 0u; in TerminateTask()
987 request[1] = (ULONG)tcb_ptr; /* ID of the task to kill. */ in TerminateTask()
1076 OSEK_TCB *tcb_ptr; in ChainTask() local
1097 tcb_ptr = osek_thread2tcb(p_thread); in ChainTask()
1098 if (tcb_ptr == TX_NULL) in ChainTask()
1104 if (tcb_ptr->osek_task_id != OSEK_TASK_ID) in ChainTask()
1123 if(tcb_ptr->res_ocp != 0u) in ChainTask()
1146 if (tcb_ptr != tcb_ptr1) in ChainTask()
1161 tcb_ptr->task_to_chain = TaskID; in ChainTask()
1164 if (tcb_ptr->internal_res != 0u) in ChainTask()
1168 if (tcb_ptr->internal_resource_occuplied_list[index] == 0u) in ChainTask()
1173 ((OSEK_RESOURCE *)(tcb_ptr->internal_resource_occuplied_list[index]))->taskid = 0u; in ChainTask()
1174 tcb_ptr->internal_resource_occuplied_list[index] = 0u; in ChainTask()
1180 tcb_ptr->waiting_events = 0u; in ChainTask()
1181 tcb_ptr->set_events = 0u; in ChainTask()
1188 request[1] = (ULONG)tcb_ptr; /* TCB ptr of calling task. */ in ChainTask()
1345 OSEK_TCB *tcb_ptr; in GetTaskState() local
1363 tcb_ptr = (OSEK_TCB *)TaskID; in GetTaskState()
1366 if((tcb_ptr == TX_NULL) || ((tcb_ptr->osek_task_id) != OSEK_TASK_ID)) in GetTaskState()
1386 this_thread = (TX_THREAD *)tcb_ptr; in GetTaskState()
1404 if (tcb_ptr->waiting == TX_TRUE) in GetTaskState()
1411 if (tcb_ptr->suspended == TX_TRUE) in GetTaskState()
1479 OSEK_TCB *tcb_ptr; in Schedule() local
1498 tcb_ptr = osek_thread2tcb(this_thread); in Schedule()
1500 if (tcb_ptr == TX_NULL) in Schedule()
1505 if (tcb_ptr->osek_task_id != OSEK_TASK_ID) in Schedule()
1526 if(tcb_ptr->res_ocp != 0u) in Schedule()
1573 if (tcb_ptr->policy == NON) in Schedule()
1575 pop_task_from_table(tcb_ptr); in Schedule()
1577 tcb_ptr->cur_threshold = OSEK_NON_SCHEDULE_PRIORITY; in Schedule()
1578 push_task_to_table(tcb_ptr); in Schedule()
1791 OSEK_TCB *tcb_ptr; in GetResource() local
1842 tcb_ptr = (OSEK_TCB *) this_thread; in GetResource()
1872 tcb_ptr->res_ocp++; in GetResource()
1875 osek_res->taskid = (TaskType)tcb_ptr; in GetResource()
1877 tcb_ptr->resource_scheduler = TX_TRUE; in GetResource()
1885 if (tcb_ptr->policy == FULL) in GetResource()
1927 if (tcb_ptr-> external_resource_list[index] == id) { in GetResource()
1950 if(tcb_ptr->external_resource_occuplied_list[index] == 0u) in GetResource()
1971 tcb_ptr->external_resource_occuplied_list[index] = id; in GetResource()
1973 osek_res->taskid = (TaskType)(tcb_ptr); in GetResource()
1975 tcb_ptr->res_ocp++; in GetResource()
1981 if ((tcb_ptr->policy == FULL) && (tcb_ptr->cur_threshold < osek_res->c_priority)) in GetResource()
2074 OSEK_TCB *tcb_ptr; in ReleaseResource() local
2121 tcb_ptr = (OSEK_TCB *)this_thread; in ReleaseResource()
2136 if(tcb_ptr->res_ocp == 0u) in ReleaseResource()
2150 if (osek_res->taskid != (TaskType)tcb_ptr) in ReleaseResource()
2168 tcb_ptr->res_ocp--; in ReleaseResource()
2171 tcb_ptr->resource_scheduler = TX_FALSE; in ReleaseResource()
2174 if (tcb_ptr->policy == NON) in ReleaseResource()
2188 new_prio = tcb_ptr->org_prio; in ReleaseResource()
2190 if (tcb_ptr->res_ocp > 0u) in ReleaseResource()
2198 if (tcb_ptr->external_resource_occuplied_list[index] == 0u) in ReleaseResource()
2203 … res_prio = ((OSEK_RESOURCE *) (tcb_ptr->external_resource_occuplied_list[index]))->c_priority; in ReleaseResource()
2213 if (tcb_ptr->internal_resource_occuplied_list[index] == 0u) in ReleaseResource()
2218 … res_prio = ((OSEK_RESOURCE *) (tcb_ptr->internal_resource_occuplied_list[index]))->c_priority; in ReleaseResource()
2268 if ( tcb_ptr->external_resource_occuplied_list[index] == 0u) in ReleaseResource()
2284 if (tcb_ptr->external_resource_occuplied_list[location] != id) in ReleaseResource()
2296 tcb_ptr->external_resource_occuplied_list[location] = 0u; in ReleaseResource()
2299 tcb_ptr->res_ocp--; in ReleaseResource()
2301 if ((tcb_ptr->policy == NON ) || (tcb_ptr->resource_scheduler == TX_TRUE)) in ReleaseResource()
2312 new_prio = tcb_ptr->org_prio; in ReleaseResource()
2314 if (tcb_ptr->res_ocp > 0u) in ReleaseResource()
2323 if ( tcb_ptr->external_resource_occuplied_list[index] == 0u) { in ReleaseResource()
2327 … res_prio = ((OSEK_RESOURCE *) (tcb_ptr->external_resource_occuplied_list[index]) )->c_priority; in ReleaseResource()
2340 if (tcb_ptr->internal_resource_occuplied_list[index] == 0u) in ReleaseResource()
2345 … res_prio = ( (OSEK_RESOURCE *) (tcb_ptr->internal_resource_occuplied_list[index]) )->c_priority; in ReleaseResource()
2438 OSEK_TCB *tcb_ptr; in RegisterTasktoResource() local
2468 tcb_ptr = (OSEK_TCB *)TaskID; in RegisterTasktoResource()
2484 if (tcb_ptr == TX_NULL) in RegisterTasktoResource()
2490 if ((tcb_ptr->osek_task_id != OSEK_TASK_ID) && (tcb_ptr->osek_task_id != OSEK_ISR_ID)) in RegisterTasktoResource()
2506 if (tcb_ptr->external_resource_list[index] == 0u) in RegisterTasktoResource()
2509 tcb_ptr->external_resource_list[index] = Resource; in RegisterTasktoResource()
2512 tcb_ptr->external_resource_occuplied_list[index] = 0u; in RegisterTasktoResource()
2516 if (tcb_ptr->org_prio > resource_ptr->c_priority) in RegisterTasktoResource()
2518 resource_ptr->c_priority = tcb_ptr->org_prio; in RegisterTasktoResource()
2539 tcb_ptr->internal_res = TX_TRUE; in RegisterTasktoResource()
2543 if (tcb_ptr->internal_resource_list[index] == 0u) in RegisterTasktoResource()
2546 tcb_ptr->internal_resource_list[index] = Resource; in RegisterTasktoResource()
2550 if (tcb_ptr->org_prio > resource_ptr->c_priority) in RegisterTasktoResource()
2552 resource_ptr->c_priority = tcb_ptr->org_prio; in RegisterTasktoResource()
2726 OSEK_TCB *tcb_ptr; in SetEvent() local
2747 tcb_ptr = (OSEK_TCB *)task_id; in SetEvent()
2749 if (tcb_ptr->osek_task_id != OSEK_TASK_ID) in SetEvent()
2758 if ((tcb_ptr->events == 0u) || (tcb_ptr->task_type == BASIC)) in SetEvent()
2768 if (tcb_ptr->suspended == TX_TRUE) in SetEvent()
2780 tcb_ptr->set_events = tcb_ptr->set_events | mask; in SetEvent()
2783 balance_events = tcb_ptr->set_events & tcb_ptr->waiting_events; in SetEvent()
2797 if ((tcb_ptr != p_this_tcb) && (tcb_ptr->waiting == TX_TRUE)) in SetEvent()
2799 tcb_ptr->waiting = TX_FALSE; in SetEvent()
2805 request[2] = (ULONG)tcb_ptr; /* id in OSEK_TCB format. */ in SetEvent()
2878 OSEK_TCB *tcb_ptr; in ClearEvent() local
2905 tcb_ptr = (OSEK_TCB *)this_thread; in ClearEvent()
2908 if ((tcb_ptr->events == 0u) || (tcb_ptr->task_type == BASIC)) in ClearEvent()
2919 tcb_ptr->set_events = tcb_ptr->set_events & (~mask); in ClearEvent()
2968 OSEK_TCB *tcb_ptr; in GetEvent() local
2983 tcb_ptr = (OSEK_TCB *)task_id; in GetEvent()
2985 if (tcb_ptr->osek_task_id != OSEK_TASK_ID) in GetEvent()
2994 if ((tcb_ptr->events == 0u) || (tcb_ptr->task_type == BASIC)) in GetEvent()
3004 if (tcb_ptr->suspended == TX_TRUE) in GetEvent()
3015 *event = tcb_ptr->set_events; in GetEvent()
3068 OSEK_TCB *tcb_ptr; in WaitEvent() local
3100 tcb_ptr = (OSEK_TCB *)this_thread; in WaitEvent()
3103 if ((tcb_ptr->events == 0u) || (tcb_ptr->task_type == BASIC)) in WaitEvent()
3112 if(tcb_ptr->res_ocp != 0u) in WaitEvent()
3122 tcb_ptr->waiting_events = mask; in WaitEvent()
3125 if ((tcb_ptr->set_events & tcb_ptr->waiting_events) != 0u) in WaitEvent()
3134 tcb_ptr->waiting = TX_TRUE; in WaitEvent()
3138 if (tcb_ptr->internal_res != 0u) in WaitEvent()
3142 if (tcb_ptr->internal_resource_occuplied_list[index] == 0u) in WaitEvent()
3147 ((OSEK_RESOURCE *)(tcb_ptr->internal_resource_occuplied_list[index]))->taskid = 0u; in WaitEvent()
3148 tcb_ptr->internal_resource_occuplied_list[index] = 0u; in WaitEvent()
3158 request[2] = (ULONG)tcb_ptr; /* Self Id in OSEK_TCB format. */ in WaitEvent()
3230 OSEK_TCB *tcb_ptr; in RegisterEventtoTask() local
3254 tcb_ptr = (OSEK_TCB*)TaskID; in RegisterEventtoTask()
3258 if (tcb_ptr == TX_NULL) in RegisterEventtoTask()
3265 if(tcb_ptr->osek_task_id != OSEK_TASK_ID) in RegisterEventtoTask()
3273 tcb_ptr->events = tcb_ptr->events | eventid; in RegisterEventtoTask()
4031 OSEK_TCB *tcb_ptr; in IncrCounter() local
4247 tcb_ptr = (OSEK_TCB *)(this_alarm->task); in IncrCounter()
4250 if((tcb_ptr == TX_NULL) || ((tcb_ptr->task.tx_thread_id) != TX_THREAD_ID)) in IncrCounter()
4256 if(tcb_ptr->current_active >= tcb_ptr->max_active) in IncrCounter()
4264 request[1] = (ULONG)tcb_ptr; /* task to Activate. */ in IncrCounter()
4290 tcb_ptr = (OSEK_TCB *) (this_alarm->task); in IncrCounter()
4292 if (tcb_ptr->osek_task_id != OSEK_TASK_ID) in IncrCounter()
4298 if ((tcb_ptr->events == 0u) || (tcb_ptr->task_type == BASIC)) in IncrCounter()
4303 if (tcb_ptr->suspended == TX_TRUE) in IncrCounter()
4310 tcb_ptr->set_events = tcb_ptr->set_events | (this_alarm->events); in IncrCounter()
4313 balance_events = tcb_ptr->set_events & tcb_ptr->waiting_events; in IncrCounter()
4319 if (tcb_ptr->waiting == TX_TRUE) in IncrCounter()
4321 tcb_ptr->waiting = TX_FALSE; in IncrCounter()
4327 … request[2] = (ULONG)tcb_ptr; /* Task id for which events are set. */ in IncrCounter()
4534 OSEK_TCB *tcb_ptr; in CreateAlarm() local
4567 tcb_ptr = (OSEK_TCB *)task; in CreateAlarm()
4583 if ((tcb_ptr == TX_NULL) || (tcb_ptr->osek_task_id != OSEK_TASK_ID)) in CreateAlarm()
4591 if (tcb_ptr->tcb_in_use != TX_TRUE) in CreateAlarm()
4610 if ((tcb_ptr == TX_NULL) || (tcb_ptr->osek_task_id != OSEK_TASK_ID)) in CreateAlarm()
4617 if (tcb_ptr->tcb_in_use != TX_TRUE) in CreateAlarm()
4721 this_alarm->task = tcb_ptr; in CreateAlarm()
5728 OSEK_TCB *tcb_ptr; in ActivateISR() local
5733 tcb_ptr = (OSEK_TCB *)ISRID; in ActivateISR()
5736 if((tcb_ptr == TX_NULL) || (tcb_ptr->osek_task_id != OSEK_ISR_ID)) in ActivateISR()
5745 if(tcb_ptr->current_active >= tcb_ptr->max_active) in ActivateISR()
5756 request[1] = (ULONG)tcb_ptr; /* ISR to Activate, */ in ActivateISR()
5834 OSEK_TCB *tcb_ptr; in TerminateISR() local
5853 tcb_ptr = osek_thread2tcb(p_thread); in TerminateISR()
5854 if (tcb_ptr == NULL) in TerminateISR()
5859 if ((tcb_ptr->osek_task_id != OSEK_ISR_ID)) in TerminateISR()
5878 if(tcb_ptr->res_ocp != 0u) in TerminateISR()
5887 if (tcb_ptr->internal_res != 0u) in TerminateISR()
5891 if (tcb_ptr->internal_resource_occuplied_list[index] == 0u) in TerminateISR()
5896 ((OSEK_RESOURCE *)(tcb_ptr->internal_resource_occuplied_list[index]))->taskid = 0u; in TerminateISR()
5897 tcb_ptr->internal_resource_occuplied_list[index] = 0u; in TerminateISR()
5907 request[1] = (ULONG)tcb_ptr; /* ID of the task to kill. */ in TerminateISR()
5989 OSEK_TCB *tcb_ptr; in osek_system_manager_entry() local
6095 tcb_ptr = (OSEK_TCB *)request[1]; in osek_system_manager_entry()
6098 pop_task_from_table( tcb_ptr); in osek_system_manager_entry()
6101 tcb_ptr->cur_threshold = (UINT)request[2]; in osek_system_manager_entry()
6104 push_task_to_table(tcb_ptr); in osek_system_manager_entry()
6120 tcb_ptr = (OSEK_TCB *)request[1]; in osek_system_manager_entry()
6123 pop_task_from_table ( tcb_ptr); in osek_system_manager_entry()
6126 tcb_ptr->cur_threshold = (UINT)request[2]; in osek_system_manager_entry()
6129 push_task_to_table(tcb_ptr); in osek_system_manager_entry()
6147 tcb_ptr = (OSEK_TCB *)request[1u]; in osek_system_manager_entry()
6151 osek_status = release_internal_resource(tcb_ptr); in osek_system_manager_entry()
6775 static StatusType osek_do_task_terminate(OSEK_TCB *tcb_ptr) in osek_do_task_terminate() argument
6784 priority = osek_remap_priority(tcb_ptr->org_prio); in osek_do_task_terminate()
6787 tcb_ptr->cur_threshold = tcb_ptr->org_prio; in osek_do_task_terminate()
6790 thread_ptr = (TX_THREAD *)tcb_ptr; in osek_do_task_terminate()
6821 if (tcb_ptr->current_active != 0u) in osek_do_task_terminate()
6824 tcb_ptr->current_active--; in osek_do_task_terminate()
6828 if (tcb_ptr->current_active == 0u) in osek_do_task_terminate()
6831 tcb_ptr->suspended = TX_TRUE; in osek_do_task_terminate()
6836 tcb_ptr->waiting = TX_FALSE; in osek_do_task_terminate()
6840 (char *)tcb_ptr->name, in osek_do_task_terminate()
6842 (ULONG)tcb_ptr, in osek_do_task_terminate()
6843 tcb_ptr->pStackBase, in osek_do_task_terminate()
6844 tcb_ptr->stack_size, in osek_do_task_terminate()
6854 osek_reset_tcb(tcb_ptr); in osek_do_task_terminate()
6907 static StatusType osek_do_activate_task (OSEK_TCB *tcb_ptr) in osek_do_activate_task() argument
6914 tcb_ptr->current_active++ ; in osek_do_activate_task()
6917 tcb_ptr->suspended = TX_FALSE; in osek_do_activate_task()
6920 add_task_to_table(tcb_ptr); in osek_do_activate_task()
7094 static StatusType osek_create_task(OSEK_TCB * tcb_ptr) in osek_create_task() argument
7107 priority = osek_remap_priority(tcb_ptr->org_prio); in osek_create_task()
7113 retval = tx_thread_create ( &(tcb_ptr->task), in osek_create_task()
7114 (char *)tcb_ptr->name, in osek_create_task()
7116 (ULONG)tcb_ptr, in osek_create_task()
7117 tcb_ptr->pStackBase, in osek_create_task()
7118 tcb_ptr->stack_size, in osek_create_task()
7128 osek_reset_tcb(tcb_ptr); in osek_create_task()
7142 if (tcb_ptr->task_autostart == TRUE) in osek_create_task()
7147 tcb_ptr->suspended = TX_FALSE; in osek_create_task()
7151 tcb_ptr->current_active = 1u; in osek_create_task()
7154 add_task_to_table(tcb_ptr); in osek_create_task()
7209 static ULONG osek_allocate_tcb(ULONG stack_size, OSEK_TCB **tcb_ptr) in osek_allocate_tcb() argument
7244 *tcb_ptr = tcb; in osek_allocate_tcb()
7383 static void osek_reset_tcb(OSEK_TCB *tcb_ptr) in osek_reset_tcb() argument
7393 tcb_ptr->tcb_in_use = TX_FALSE; in osek_reset_tcb()
7396 tcb_ptr->suspended = TX_TRUE; in osek_reset_tcb()
7397 tcb_ptr->waiting = TX_FALSE; in osek_reset_tcb()
7400 tcb_ptr->task_type = BASIC; in osek_reset_tcb()
7403 tcb_ptr->task_autostart = 0u; in osek_reset_tcb()
7406 tcb_ptr->osek_task_id = 0u; in osek_reset_tcb()
7409 tcb_ptr->org_prio = 0u; in osek_reset_tcb()
7412 tcb_ptr->cur_threshold = THREADX_LOWEST_PRIORITY; in osek_reset_tcb()
7415 tcb_ptr->stack_size = 0u; in osek_reset_tcb()
7418 tcb_ptr->task_to_chain = 0u; in osek_reset_tcb()
7421 tcb_ptr->events = 0u; in osek_reset_tcb()
7424 tcb_ptr->task_entry = TX_NULL; in osek_reset_tcb()
7427 tcb_ptr->max_active = 0u; in osek_reset_tcb()
7430 tcb_ptr->current_active = 0u; in osek_reset_tcb()
7435 tcb_ptr->external_resource_list[index] = 0u; in osek_reset_tcb()
7436 tcb_ptr->external_resource_occuplied_list[index] = 0u; in osek_reset_tcb()
7442 tcb_ptr->internal_resource_list[index] = 0u; in osek_reset_tcb()
7443 tcb_ptr->internal_resource_occuplied_list[index] = 0u; in osek_reset_tcb()
7447 tcb_ptr->res_ocp = 0u; in osek_reset_tcb()
7941 OSEK_TCB *tcb_ptr; in osek_task_wrapper() local
7947 tcb_ptr = (OSEK_TCB *)tcb; in osek_task_wrapper() local
7949 if (tcb_ptr->osek_task_id == OSEK_TASK_ID) in osek_task_wrapper()
7954 last_run_task = (ULONG)((TX_THREAD*)tcb_ptr); in osek_task_wrapper()
7957 if (tcb_ptr->policy == NON) in osek_task_wrapper()
7959 …pop_task_from_table(tcb_ptr); /* This routine remove task from table based on its cur_threshold.… in osek_task_wrapper()
7962 tcb_ptr->cur_threshold = OSEK_NON_SCHEDULE_PRIORITY; in osek_task_wrapper()
7965 …push_task_to_table(tcb_ptr); /* This routine pushes a task at the front of a queue based on … in osek_task_wrapper()
7971 if (tcb_ptr->task_type == CATEGORY1) in osek_task_wrapper()
7984 (tcb_ptr->task_entry)(); in osek_task_wrapper() local
7994 if (tcb_ptr->osek_task_id == OSEK_TASK_ID) in osek_task_wrapper()
8333 static void add_task_to_table(OSEK_TCB *tcb_ptr) in add_task_to_table() argument
8342 priority = tcb_ptr-> org_prio; in add_task_to_table()
8353 task_table[priority][i] = (TaskType)tcb_ptr; in add_task_to_table()
8405 static void push_task_to_table(OSEK_TCB *tcb_ptr) in push_task_to_table() argument
8414 priority = tcb_ptr->cur_threshold; in push_task_to_table()
8430 task_table[priority][0u] = (ULONG)tcb_ptr; in push_task_to_table()
8605 static UINT check_task_to_run (OSEK_TCB *tcb_ptr) in check_task_to_run() argument
8612 if (tcb_ptr->osek_task_id != OSEK_TASK_ID) in check_task_to_run()
8630 if (tcb_ptr->internal_res != 0u) in check_task_to_run()
8632 status = get_internal_resource(tcb_ptr); in check_task_to_run()
8642 status = check_external_resource(tcb_ptr); in check_task_to_run()
8651 if (tcb_ptr->policy == NON) in check_task_to_run()
8654 pop_task_from_table(tcb_ptr); in check_task_to_run()
8656 tcb_ptr->cur_threshold = OSEK_NON_SCHEDULE_PRIORITY; in check_task_to_run()
8658 push_task_to_table(tcb_ptr); in check_task_to_run()
8701 static void pop_task_from_table(OSEK_TCB *tcb_ptr) in pop_task_from_table() argument
8712 priority = tcb_ptr-> cur_threshold; in pop_task_from_table()
8840 static StatusType get_internal_resource(OSEK_TCB *tcb_ptr) in get_internal_resource() argument
8853 if (tcb_ptr->internal_resource_list[index] == 0u) in get_internal_resource()
8859 osek_res = (OSEK_RESOURCE *)tcb_ptr->internal_resource_list[index]; in get_internal_resource()
8865 if (osek_res->taskid != (TaskType)tcb_ptr) in get_internal_resource()
8874 tcb_ptr->internal_resource_occuplied_list[index] = tcb_ptr->internal_resource_list[index]; in get_internal_resource()
8877 osek_res->taskid = (TaskType)(tcb_ptr); in get_internal_resource()
8885 pop_task_from_table(tcb_ptr); in get_internal_resource()
8889 if ((tcb_ptr->resource_scheduler != 0u) || (tcb_ptr->policy == NON)) in get_internal_resource()
8891 tcb_ptr->cur_threshold = OSEK_NON_SCHEDULE_PRIORITY; in get_internal_resource()
8896 if (tcb_ptr->internal_resource_occuplied_list[index] == 0u) { in get_internal_resource()
8900 … res_prio = ((OSEK_RESOURCE *) (tcb_ptr->internal_resource_occuplied_list[index]))->c_priority; in get_internal_resource()
8901 if (tcb_ptr->cur_threshold < res_prio ) in get_internal_resource()
8903 tcb_ptr->cur_threshold = res_prio; in get_internal_resource()
8908 push_task_to_table(tcb_ptr); in get_internal_resource()
8959 static StatusType release_internal_resource(OSEK_TCB *tcb_ptr) in release_internal_resource() argument
8970 if (tcb_ptr->internal_resource_occuplied_list[index] == 0u) in release_internal_resource()
8975 ((OSEK_RESOURCE *)(tcb_ptr->internal_resource_occuplied_list[index]))->taskid = 0u; in release_internal_resource()
8977 tcb_ptr->internal_resource_occuplied_list[index] = 0u; in release_internal_resource()
8981 pop_task_from_table(tcb_ptr); in release_internal_resource()
8986 tcb_ptr->cur_threshold = tcb_ptr->org_prio; in release_internal_resource()
8989 push_task_to_table(tcb_ptr); in release_internal_resource()
9051 static StatusType check_external_resource(OSEK_TCB *tcb_ptr) in check_external_resource() argument
9068 if (tcb_ptr->external_resource_list[index] == 0u) in check_external_resource()
9074 osek_res = (OSEK_RESOURCE *)tcb_ptr->external_resource_list[index]; in check_external_resource()
9079 if (osek_res->taskid != (TaskType)tcb_ptr) in check_external_resource()
9094 if (osek_res1->taskid != (TaskType)tcb_ptr) in check_external_resource()