#905 Open

Bitbucket cannot automatically merge this request.

The commits that make up this pull request have been removed.

Bitbucket cannot automatically merge this request due to conflicts.

Review the conflicts on the Overview tab. You can then either decline the request or merge it manually on your local system using the following commands:

hg update 7a3b5fa3f4c6
hg pull -r update-to-550D.110 https://bitbucket.org/daniel_fort/magic-lantern
# Note: This will create a new head!
hg merge update-to-550D.110
hg commit -m 'Merged in daniel_fort/magic-lantern/update-to-550D.110 (pull request #905)'
  1. Daniel Fort

This was started by @qqluqq and verified working by a 550D user. Mostly checked in QEMU.

Comments (6)

  1. Alex

    Usual sanity checks: stubs test, other tests from selftest.mo, Lua api_test etc, available?

    Some may fail (such as the memory benchmark), but that's just the tests being too demanding for the current codebase.

  2. Alex

    Stubs check log (not verified yet):

    STUB                                                    OLD           NEW     DELTA
    current_interrupt                                    0x00000674 -> 0x00000674 [0x000]
    task_dispatch_hook                                   0x00001938 -> 0x00001938 [0x000]
    current_task                                         0x00001a20 -> 0x00001a20 [0x000]
    gui_main_struct                                      0x00001c04 -> 0x00001c04 [0x000]
    sounddev                                             0x00001ed0 -> 0x00001ed0 [0x000]
    dm_names                                             0x00002b74 -> 0x00002b74 [0x000]
    task_max                                             0x00003080 -> 0x00003080 [0x000]
    gui_timer_struct                                     0x00003ac8 -> 0x00003ac8 [0x000]
    mvr_config                                           0x000067bc -> 0x000067bc [0x000]
    additional_version                                   0x00015094 -> 0x00015094 [0x000]
    gui_task_list                                        0x0001e638 -> 0x0001e638 [0x000]
    cf_device                                            0x00026258 -> 0x00026258 [0x000]
    sd_device                                            0x00026284 -> 0x00026284 [0x000]
    LCD_Palette                                          0x0002cdb0 -> 0x0002cdb0 [0x000]
    bmp_vram_info                                        0x0002e5b0 -> 0x0002e5b0 [0x000]
    camera_engine                                        0xc0220000 -> 0xc0220000 [0x000]
    cstart                                               0xff010ff4 -> 0xff010ff4 [0x000] [!!!]
    create_init_task                                     0xff017518 -> 0xff017510 [0x008]
    _malloc                                              0xff018270 -> 0xff018268 [0x008]
    _free                                                0xff0182cc -> 0xff0182c4 [0x008]
    init_task                                            0xff018d1c -> 0xff018d14 [0x008]
    gui_main_task                                        0xff01ff94 -> 0xff01ff8c [0x008]
    GUI_Control                                          0xff020350 -> 0xff020348 [0x008]
    GUI_ChangeMode                                       0xff020450 -> 0xff020448 [0x008]
    gui_init_end                                         0xff020acc -> 0xff020ac4 [0x008]
    SRM_AllocateMemoryResourceFor1stJob                  0xff028590 -> 0xff028588 [0x008]
    SRM_FreeMemoryResourceFor1stJob                      0xff02ad5c -> 0xff02ad54 [0x008]
    StartASIFDMAADC                                      0xff051950 -> 0xff051948 [0x008]
    StartASIFDMADAC                                      0xff051afc -> 0xff051af4 [0x008]
    StopASIFDMADAC                                       0xff051bd0 -> 0xff051bc8 [0x008]
    SetNextASIFADCBuffer                                 0xff052088 -> 0xff052080 [0x008]
    SetNextASIFDACBuffer                                 0xff0521cc -> 0xff0521c4 [0x008]
    sounddev_task                                        0xff05346c -> 0xff053464 [0x008]
    sounddev_active_in                                   0xff0537d4 -> 0xff0537cc [0x008]
    _prop_request_change                                 0xff056e38 -> 0xff056e30 [0x008]
    prop_deliver                                         0xff057418 -> 0xff057410 [0x008]
    prop_register_slave                                  0xff0574a0 -> 0xff057498 [0x008]
    _prop_cleanup                                        0xff0575c0 -> 0xff0575b8 [0x008]
    LoadCalendarFromRTC                                  0xff06366c -> 0xff063664 [0x008]
    _audio_ic_read                                       0xff063aa8 -> 0xff063aa0 [0x008]
    _audio_ic_write                                      0xff063bf4 -> 0xff063bec [0x008]
    SetAudioVolumeOut                                    0xff063ea8 -> 0xff063ea0 [0x008]
    PowerAudioOutput                                     0xff064114 -> 0xff06410c [0x008]
    SetSamplingRate                                      0xff06419c -> 0xff064194 [0x008]
    DryosDebugMsg                                        0xff0673ec -> 0xff0673e4 [0x008]
    dm_set_store_level                                   0xff067748 -> 0xff067740 [0x008]
    call                                                 0xff068178 -> 0xff068170 [0x008]
    SetHPTimerAfterNow                                   0xff068bb8 -> 0xff068bb0 [0x008]
    SetHPTimerNextTick                                   0xff068c38 -> 0xff068c30 [0x008]
    create_named_semaphore                               0xff069d10 -> 0xff069d08 [0x008]
    take_semaphore                                       0xff069e70 -> 0xff069e68 [0x008]
    give_semaphore                                       0xff069f58 -> 0xff069f50 [0x008]
    msleep                                               0xff06a344 -> 0xff06a33c [0x008]
    task_create                                          0xff06a3f8 -> 0xff06a3f0 [0x008]
    GetSizeOfMaxRegion                                   0xff06afc0 -> 0xff06afb8 [0x008]
    GetMemoryInformation                                 0xff06b014 -> 0xff06b00c [0x008]
    _AllocateMemory                                      0xff06b270 -> 0xff06b268 [0x008]
    _FreeMemory                                          0xff06b600 -> 0xff06b5f8 [0x008]
    CreateMemoryChunk                                    0xff06bec8 -> 0xff06bec0 [0x008]
    GetMemoryAddressOfMemoryChunk                        0xff06c434 -> 0xff06c42c [0x008]
    DeleteMemorySuite                                    0xff06c4a8 -> 0xff06c4a0 [0x008]
    CreateMemorySuite                                    0xff06c678 -> 0xff06c670 [0x008]
    AddMemoryChunk                                       0xff06c918 -> 0xff06c910 [0x008]
    GetFirstChunkFromSuite                               0xff06c9ec -> 0xff06c9e4 [0x008]
    GetNextMemoryChunk                                   0xff06d184 -> 0xff06d17c [0x008]
    CreateRecursiveLock                                  0xff06e358 -> 0xff06e350 [0x008]
    AllocateMemoryResource                               0xff06f3d8 -> 0xff06f3d0 [0x008]
    AllocateContinuousMemoryResource                     0xff06f424 -> 0xff06f41c [0x008]
    FreeMemoryResource                                   0xff06f53c -> 0xff06f534 [0x008]
    SetTimerAfter                                        0xff070a60 -> 0xff070a58 [0x008]
    CancelTimer                                          0xff070c60 -> 0xff070c58 [0x008]
    task_trampoline                                      0xff0771bc -> 0xff0771b4 [0x008]
    DispSensorStart                                      0xff07c6a0 -> 0xff07c698 [0x008]
    SetGUIRequestMode                                    0xff092558 -> 0xff092550 [0x008]
    gui_massive_event_loop                               0xff093108 -> 0xff093100 [0x008]
    gui_change_mode                                      0xff094cf4 -> 0xff094cec [0x008]
    gui_local_post                                       0xff0952f0 -> 0xff0952e8 [0x008]
    gui_other_post                                       0xff095728 -> 0xff095720 [0x008]
    mvrSetDefQScale                                      0xff1aa4a0 -> 0xff1aa498 [0x008]
    mvrSetFullHDOptSize                                  0xff1aa4d8 -> 0xff1aa4d0 [0x008]
    mvrSetGopOptSizeFULLHD                               0xff1aa6c8 -> 0xff1aa6c0 [0x008]
    mvrFixQScale                                         0xff1aa9c4 -> 0xff1aa9bc [0x008]
    SetEDmac                                             0xff1bff44 -> 0xff1bff3c [0x008]
    ConnectWriteEDmac                                    0xff1bfffc -> 0xff1bfff4 [0x008]
    ConnectReadEDmac                                     0xff1c00c0 -> 0xff1c00b8 [0x008]
    StartEDmac                                           0xff1c024c -> 0xff1c0244 [0x008]
    AbortEDmac                                           0xff1c0378 -> 0xff1c0370 [0x008]
    RegisterEDmacCompleteCBR                             0xff1c0418 -> 0xff1c0410 [0x008]
    UnregisterEDmacCompleteCBR                           0xff1c042c -> 0xff1c0424 [0x008]
    RegisterEDmacAbortCBR                                0xff1c0440 -> 0xff1c0438 [0x008]
    UnregisterEDmacAbortCBR                              0xff1c0454 -> 0xff1c044c [0x008]
    RegisterEDmacPopCBR                                  0xff1c0468 -> 0xff1c0460 [0x008]
    UnregisterEDmacPopCBR                                0xff1c047c -> 0xff1c0474 [0x008]
    shamem_read                                          0xff1c1150 -> 0xff1c1148 [0x008]
    _EngDrvOut                                           0xff1c1260 -> 0xff1c1258 [0x008]
    _engio_write                                         0xff1c15cc -> 0xff1c15c4 [0x008]
    CreateResLockEntry                                   0xff1c4074 -> 0xff1c406c [0x008]
    UnLockEngineResources                                0xff1c46f8 -> 0xff1c46f0 [0x008]
    LockEngineResources                                  0xff1c4a34 -> 0xff1c4a2c [0x008]
    _FIO_OpenFile                                        0xff1c658c -> 0xff1c6584 [0x008]
    _FIO_CreateFile                                      0xff1c6648 -> 0xff1c6640 [0x008]
    _FIO_RemoveFile                                      0xff1c66f4 -> 0xff1c66ec [0x008]
    _FIO_ReadFile                                        0xff1c679c -> 0xff1c6794 [0x008]
    FIO_SeekSkipFile                                     0xff1c684c -> 0xff1c6844 [0x008]
    _FIO_WriteFile                                       0xff1c693c -> 0xff1c6934 [0x008]
    FIO_CloseFile                                        0xff1c69ec -> 0xff1c69e4 [0x008]
    _FIO_GetFileSize                                     0xff1c6b68 -> 0xff1c6b60 [0x008]
    _FIO_RenameFile                                      0xff1c7060 -> 0xff1c7058 [0x008]
    _FIO_CreateDirectory                                 0xff1c71a0 -> 0xff1c7198 [0x008]
    _FIO_FindFirstEx                                     0xff1c7760 -> 0xff1c7758 [0x008]
    FIO_FindNextEx                                       0xff1c7854 -> 0xff1c784c [0x008]
    FIO_FindClose                                        0xff1c7934 -> 0xff1c792c [0x008]
    msg_queue_create                                     0xff1d2a60 -> 0xff1d2a58 [0x008]
    msg_queue_receive                                    0xff1d2b70 -> 0xff1d2b68 [0x008]
    msg_queue_post                                       0xff1d2d5c -> 0xff1d2d54 [0x008]
    msg_queue_count                                      0xff1d2d9c -> 0xff1d2d94 [0x008]
    AcquireRecursiveLock                                 0xff1d2ea8 -> 0xff1d2ea0 [0x008]
    ReleaseRecursiveLock                                 0xff1d2fbc -> 0xff1d2fb4 [0x008]
    vsnprintf                                            0xff1d6638 -> 0xff1d6630 [0x008]
    _alloc_dma_memory                                    0xff1da26c -> 0xff1da264 [0x008]
    _free_dma_memory                                     0xff1da2a0 -> 0xff1da298 [0x008]
    GUI_SetRollingPitchingLevelStatus                    0xff2045e0 -> 0xff2045d8 [0x008]
    ptp_register_handler                                 0xff250bf0 -> 0xff250be8 [0x008]
    dialog_redraw                                        0xff2b67f4 -> 0xff2b67ec [0x008]
    MirrorDisplay                                        0xff2cfa54 -> 0xff2cfa4c [0x008]
    ReverseDisplay                                       0xff2cfa84 -> 0xff2cfa7c [0x008]
    NormalDisplay                                        0xff2cfab4 -> 0xff2cfaac [0x008]
    is_taskid_valid                                      0xff2e9ab0 -> 0xff2e9aa8 [0x008]
    ErrForCamera_handler                                 0xff2f0cc8 -> 0xff2f0cc0 [0x008]
    HideUnaviFeedBack_maybe                              0xff2fdef8 -> 0xff2fdef0 [0x008]
    LiveViewApp_handler                                  0xff300ba0 -> 0xff300b98 [0x008]
    LiveViewApp_handler_BL_JudgeBottomInfoDispTimerState 0xff3010f4 -> 0xff3010ec [0x008]
    LiveViewApp_handler_end                              0xff30204c -> 0xff302044 [0x008]
    CancelDateTimer                                      0xff3050a4 -> 0xff30509c [0x008]
    PlayMain_handler                                     0xff30c590 -> 0xff30c588 [0x008]
    ShootOlcApp_handler                                  0xff31971c -> 0xff319714 [0x008]
    dialog_set_property_str                              0xff31cdf8 -> 0xff31cdf0 [0x008]
    fsuDecodePartitionTable                              0xff386714 -> 0xff386714 [0x000] [!!!]
    PlayMovieGuideApp_handler                            0xff3c0638 -> 0xff3c0638 [0x000] [!!!]
    ErrCardForLVApp_handler                              0xff3c5150 -> 0xff3c5150 [0x000] [!!!]
    GetCFnData                                           0xff42e15c -> 0xff42e15c [0x000] [!!!]
    SetCFnData                                           0xff42e364 -> 0xff42e364 [0x000] [!!!]
    bzero32                                              0xff44f8f4 -> 0xff44f8f4 [0x000] [!!!]
    lv_path_struct                                       0xff4b39ac -> 0xff4b39ac [0x000] [!!!]
    audio_thresholds                                     0xff4c466c -> 0xff4c466c [0x000] [!!!]
  3. Daniel Fort author

    I'm doing all this in QEMU. Tried running some of the selftests but I got stuck when it asked to switch to movie mode. Most tests passed and the ones that failed might be QEMU issues. Best to run the tests in camera -- took a long time just to get a 550D user to verify that it works.

  4. Daniel Fort author

    Regression test turned up the same expected test failures so whatever the problem, it wasn't introduced by this PR.