- 0 Talk
-
2.0.4 Tasks
Parent:http://magiclantern.wikia.com/wiki/2.0.4_AJ
Related Page: StateObjects, EventDispatchTasks
AJ_task_create()
Edit
+----------------------------------+ | AJ_task_create() at 0xFF86E2C8 | +----------------------------------+ int R0 = Name of task [eg "LiveViewMgr"] int R1 = Priority [eg 17. 0..31 allowed] int R2 = Unknown [eg 5120] int R3 = Routine name [eg AJ_task_create_2_related()] Stack0 = & task_struct
List of all tasks created
|
Sub where AJ_task_create() was called from |
R0= Name_of_task |
R1= Priority |
R2= unknown
|
R3=
|
Stack0=
| Comment |
|---|---|---|---|---|---|---|
|
AJ_massive_kernel_init()
| "TaskMain" | 29 | 0 |
AJ_Firmware_2_0_4_ Akashi_Morino() | 0 | Calls AJ_NewTaskShell() |
|
TH_startupEntry()
| "Startup" | 17 | 1024 | TH_startupPropAdminMain() | 0 | |
|
AJ_hotplug_taskmaster()
| "HotPlug" | 30 | 0 | TH_hotplug_task() | 0 | |
|
AJ_DL_PrepareDL() at 0xFF821608 | "DL" | 17 | 1024 | AJ_DL_dlMain() | 0 | |
|
AJ_MainMessQueue_ n_MainControlTask_ n_hotplugInit_n_MPU_ n_AJ_MainCtrl() at 0xFF822278 | "MainCtrl" | 18 | 0 | AJ_MainCtrl() | 0 | |
|
AJ_GUI_Initialize_ClassID() at 0xFF823D0C | "GuiMainTask" | 23 | 8192 | AJ_gui_main_task() | 0 | |
|
AJ_GUI_Lock_InitializeGUILock_ CreateMessageQueue_ n_CreateTask() at 0xFF824AEC | "GuiLockTask" | 23 | 0 |
AJ_GuiLock_n_ TurnOffDisplay() | 0 | |
|
AJ_CreateSequencer()
|
"Startup" "Terminate" "Terminate" "Terminate" |
25 21 21 17 |
0x2800 0x1000 0x1000 0x1000 |
AJ_SEQ_ seqEventDispatch() |
Malloced
|
Called in 4 different places. The startup sequence cycles through: TH_startupEntry() |
|
AJ_InitializeDisplayDeviceController()
| "LightMeasure" | 30 | 0x200 | AJ_LightMeasure_task() | 0 | |
|
AJ_Createtask_HDMI_ ReadMessageQueue() at 0xFF868498 | "HDMI" | 23 | 0 |
AJ_HDMI_ ReceiveMessageQueue() | 0 | |
|
AJ_Createtask_n_ CALL_SubMainReset() at 0xFF87228C | See additional table below | See additional table below | See additional table below | |||
|
AJ_NewTaskShell() at 0xFF875670 | "EvShel" | 24 | 0x8000 | AJ_EventShell_task() | 0 | |
|
Orphan_sub_create_task() at 0xFF876288 | cant work out until Orphan call located | 29 | 0 |
AJ_OrphanMsgQueue Receive_task() | task_struct | |
|
AJ_LpfMode() at 0xFF88DD18 | "LpfMode" | 29 | 0 |
AJ_SetReleaseMode ForSR_task() | 0 | |
|
a AJ_SendReqestQue() at 0xFF8CC270 | "DpsReceiveTask" | 25 | 0x1000 | AJ_DpsReceiveTask() | 0 | |
|
AJ_fmLaunchCopyFile() at 0xFF956190 | "FmCopy" | 25 | 0 | AJ_fmCopyEventDispatch() |
aAJ_0x1ED8_ FM_struct_0x00_ task_struct_ptr |
Priority set in
|
|
AJ_task_create_PowerMgr() at 0xFF9B59A0 | "PowerMgr" |
32
| 0x400 | AJ_pmSelfRefresh_task() | 0 | |
|
AJ_createTask_CmdShell() at 0xFF9B8A30 | "CmdShell" | 10 | 0 | AJ_CmdShell_task() | 0 | |
|
AJ_Setup_EventDispatch() at 0xFF9B8BB8 | Check this page for complete list |
Tasks for event dispatch are on | ||||
|
TH_task_create_UserLevel() at 0xFF9B955C | =R0 | 17 | =R2 | AJ_UserLevel_task() |
Malloced 24 byte task_struct |
UserLevel Tasks are listed on the following page |
|
AJ_CUCreateTask () at 0xFF9BA6A8 | "CpuUsageTask" |
1
| 0 | AJ_CPU.Usage_task() | 0 | |
|
AJ_DDD_CreateTaskClass() at 0xFFA55674 | "DDDMgr" | 28 | 0x400 | AJ_DDDMgr_task() | task_struct | |
|
AJ_CSMGR_Initialize() at 0xFFB2A580 | "CSMgrTask" | 30 | 0x1000 |
AJ_CSMgrTask_ ReceiveMessageQueue() | 0 | Card Service Manager |
|
AJ_create_WDTResetCounterTask() at 0xFFB3C634 | "WDTResetCounterTask" | 25 | 0 | AJ_WDTResetCounter_task() | 0 |
AJ_task_create_n_CALL_SubReset.MainReset()
Edit
+-----------------------------------------------------------+ | AJ_task_create_n_CALL_SubReset.MainReset() at 0xFF87228C | +-----------------------------------------------------------+ int R0 = task_name [eg "LowConsole" int R1 = priority [eg 17. 0..31] int R2 = bit_mask [eg 0x800] int R3 = task_entry [eg AJ_LVC_FACE_task()] STACK0 = task_struct
This routine calls AJ_task_create() above, then additional perfoms a CALL Subset and CALL Reset
|
Sub where AJ_task_create_n_ CALL_SubReset.MainReset() was called from |
R0= Name_of_task |
R1= Priority |
R2= unknown
|
R3=
|
Stack0=
| Comment |
|---|---|---|---|---|---|---|
|
AJ_LowConsole_ConsoleSvr_ BinarySemaphore_Alloc() at 0xFF815654 |
"LowConsole" | 25 | 0x800 |
AJ_LowConsole_task() | 0 | |
|
AJ_LowConsole_ConsoleSvr_ BinarySemaphore_Alloc() at 0xFF815654 |
"ConsoleSvr" | 24 | 0x800 |
AJ_ConsoleSvr_task() | 0 | |
|
AJ_LVC_FACE_n_DmacCB_struct() at 0xFF839F18 |
[Duplicate] "LVC_FACE" | 23 | 0x800 |
[Duplicate] AJ_LVC_FACE_task() | 0 | |
|
AJ_Createtask_LVC_FACE() at 0xFF839FA0 |
[Duplicate] "LVC_FACE" | 23 | 0x800 |
[Duplicate] AJ_LVC_FACE_task() | 0 | |
|
AJ_MVP_Initialize() at 0xFF84D998 | "MoviePlay" | 22 | 0x1000 | AJ_MoviePlayer_task() | 0 | |
|
TH_asif_initialize() at 0xFF857F90 | "ASIF" | 23 | 0 | AJ_asif_task() | 0 | |
|
AJ_InitializeSoundDevice()
| "SoundDevice" | 25 | 0 | TH_sounddev_task() | 0 | |
|
AJ_PTPSession_actions()
| "PTPSessionTASK" | 25 | 0 | AJ_PTPSession_task() | task_struct | |
|
AJ_USBTrns()
| "USBTrns" | 25 | 0 | AJ_USBTrns_task() | 0 | |
|
AJ_SDIOTrns()
| "SDIOTrns" | 25 | 0 | AJ_SDIOTrns_task() | 0 | |
|
AJ_MOVR_InitializeMovReader()
| "MovRead" | 23 | 0x1000 | AJ_MovieReader_task() | 0 | |
|
AJ_InitializeAviReader()
| "AviRead" | 23 | 0x1000 | AJ_AviReader_task() | 0 | |
|
AJ_InitializeImagePlayDriver()
| "ImgPlayDrv" | 24 | 0 | AJ_ImagePlayDriver_task() | 0 | |
|
AJ_CtrlSrv()
| "CtrlSrv" |
23 educated guess | 0x4000 | AJ_CtrlSrv_task() | 0 | |
|
AJ_PTPtoFAPI_ StartupPTPtoFAPI() at 0xFF9F2FB4 | "PTPtoFAPI_EventProcTask" | 25 | 0 |
AJ_PTPtoFAPI_ EventProcTask() | 0 | |
|
AJ_ORPHAN_ CreateMessageQueue_ FsIoNotifyQueue() at 0xFFB313B0 | "FsIoNotifyTask" | 23 | 0 | AJ_FsIoNotify_task() | 0 |
.