Fandom

Magic Lantern Firmware Wiki

2.0.4 Tasks

328pages on
this wiki
Add New Page
Talk0 Share


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


bitmask

R3=


Sub_name()

Stack0=


Task_struct

Comment

AJ_massive_kernel_init()


at 0xFF81326C

"TaskMain" 29 0

AJ_Firmware_2_0_4_

Akashi_Morino()

0 Calls AJ_NewTaskShell()

TH_startupEntry()


at 0xFF813684

"Startup" 17 1024 TH_startupPropAdminMain() 0

AJ_hotplug_taskmaster()


at 0xFF81E1B0

"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()


at 0xFF82B3D0

"Startup"

"Terminate"

"Terminate"

"Terminate"

25

21

21

17

0x2800

0x1000

0x1000

0x1000

AJ_SEQ_

seqEventDispatch()

Malloced


task_struct

Called in 4 different places. The startup sequence cycles through:

TH_startupEntry()
AJ_startupPrepareProperty()
AJ_startupPrepareCapture()
AJ_startupPrepareDevelop_n_SDS_initialise()
AJ_startupPreparePlayback()
AJ_startupInitializeComplete()

AJ_InitializeDisplayDeviceController()


at 0xFF86761C

"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_FM_Initialize()

AJ_task_create_PowerMgr()

at 0xFF9B59A0

"PowerMgr"

32


low priority?

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


http://magiclantern.wikia.com/wiki/2.0.4_EventDispatch

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


http://magiclantern.wikia.com/wiki/2.0.4_Tasks_UserLevel

AJ_CUCreateTask ()

at 0xFF9BA6A8

"CpuUsageTask"

1


high priority

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


bitmask

R3=


Sub_name()

Stack0=


Task_struct

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()


at 0xFF85B294

"SoundDevice" 25 0 TH_sounddev_task() 0

AJ_PTPSession_actions()


at 0xFF913DCC

"PTPSessionTASK" 25 0 AJ_PTPSession_task() task_struct

AJ_USBTrns()


at 0xFF91530C

"USBTrns" 25 0 AJ_USBTrns_task() 0

AJ_SDIOTrns()


at 0xFF91FFA4

"SDIOTrns" 25 0 AJ_SDIOTrns_task() 0

AJ_MOVR_InitializeMovReader()


at 0xFF95BB9C

"MovRead" 23 0x1000 AJ_MovieReader_task() 0

AJ_InitializeAviReader()


at 0xFF95F2B0

"AviRead" 23 0x1000 AJ_AviReader_task() 0

AJ_InitializeImagePlayDriver()


at 0xFF98A930

"ImgPlayDrv" 24 0 AJ_ImagePlayDriver_task() 0

AJ_CtrlSrv()


at 0xFF99FDF8

"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

.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki