Parent:http://magiclantern.wikia.com/wiki/2.0.4_AJ
Related Page: StateObjects, EventDispatchTasks
AJ_task_create()[]
+----------------------------------+ | 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()[]
+-----------------------------------------------------------+ | 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 |
.