Started 4 yr 11 mo ago
Took 7 min 58 sec

Success Build #16 (Sep 11, 2017 8:08:35 PM)

Build Artifacts
magiclantern-startup-log.2017Sep11.500D111.zip1.80 MB view
magiclantern-startup-log.2017Sep11.5D2212.zip1.81 MB view
magiclantern-startup-log.2017Sep11.5D3113.zip1.81 MB view
magiclantern-startup-log.2017Sep11.5D3123.zip1.81 MB view
magiclantern-startup-log.2017Sep11.60D111.zip1.81 MB view
magiclantern-startup-log.2017Sep11.6D116.zip1.81 MB view
magiclantern-startup-log.2017Sep11.700D114.zip1.80 MB view
magiclantern-startup-log.2017Sep11.7D203.zip1.81 MB view
magiclantern-startup-log.2017Sep11.EOSM202.zip1.79 MB view
  1. Merged patchmgr into dm-spy-experiments (detail / bitbucket)
  2. debug.c: module_shutdown call consistent with crop_rec_4k
    (should fix some merge conflicts) (detail / bitbucket)
  3. debug.c: removed old TwoInTwoOutLosslessPath experiment
    (should fix some merge conflicts) (detail / bitbucket)
  4. Fix bad merge (63d4b33) (detail / bitbucket)
  5. reloc: allow up to 16 fixups; fix stop condition (detail / bitbucket)
  6. reloc: handle PC-relative add (ADR)
    (also updated sign handling in LDR, for consistency) (detail / bitbucket)
  7. patchmgr: fix bad merge in reloc.c (52b733594b2e) (detail / bitbucket)
  8. Patch manager: ensure valid menu name for all entries (detail / bitbucket)
  9. dm-spy: use lightweight routines for interrupts; include the hardware timer in logs (detail / bitbucket)
  10. dm-spy: option to diagnose cache conflicts in QEMU (detail / bitbucket)
  11. boot-hack: enabled debug message logging very early in the boot process (experimental, requires classic boot process) (detail / bitbucket)
  12. dm-spy: lightweight mmio_log (without snprintf) that should be usable very early in the boot process
    (test hooks: UART registers on 5D3 1.2.3) (detail / bitbucket)
  13. Merged qemu into dm-spy-experiments (detail / bitbucket)
  14. dm-spy-extra: fix stack overflow in init_task and other tiny tasks (detail / bitbucket)
  15. QEMU: require verbose (e.g. -d io,int,verbose) to show DryOS timer interrupts and DIGIC timer (detail / bitbucket)
  16. QEMU: incomplete 5D3 1.2.3 GUI (boots with black screen, no menus) (detail / bitbucket)
  17. QEMU logging: option to identify tail function calls (heuristic) (detail / bitbucket)
  18. QEMU tests: trimming should work now (detail / bitbucket)
  19. Fix bad merge (detail / bitbucket)
  20. QEMU tests: trimming must be done on useful lines, not on raw input lines
    (otherwise the test will be sensitive to any additional info in the raw log) (detail / bitbucket)
  21. QEMU tests: call/return trace tests first
    (they are more likely to fail or require frequent updates) (detail / bitbucket)
  22. QEMU tests: include interrupts in main firmware call/return test
    (this allows counting related stats from the filtered log - smaller) (detail / bitbucket)
  23. QEMU tests: use ansi2txt only once in the main firmware call/return test (speed optimization) (detail / bitbucket)
  24. QEMU tests: IDC needs trimming as well in order to get deterministic results (detail / bitbucket)
  25. QEMU tests: trim calls-main-basic.idc until matching the "needle" md5
    (hopefully this trick will get repeatable results on faster PCs) (detail / bitbucket)
  26. QEMU tests: 5D2 IDC test not deterministic (functions are the same, but comments are not) (detail / bitbucket)
  27. QEMU: do not use non-printable task names
    (VxWorks: current_task is set before it has a valid name) (detail / bitbucket)
  28. QEMU: backout parts of 8e29c15
    large timeout didn't solve the repeatability issue - results are still sensitive to processing speed
    some models keep running in a loop, and after 10-20 seconds, they "discover" a new function and so on (detail / bitbucket)
  29. Merged patchmgr into dm-spy-experiments (detail / bitbucket)
  30. patch.c: fix warning (detail / bitbucket)
  31. Merged unified into patchmgr (detail / bitbucket)
  32. Merged in edmac (pull request #811)

    EDMAC module + fixes (detail / bitbucket)
  33. edmac-memcpy: fix compilation (detail / bitbucket)
  34. Merged unified into edmac (detail / bitbucket)
  35. QEMU tests: let's try a larger timeout; minor fine-tunings (detail / bitbucket)
  36. QEMU tests: found a way to get deterministic execution (icount option)
    - reworked the call/return trace tests to also run on main firmware (with -icount)
    - fixme: CF models do not have deterministic execution, even with -icount
    - fromutility tests also enabled on CF models (IDC only)
    - "first interrupt" test replaced with full call/return trace on main firmware
    - removed "sorted IDC" tests (the regular IDC + call/return trace tests are much stronger) (detail / bitbucket)
  37. script to wait for a string to appear in a log file, with timeout since last update of the log file (detail / bitbucket)
  38. minor fixes (detail / bitbucket)
  39. Merged in backtrace (pull request #849)

    Stack trace (aka backtrace) in crash logs (detail / bitbucket)
  40. Close branch backtrace (detail / bitbucket)
  41. Moved my_fprintf to fio-ml.c (fixes compilation of minimal/qemu-frsp) (detail / bitbucket)
  42. QEMU logging: always name DebugMsg, even if no symbols are loaded (detail / bitbucket)
  43. QEMU logging: fix loading symbol names on Thumb code (detail / bitbucket)
  44. QEMU: fix off by one error when loading ML stub names (detail / bitbucket)
  45. boot-hack: check whether we can reach anything in the ROM with relative jumps (detail / bitbucket)
  46. boot-hack: self-check for ARMLIB_OVERFLOWING_BUFFER (detail / bitbucket)
  47. selftest: fix incorrect strings (AllocateMemory != system memory) (detail / bitbucket)
  48. boot-hack: fix wrong comments (AllocateMemory != system memory) (detail / bitbucket)
  49. Merged backtrace into qemu (detail / bitbucket)
  50. Makefile: minor fine-tuning; updated comments (detail / bitbucket)
  51. GDB scripts: comment out DebugMsg (prefer -d debugmsg instead) (detail / bitbucket)
  52. identify DebugMsg from GDB script if not set
    (moved from
    also print command-line after clearing the screen (detail / bitbucket)
  53. QEMU: GDB scripts for 50D and 6D (detail / bitbucket)
  54. Makefile: fix compiling backtrace on fresh clone (detail / bitbucket)
  55. selftest: fine-tuned comments and strings (detail / bitbucket)
  56. selftest: re-enabled fault emulations
    (some of them are useful for testing the stack trace, as they will trigger ERR70) (detail / bitbucket)
  57. backtrace: sync with qemu (e4376a1) (detail / bitbucket)
  58. backtrace: moved sources to src/ to avoid symlinking (cross-platform issues)
    and let the install script figure it out (detail / bitbucket)
  59. Merged backtrace into qemu (detail / bitbucket)
  60. Merged unified into qemu (detail / bitbucket)
  61. Makefile: workaround to unbreak the builds
    (how to fix it properly?) (detail / bitbucket)
  62. Makefile: mark $(QEMU_INSTALLED_DBI_DIR)/backtrace.% as optional dependency
    todo: any way to do the same without .SECONDEXPANSION ? (detail / bitbucket)
  63. Makefile: moved backtrace.o at the top to fix first-time compilation
    this makes sure backtrace.h is created before any other files that may use it (currently boot-hack.c)
    also remove the symlinks on "make clean" (detail / bitbucket)
  64. backtrace: sync with qemu (3db5423, fbb532b, ab6d33c, 115fe25) (detail / bitbucket)
  65. backtrace: brute force stack scanning as backup strategy (idea from g3gg0: gdb.c, gdb_get_callstack) (detail / bitbucket)
  66. backtrace: fix BKT_RANDOM_BRANCHES experiment (detail / bitbucket)
  67. backtrace: BX LR is never encountered during tests (detail / bitbucket)
  68. backtrace: fix stack overflow (detail / bitbucket)
  69. Stack traces for crash and assert logs, using the backtrace backend (detail / bitbucket)
  70. Updated backtrace.c to work on the camera as well
    (same source file for both QEMU and ML) (detail / bitbucket)
  71. arm-mcr.h: fixed read_lr (not sure what the problem was) and added read_sp (detail / bitbucket)
  72. Imported backtrace code from 29f6edc (detail / bitbucket)
  73. run_ml_all_cams: fix missing quote (detail / bitbucket)
  74. QEMU logging: backtrace test script (detail / bitbucket)
  75. run_ml_all_cams: prefer single quotes instead of \$ for options (detail / bitbucket)
  76. run_ml_all_cams: allow full customization of log file name (detail / bitbucket)
  77. Stack traces for crash and assert logs, using the backtrace backend (detail / bitbucket)
  78. Updated backtrace.c to work on the camera as well
    (same source file for both QEMU and ML) (detail / bitbucket)
  79. arm-mcr.h: fixed read_lr (not sure what the problem was) and added read_sp (detail / bitbucket)
  80. QEMU logging: experimental stack trace routine (backtrace) that does not require prior instrumentation
    it attempts to walk the stack, emulating instructions that change LR, SP, function returns and tail calls
    some more experiments and self-tests are available as compile-time options
    this method can be adapted to run on the camera as well (detail / bitbucket)
  81. run_ml_all_cams: fix copying zip to SD/CF image (detail / bitbucket)
  82. QEMU logging: fix assertion when printing callstack from interrupts on Thumb code (detail / bitbucket)
  83. QEMU logging: save/restore callstack exec state for each DryOS task when handling interrupts
    This fixes calls/returns that were missed if an interrupt happened exactly before the jump
    (non-deterministic issue; was fairly rare and not obvious) (detail / bitbucket)
  84. QEMU logging: indent now public (eos_indent); larger buffer (detail / bitbucket)
  85. QEMU logging: CALL_LOCATION for eos_callstack_get_caller_param; fix CALL_DEPTH (detail / bitbucket)
  86. QEMU logging: overriding LR no longer needed in call_stack_push (detail / bitbucket)
  87. run_ml_all_cams: fix copying zip to SD/CF image (detail / bitbucket)
  88. QEMU logging: do not report jumps from tight loops
    otherwise, some loops would print a huge amount of jumps (unnecessary)
    these would slow down certain tests a lot, e.g. 5D3 callstack on fromutility (detail / bitbucket)
  89. QEMU logging: record direct jumps to function calls (many such calls in DIGIC 6) (detail / bitbucket)
  90. QEMU logging: log task switches before other items
    otherwise, consistency errors may appear - see
    minor differences in VxWorks tests (detail / bitbucket)
  91. QEMU: ignore CBZ (on Thumb-2 code) (detail / bitbucket)
  92. run_ml_all_cams: use multi-line QEMU_SCRIPT's (nicer formatting) (detail / bitbucket)
  93. run_ml_all_cams: fix BOOT=0 (detail / bitbucket)
  94. run_ml_all_cams: fix ML_PLATFORMS when not specified (detail / bitbucket)
  95. QEMU: 650D GUI (detail / bitbucket)
  96. QEMU: 650D GUI (including tests) (detail / bitbucket)
  97. QEMU: 1300D updates
    - SD interrupts (DCIM test passed)
    - HDMI status (minor)
    - GDB script updated for latest firmware
    - patch JPCORE (fixes assert) (detail / bitbucket)
  98. QEMU tests: removed MENU_CAMS (all GUI_CAMS are now able to browse Canon menu) (detail / bitbucket)
  99. QEMU: 70D menu tests (format test not working) (detail / bitbucket)
  100. QEMU tests: only print ROMCPY messages before the first interrupt (detail / bitbucket)
  101. QEMU: options for to compile and run a given set of ML platforms, from any HG changeset (detail / bitbucket)
  102. QEMU: updated as discussed on EOS M2 thread (detail / bitbucket)
  103. QEMU: flush after qprintn, so the output will appear right away (detail / bitbucket)
  104. QEMU logging: handle %c with -debugmsg (detail / bitbucket)
  105. QEMU logging: minor fixes for -d autoexec (detail / bitbucket)
  106. QEMU: updated 5D4 GDB script and tests for 1.0.4 (detail / bitbucket)
  107. QEMU logging: workaround to handle some missing return from interrupts
    (updated 600D and 1100D unique function tests - they differ by one function) (detail / bitbucket)
  108. QEMU: EOS M2 tests + patches.gdb (detail / bitbucket)
  109. QEMU: OOB fix from (detail / bitbucket)
  110. Ghost image: fixed issue #2749 (detail / bitbucket)
  111. Merged in daniel_fort/magic-lantern/qemu-EOSM2-wip_1 (pull request #835)

    QEMU EOSM2 preliminary setup. (detail / bitbucket)
  112. Updates to debugmsg.gdb (detail / bitbucket)
  113. Found correct values by checking against 1.0.2 firmware. (detail / bitbucket)
  114. I’m pretty sure “set *(int*)0xFF356DE8 = 0xe12fff1e” is wrong but everything else should be good. (detail / bitbucket)
  115. Added EOSM2 to mph.c (detail / bitbucket)
  116. Updated EOSM2 debugmsg.gdb file. (detail / bitbucket)
  117. Added EOSM2.h file, copied from 100D. (detail / bitbucket)
  118. Copied button codes from 100D to EOSM2. (detail / bitbucket)
  119. Added EOSM2 in supported cameras list. (detail / bitbucket)
  120. Added mpu registers to EOSM2 in model_list.c (detail / bitbucket)
  121. Merged qemu into qemu-EOSM2-wip-1 (detail / bitbucket)
  122. Merged latest qemu commits (detail / bitbucket)
  123. Merged in qemu commits (detail / bitbucket)
  124. Added items from ML on EOS-M2 forum post: (detail / bitbucket)
  125. EOSM2 preliminary setup. (detail / bitbucket)
  126. Merged in daniel_fort/magic-lantern/ (pull request #844) update (detail / bitbucket)
  127. Added suggestion by @a1ex to guess the ROM[0,1] load address. (detail / bitbucket)
  128. Changed "base" to the address used when dumping the ROM (detail / bitbucket)
  129. Merged in daniel_fort/magic-lantern/unified-multiple-FW_VERSION-minimal-ML (pull request #846)

    Multiple firmware versions for minimal ML (detail / bitbucket)
  130. Makefile.platform.base error trap for multiple firmware versions (detail / bitbucket)
  131. dual_iso: change cr2hdr to use the same wrapper for module_strings like mlv_dump, also fixes compile error caused by a module.h change from static to global
    (module_strings_wrapper.h from 0c1c8b3) (detail / bitbucket)
  132. Modules: allow including module.h in multiple source files
    (b0574dd) (detail / bitbucket)
  133. Undo 4126b56 (to allow merging with crop_rec_4k) (detail / bitbucket)
  134. Update to latest exiftool (detail / bitbucket)
  135. mlv_rec: reduce chunk count to keep room for other files to create (and circumvent mlv_play failing playback) (detail / bitbucket)
  136. mlv_rec: insert alignment NULL block before writers start to write aligned sizes (detail / bitbucket)
  137. mlv_rec: ensure 32 bit alignment for VERS block sizes. just because. (detail / bitbucket)
  138. Merged in daniel_fort/magic-lantern/700D_AE_fix (pull request #842)

    Fixed 700D AE constants (for

    Approved-by: Daniel Fort <> (detail / bitbucket)
  139. Fixed AE constants (detail / bitbucket)
  140. fio-ml: workaround for existing code using FIO_ReadFile incorrectly (such as mlv_play)
    selftest included (detail / bitbucket)
  141. Merged in cache-fixes (pull request #838)

    Cache coherence fixes (clean_d_cache, FIO, EDMAC)

    Approved-by: Alex <>
    Approved-by: g3gg0 <> (detail / bitbucket)
  142. Close branch cache-fixes (detail / bitbucket)
  143. fio-ml: updated comment on FIO_WriteFile (detail / bitbucket)
  144. selftest: check whether cache cleaning causes any performance regressions
    (result: no significant difference on file I/O) (detail / bitbucket)
  145. Merged in daniel_fort/magic-lantern/qemu-build-tweaks-2 (pull request #836)

    Qemu build tweaks 2

    Approved-by: Daniel Fort <> (detail / bitbucket)
  146. -s option not needed with uname. (detail / bitbucket)
  147. Check for mounted EOS_DIGITAL disk image handled differently on OS X. (detail / bitbucket)
  148. Merged qemu into qemu-build-tweaks-2 (detail / bitbucket)
  149. Merged qemu into qemu to prevent multiple heads. (detail / bitbucket)
  150. Changed shebang for portability. Missed these two scripts in my last pull request. (detail / bitbucket)
  151. OS X doesn’t require root permissions to mount disk image. (detail / bitbucket)
  152. Use hdiutil on OS X systems. (detail / bitbucket)
  153. Merged in daniel_fort/magic-lantern/qemu-build-tweaks-1 (pull request #834) (detail / bitbucket)
  154. Merged in daniel_fort/magic-lantern/EOSM_stubs_tweaks (pull request #839)
    Display filters working (anamorphic preview, fisheye correction, raw video preview and others)

    EOSM stubs tweaks

    Approved-by: Alex <> (detail / bitbucket)
  155. Corrected YUV422_LV_BUFFER_DISPLAY_ADDR value and enabled display filters: (detail / bitbucket)
  156. Updated post_isr_hook/pre_isr_hook stubs (detail / bitbucket)
  157. Changed for consistency of stubs across all models. (detail / bitbucket)
  158. my_fprintf: fix warning (detail / bitbucket)
  159. fine-tuned transfer size info (detail / bitbucket)
  160. selftest: AbortEDmac test (detail / bitbucket)
  161. selftest: edmac_memcpy test (detail / bitbucket)
  162. transfer size test (detail / bitbucket)
  163. edmac-memcpy: use and decode transfer size from flags (to be tested) (detail / bitbucket)
  164. edmac_test: proper memory allocation (detail / bitbucket)
  165. edmac-memcpy: updated edmac_find_divider for latest hypothesis (detail / bitbucket)
  166. edmac_memcpy: looks like we can use widths that are not modulo 8 bytes (detail / bitbucket)
  167. edmac-memcpy: refactored edmac_memcpy to avoid duplicate code (detail / bitbucket)
  168. AbortEDmac stub for 500D, 550D, 5D2, 50D, 7D (not tested) (detail / bitbucket)
  169. edmac-memcpy: use cache handling similar to FIO;
    updated selftest and bench modules for the new restriction (detail / bitbucket)
  170. selftest: make sure the FIO cache coherence test fails without the FIO_WriteFile wrapper (detail / bitbucket)
  171. selftest: test for FIO_WriteFile with cacheable buffer
    if you comment out clean_d_cache() from the FIO_WriteFile wrapper, this test will fail (detail / bitbucket)
  172. selftest: save log after each sub-test
    (so one can interrupt the test suite and still see the log for the tests completed so far) (detail / bitbucket)
  173. selftest: fine-tuned DMA cacheable buffer test (detail / bitbucket)
  174. fio-ml: FIO_ReadFile wrapper to warn about caching issues
    not sure how to handle it automatically - clean_d_cache before is not enough
    adding another clean_d_cache afterwards appears to fix it, but it's risky
    sed -i.bak '/ FIO_ReadFile/_FIO_ReadFile/' */stubs.S (detail / bitbucket)
  175. Refactored without fio_malloc in a few places
    (todo: find a way to reproduce caching issues on file I/O and add it to (detail / bitbucket)
  176. fio-ml: FIO_WriteFile wrapper to handle caching issues automatically
    sed -i.bak '/ FIO_WriteFile/_FIO_WriteFile/' */stubs.S (detail / bitbucket)
  177. fix model-specific differences (detail / bitbucket)
  178. in EDMAC model tests, print a summary of copying activity
    (how many bytes were copied, how many were skipped and so on)
    (this test outputs the raw logs used to find the EDMAC model - ) (detail / bitbucket)
  179. tests for EDMAC model (to be included in QEMU) (detail / bitbucket)
  180. AbortEDmac stub for 5D3 1.2.3 (detail / bitbucket)
  181. edmac.c: fix typo (detail / bitbucket)
  182. Merged unified into edmac (detail / bitbucket)
  183. selftest: test for clean_d_cache
    interrupts disabled, using edmac_memcpy to copy between display buffers
    this test will fail without previous commit (detail / bitbucket)
  184. fix index size in clean_d_cache
    (todo: test in (detail / bitbucket)
  185. removed unnecessary declaration of mlv_snd_is_enabled (detail / bitbucket)
  186. mlv_snd: report back using ml-cbr when recording audio (detail / bitbucket)
  187. added ml-cbr to modules using MODULE_NAMED_CBR() (detail / bitbucket)
  188. audio uses ml-cbr to ask for recording (detail / bitbucket)
  189. ml-cbr: use strcmp to stay on safe side (caller might pass arbitrary length) (detail / bitbucket)
  190. ml-cbr: update header with more information (detail / bitbucket)
  191. QEMU: updated reference data for sorted IDC tests on some models
    (100D, 700D, EOSM, 5D) (detail / bitbucket)
  192. QEMU: 80D patches.gdb
    (required to run the stack trace check on a DIGIC 6 model with DryOS task switches) (detail / bitbucket)
  193. QEMU logging: fix some rarely missed jumps
    (usually in return from interrupt) (detail / bitbucket)
  194. QEMU logging: fix Thumb PC in call stack traces (for DIGIC 6) (detail / bitbucket)
  195. QEMU test suite: check callstack consistency
    (whether verbose stack trace matches the call/return trace)
    (also checks context info, such as current task or interrupt) (detail / bitbucket)
  196. QEMU: do not log UART messages when it's redirected to a file
    (-serial file:out.log) (detail / bitbucket)
  197. QEMU: with -d calls, always align location information
    (insert a newline on very long lines)
    (updated tests) (detail / bitbucket)
  198. QEMU: also log interrupt ID when using -d calls (detail / bitbucket)
  199. QEMU: use verbose stack trace for DebugMsg and GDB scripts
    (each call on its own line - much more readable)
    to get callstack for every single DebugMsg, use "-d debugmsg,callstack,v"
    or, for GDB scripts: "-d callstack -s -S" for QEMU, "macro define PRINT_CALLSTACK 1" in the GDB script, without quotes) (detail / bitbucket)
  200. QEMU: option to log DebugMsg calls natively, without GDB scripts
    (much faster; very similar to nkls' initial implementation) (detail / bitbucket)
  201. QEMU: redirect the monitor console to qemu.monitor unix socket
    (to restore the old behavior, run with -monitor vc) (detail / bitbucket)
  202. Merged in daniel_fort/magic-lantern/qemu-build-tweaks-1 (pull request #834)
    (fixes for building QEMU on Mac)

    QEMU build tweaks 1

    Approved-by: Daniel Fort <> (detail / bitbucket)
  203. Merged in latest qemu commits (detail / bitbucket)
  204. QEMU: parameterized MPU spells for PROP_CARDn_STATUS;
    updated WriteProtect handling on most DIGIC 4/5 models
    (otherwise, these GUIs would show the card write-protected dialog) (detail / bitbucket)
  205. QEMU: use timestamps to decide the relationship between MPU spells
    (only messages received shortly after a mpu_send call should be considered replies) (detail / bitbucket)
  206. QEMU: warning about duplicate MPU spells
    (they will show where the communication may depend on state) (detail / bitbucket)
  207. QEMU: include a description for each input MPU spell
    (updated with definitions for some known spells) (detail / bitbucket)
  208. Suppress printing an error message if the command isn’t found. (detail / bitbucket)
  209. Changed shebang in bash scripts. This should make them more portable. An issue came up because the Macintosh uses an older version of bash in /bin/bash and we want to use a newer Homebrew installed version in /user/local/bin/bash without breaking other setups. (detail / bitbucket)
  210. QEMU: parameterized MPU spells for UILock and NotifyGUIEVent (detail / bitbucket)
  211. QEMU: parameterized MPU spells (experimental) (detail / bitbucket)
  212. QEMU: incomplete half-shutter emulation
    (fixme: it should  show the metering indicator or close menus/dialogs) (detail / bitbucket)
  213. QEMU: menu navigation works on 5D3 1.1.3 (detail / bitbucket)
  214. QEMU logging: minor cleanups (detail / bitbucket)
  215. QEMU logging: moved ABI checking in its own routine (minor refactor) (detail / bitbucket)
  216. QEMU logging: moved -tasks in its own routine (much faster)
    note: task switching locations differ on VxWorks models after this change
    (they are approximate anyway) (detail / bitbucket)
  217. QEMU logging: option to enable verbosity only when autoexec.bin is loaded
    (useful for new ports; bootloader can be very verbose with certain logging settings) (detail / bitbucket)
  218. QEMU: exposed callstack to GDB and ML guest code
    based on nkls' first implementation of DebugMsg helper
    assert in gdb scripts now always prints the call stack (detail / bitbucket)
  219. GDB scrips: task switch logging helper (pure GDB) (detail / bitbucket)
  220. QEMU logging: stronger test for ML stubs
    (fixes some non-function symbols that appear when compiling ML with -ggdb) (detail / bitbucket)
  221. Experimental debug info in magiclantern elf file
    it allows mapping from code address to source line
    (example: eu-addr2line -s -S -e magiclantern 0x50d60)
    it should not end up in autoexec.bin or affect it in any way (detail / bitbucket)
  222. QEMU logging: attempt to guess strings and named functions in call/return trace
    (adapted from dm-spy-experiments)
    (self-test results updated) (detail / bitbucket)
  223. fix ml-cbr locking issues (detail / bitbucket)
  224. dual_iso: temporary patch for module_get_string API change - probably needs a revert before merging crop_rec_4k into unified (detail / bitbucket)
  225. Deal with Windows line ending in grep 3.0, changed multi-line grep command to single line extended regular expression and remove localsyms file with make clean. (detail / bitbucket)
  226. qemu-util now always available (in dryos.h)
    (these functions are only compiled with CONFIG_QEMU=y; otherwise they are just type-checked and optimized out) (detail / bitbucket)
  227. boot-hack: fix boot with CONFIG_QEMU on some models
    (qprintf/vsnprintf reboots the camera because it's not yet initialized)
    also added a safeguard to prevent such mistakes (detail / bitbucket)
  228. QEMU test suite: fix PowerShot tests using wrong debugmsg.gdb (detail / bitbucket)
  229. QEMU logging: fix copy/paste error in ROM block autodetection (detail / bitbucket)
  230. QEMU logging: explicit option to show task switches
    (rather than hijacking callstack) (detail / bitbucket)
  231. QEMU test suite: list memory blocks copied from ROM during bootloader tests
    (both EOS and PowerShot firmwares) (detail / bitbucket)
  232. QEMU logging: allow ROM block copying in arbitrary increments, up to 128-bit
    mixing memory access sizes is allowed too
    the block must be copied sequentially, from left to right or from right to left or mixed, with no gaps at any moment during the copy operation
    copying e.g. 16 bytes from/to offset 0, 16 bytes f/t 0x10, 4 bytes f/t 0x20 and 1 byte f/t 0x24 will be considered a 0x25-byte block
    but copying 16 bytes f/t offset 0, 4 bytes f/t 0x14 and then 4 bytes f/t 0x10 will be treated as 2 adjacent blocks (16 bytes and 8 bytes); that's because of the gap during the copy operation
    only blocks larger than 0x40 bytes are printed (detail / bitbucket)
  233. QEMU logging: experimental option for finding memory blocks copied from ROM to RAM
    (only 32-bit sequential copies for now) (detail / bitbucket)
  234. QEMU logging: fix memory logging selection in complex cases
    e.g. romr,ramw should only log ROM reads and RAM writes
    in simple cases (such as just romr or just ramw), hooks are installed only for the selected operation (read or write)
    in these cases, additional checks will be redundant
    however, with complex cases such as romr,ramw, hooks are installed for all reads and and all writes
    so we can no longer rely on the hooks (being installed or not) for filtering the results (detail / bitbucket)
  235. QEMU logging: fix task info on Eeko (detail / bitbucket)
  236. QEMU logging: quiet some jumps that are not function calls (frequently used on Thumb-2) (detail / bitbucket)
  237. QEMU: fix CSS in HTML logs from subdirectories (detail / bitbucket)
  238. QEMU scripts: allow loading symbols from any ML target (e.g. minimal, installer) (detail / bitbucket)
  239. QEMU: .current_task_addr for most models
    (where it was already known - copied from ML stubs or from debugmsg.gdb) (detail / bitbucket)
  240. QEMU logging: experimental task switch detection (DIGIC 2-6) (detail / bitbucket)
  241. QEMU logging: attempt to fix a rare crash when returning from interrupt (detail / bitbucket)
  242. QEMU logging: fix VxWorks return from interrupt; refactored interrupt detection on DIGIC 6 (detail / bitbucket)
  243. QEMU test suite: fix call/return trace logs being trimmed way before the first interrupt
    (the deterministic part is usually much larger than previously covered) (detail / bitbucket)
  244. QEMU test suite: also report nested interrupts (detail / bitbucket)
  245. QEMU: fix minor regression in DIGIC 6 bootloader
    (introduced in 7f1ba92; some tests changed) (detail / bitbucket)
  246. QEMU logging: minor rename (detail / bitbucket)
  247. mlv_rec: embed VERS blocks into MLV file so there is no uncertainity about the modules used for a given recording (detail / bitbucket)
  248. mlv_lite: embed VERS blocks into MLV file so there is no uncertainity about the modules used for a given recording (detail / bitbucket)
  249. mlv_lite: use FIO_SeekSkipFile to determine file header size (detail / bitbucket)
  250. mlv_dump: handle VERS blocks (detail / bitbucket)
  251. mlv_rec: added code and structures to helper routines to get version information embedded into the MLV file (detail / bitbucket)
  252. added routines and made a module loader routine non-static to allow other code to fetch e.g. strings from modules (detail / bitbucket)
  253. QEMU test suite: workaround for the non-determinism in the sorted IDC test
    (retry up to 5 times until it succeeds) (detail / bitbucket)
  254. QEMU test suite: more tests for call/return trace and IDC scripts (including Thumb, interrupts, secondary cores)
    Not all models are passing. (detail / bitbucket)
  255. QEMU: fix cache lockdown printf's (they should go to stderr) (detail / bitbucket)
  256. QEMU: fix handling UART interrupts with serial redirected (detail / bitbucket)
  257. QEMU: fine-tuned verbsity of various components
    (interrupts, digic timer, DMA, serial flash, CFATA) (detail / bitbucket)
  258. QEMU logging: fix call identification on Thumb (eeko) (detail / bitbucket)
  259. QEMU logging: fix crash on 5D3 eeko (detail / bitbucket)
  260. QEMU: changed REG_PRINT_NUM so it no longer includes a newline; updated boot-hack and fixed regression in boot-check logs (detail / bitbucket)
  261. QEMU: warn on ROM size mismatch (detail / bitbucket)
  262. QEMU clear screen on each run (detail / bitbucket)
  263. QEMU logging: experimental symbol name loading from ML object files
    example (bash): . ./ 500D.111; ./ 500D,firmware="boot=1" ...
    fixme: QEMU elf loader patched in a not very clean way (detail / bitbucket)
  264. QEMU logging: simplified function call detection a bit more
    (results should be unchanged) (detail / bitbucket)
  265. QEMU logging: always guess function arguments located on the stack
    (-d calls now implies -d ramr) (detail / bitbucket)
  266. QEMU logging: explicit option to export to IDC
    (-d idc) (detail / bitbucket)
  267. QEMU logging: check R4-R11 and SP when returning from function calls
    (all registers now stored on the call stack) (detail / bitbucket)
  268. QEMU logging: in IDC comments, record task name when available and drop prev_sp (detail / bitbucket)
  269. QEMU logging: basic test for IDC (function list only)
    (useful when formatting changes) (detail / bitbucket)
  270. QEMU test suite: nicer way to interrupt our background QEMU process (detail / bitbucket)
  271. QEMU logging: simplified function call detection
    (results should be unchanged) (detail / bitbucket)
  272. QEMU logging: indent callstack locations at 80 chars
    indent amount configurable at compile time
    tests updated (detail / bitbucket)
  273. QEMU: 1300D current_task_addr (detail / bitbucket)
  274. QEMU: initial GDB script for 1300D; display test (detail / bitbucket)
  275. QEMU: initial support for Mac and clang in install scripts (to be tested) (detail / bitbucket)
  276. QEMU: fix compiling with clang (detail / bitbucket)
  277. QEMU test suite: removed basic GUI test (redundant) (detail / bitbucket)
  278. QEMU test suite: tests for callstack and call/return trace (detail / bitbucket)
  279. QEMU: disable gray noise that appeared until GUI initialization (faster) (detail / bitbucket)
  280. QEMU logging: minor callstack speed optimization (detail / bitbucket)
  281. QEMU logging: in call/return trace, print caller (from call stack) instead of raw LR (detail / bitbucket)
  282. QEMU logging: callstack speed optimization (detail / bitbucket)
  283. QEMU logging: fix handling nested interrupts in callstack (detail / bitbucket)
  284. QEMU logging: initial call stack support for Thumb-2 (DIGIC 6) (detail / bitbucket)
  285. QEMU logging: attempt to guess additional function arguments from RAM tracing
    (use -d calls,ram to enable this) (detail / bitbucket)
  286. QEMU logging: print first 4 arguments and return value for all function calls
    (with -d calls) (detail / bitbucket)
  287. QEMU: get stack limits of current DryOS task and print them on the call stack
    new API: eos_get_current_task_stack (detail / bitbucket)
  288. QEMU logging: API for retrieving various parameters from the call stack
    (SP, stack frame size, call depth, function arguments)
    note: R0-R3 stored on the call stack
    API name: eos_callstack_get_caller_param (detail / bitbucket)
  289. QEMU logging: fine-tune options; auto-enable dependencies (detail / bitbucket)
  290. QEMU: indent memcheck and io_log messages according to call depth
    new API: eos_callstack_get_indent (detail / bitbucket)
  291. QEMU memcheck: fix line wrapping in verbose messages about multitasked free calls
    (minor; visible with -d memchk,v) (detail / bitbucket)
  292. QEMU logging: generic print_location; refactored memcheck to use it
    (eos_print_location) (detail / bitbucket)
  293. QEMU logging: simple call stack printing API, used in memcheck when reporting errors
    (eos_callstack_print) (detail / bitbucket)
  294. QEMU logging: experimental call stack reconstruction
    ideas from
    fixme: requires -d calls,nochain -singlestep
    new APIs: eos_get_current_task_id, eos_callstack_indent (detail / bitbucket)
  295. QEMU logging: refactored to split IDC and call logic (detail / bitbucket)
  296. QEMU memcheck: split exec hook into components
    (malloc and memcpy for now; non-functional change) (detail / bitbucket)
  297. QEMU memcheck: refactored with CPU env (easier to get register values; non-functional) (detail / bitbucket)
  298. QEMU memcheck: refactored malloc list with a data structure (non-functional) (detail / bitbucket)
  299. QEMU memcheck: identify blocks affected by heap errors (messages similar to valgrind) (detail / bitbucket)
  300. QEMU memcheck: fix memcpy handling
    (do not copy allocation flags, only initialization; fix copying from ROM) (detail / bitbucket)
  301. QEMU: AbortEDmac emulation (detail / bitbucket)
  302. QEMU: basic model of EDMAC transfer delay (detail / bitbucket)
  303. QEMU: gui/menu tests for 5D2 and 50D (detail / bitbucket)
  304. QEMU: force line-buffered output for our messages (detail / bitbucket)
  305. QEMU: a few more assertions for memcheck (detail / bitbucket)
  306. QEMU: fix card formatting on 50D and 5D2; menu tests for 5D2 (detail / bitbucket)
  307. QEMU: fix CURRENT_CPU outside MMIO handlers
    (defaults to cpu0; fixes CF routines crashing when used with -d memchk)
    (may need to be changed for EOS M5, when its time comes) (detail / bitbucket)
  308. QEMU: updated 5D2 MPU spells, thanks Ilia. Menu works! (detail / bitbucket)
  309. QEMU: GDB script for 5D2 (detail / bitbucket)
  310. QEMU: 50D menu navigation tests (detail / bitbucket)
  311. QEMU: 50D menu navigation works! (detail / bitbucket)
  312. QEMU: 50D button codes (detail / bitbucket)
  313. QEMU: fix 50D CFATA and HDMI; GUI boots! (detail / bitbucket)
  314. QEMU: 50D MPU spells, thanks jrm21 (detail / bitbucket)
  315. QEMU: minor speed optimization in serial_flash (detail / bitbucket)
  316. QEMU: speed up test suite
    (large delays no longer needed) (detail / bitbucket)
  317. QEMU: CFDMA write works on 5D2 (DCIM test passed!) (detail / bitbucket)
  318. QEMU: fix CFDMA on 5D2 (only read works) (detail / bitbucket)
  319. QEMU: made MPU/SF/SD/CF logging macros generic (in eos.h)
    -d sdcf for logging SD/CF messages (detail / bitbucket)
  320. QEMU: configurable resolution for digic timer (detail / bitbucket)
  321. QEMU: updated tests for faster card formatting
    (BUSY dialog no longer caught) (detail / bitbucket)
  322. QEMU: trigger SDIO interrupt on errors as well
    (fixes semaphore timeout after CMD1; to be tested for side effects) (detail / bitbucket)
  323. mpu: refactored verbosity; most messages now hidden by default
    (-d mpu or -d mpu,verbose or -d io,mpu etc to show them) (detail / bitbucket)
  324. serial_flash: refactored verbosity; most messages now hidden by default (-d sflash shows them) (detail / bitbucket)
  325. QEMU: fix memory logging on models with serial flash (detail / bitbucket)
  326. QEMU: minor fixes in scripts (detail / bitbucket)
  327. QEMU memcheck: fix printf's
    (should go to stderr) (detail / bitbucket)
  328. QEMU memcheck: get ML stubs from environment variables (detail / bitbucket)
  329. QEMU memchk: experimental TCM checking
    (catches even more null pointer bugs) (detail / bitbucket)
  330. QEMU memchk: moved stubs in a data structure, for easier porting (detail / bitbucket)
  331. QEMU: highly experimental memory checking tool (-d memchk)
    (stubs hardcoded for 500D) (detail / bitbucket)
  332. Memory logging: fine-tuned messages (detail / bitbucket)
  333. QEMU: moved our memory logging routines to logging.c (detail / bitbucket)
  334. QEMU: moved our calls logging hook to separate file; preparing to add more tools (detail / bitbucket)
  335. QEMU: hook called when execution a TranslationBlock
    (todo: move the hardcoded analysis tools from cpu-exec) (detail / bitbucket)
  336. QEMU: use 64 bits for qemu_loglevel; renumbered and defined some more options for future use (detail / bitbucket)
  337. QEMU: output all our messages to stderr
    (should fix colors getting mixed up) (detail / bitbucket)
  338. QEMU: use macros for ANSI colors (detail / bitbucket)
  339. QEMU: minor fix in UILock.h
    (todo: parameterized MPU messages) (detail / bitbucket)
  340. QEMU: compile with code coverage (gcov); helper script for lcov (detail / bitbucket)
  341. QEMU test suite: updated portable ROM dumper link; added 1300D (detail / bitbucket)
  342. QEMU: log DMA memory accesses as well; self-test to make sure all writes are logged
    (the test works by rebuilding a second copy of the RAM from the write trace, and comparing with QEMU's copy) (detail / bitbucket)
  343. QEMU: experimental logging of guest memory accesses (LDR/STR, RAM or ROM)
    didn't call it "memory tracing" as it doesn't use QEMU tracing API
    removed old TRACE_MEM code (detail / bitbucket)
  344. QEMU: fix apparently random lock-up (interrupts no longer triggering, for no apparent reason)
    (bug introduced in 24909946bb90) (detail / bitbucket)
  345. QEMU: fix io_log crash on get_current_task_name
    (to reproduce: 450D with -d io) (detail / bitbucket)
  346. QEMU: experimental MPU support for 1300D
    (it seems to work, to some extent, but we need a startup log from a real camera to get further) (detail / bitbucket)
  347. QEMU: flash model ID for 1300D (fixes startup assertion) (detail / bitbucket)
  348. QEMU: initial support for 1300D, thanks adamnock (detail / bitbucket)
  349. QEMU: model ROM as ROM device, rather than RAM
    (writes are allowed and logged) (detail / bitbucket)
  350. QEMU: support for multiple firmware versions (e.g. 5D3 1.1.3 and 1.2.3)
    example: ./ 5D3,firmware="113;boot=0" (detail / bitbucket)
  351. QEMU: minor fixes for helper scripts (detail / bitbucket)
  352. QEMU: allow arbitrary targets in (e.g. minimal); small fixes (detail / bitbucket)
  353. QEMU: minor fixes for helper scripts (detail / bitbucket)
  354. QEMU: save HTML logs to subdirectory (detail / bitbucket)
  355. QEMU: helper scripts for automated tests on all ML cameras (detail / bitbucket)
  356. QEMU: fix compiling HPTimer test (requires CONFIG_QEMU) (detail / bitbucket)
  357. QEMU: script to clean up redundant ANSI escape sequences from logs (detail / bitbucket)
  358. boot-hack: more debug messages with CONFIG_QEMU (detail / bitbucket)
  359. QEMU: guest API for disassembling code at any address (detail / bitbucket)
  360. boot-hack: debug messages when compiling with CONFIG_QEMU
    (useful for new ports or for troubleshooting non-booting situations) (detail / bitbucket)
  361. qemu-util: helper to print numbers to QEMU console very early in the boot process (detail / bitbucket)
  362. qemu-util: allow using qprintf without guarding every call by CONFIG_QEMU
    (dummy inline functions on regular builds; simplified console.c) (detail / bitbucket)
  363. EDMAC: fix signed off2 on DIGIC 4 (detail / bitbucket)
  364. QEMU: fix signed EDMAC off2 on DIGIC 4 (detail / bitbucket)
  365. QEMU: disabled battery cover emulation on 60D and 100D
    (interferes with some GUI tests) (detail / bitbucket)
  366. QEMU: non-deterministic lock-ups solved, thanks nkls!
    (retries no longer needed in the test suite) (detail / bitbucket)
  367. QEMU: mutexes no longer needed after refactoring (detail / bitbucket)
  368. QEMU: refactored interrupt thread using QEMUTimer
    (credits: nkls, ) (detail / bitbucket)
  369. GDB scripts: helper to log the return value of any function (detail / bitbucket)
  370. QEMU: GDB scripts and task address for 100D (detail / bitbucket)
  371. QEMU: battery cover emulation
    (with various degrees of success) (detail / bitbucket)
  372. QEMU: another fix for gcc 4.x/6.x
    (amend commit 242d6f1) (detail / bitbucket)
  373. QEMU: updated instructions regarding CONFIG_QEMU (it's no longer required) (detail / bitbucket)
  374. QEMU: updated configure script to fix compilation with gcc 4.x and 6.x (detail / bitbucket)
  375. QEMU test suite: always wait after terminating qemu-system-arm
    (might fix some intermittent VNC issues) (detail / bitbucket)
  376. QEMU: skip a few tests on 1100D and 1200D, that are very sensitive to timing (processing speed) (detail / bitbucket)
  377. QEMU: updated help in install script (detail / bitbucket)
  378. QEMU: updated 60D tests (detail / bitbucket)
  379. GDB scripts: 700D patches (required for GUI emulation) (detail / bitbucket)
  380. QEMU: fix commit b36254 (missing files) (detail / bitbucket)
  381. QEMU: menu navigation and card format tests for 60D, 550D, 600D, 700D, 100D, 1100D, 1200D (detail / bitbucket)
  382. QEMU: updated GUI test result for 60D, 100D, 1100D, 1200D
    (after GUI emulation, they boot to date/time menu rather than info screen, but you may now click OK to bypass it) (detail / bitbucket)
  383. QEMU: ported 500D GUIMode/UILock/format spells on 550D, 60D/1200D/1100D, 600D, 700D, 100D.
    Canon menu navigation and card formatting works on all these models! (detail / bitbucket)
  384. MPU spells: comment out button events (detail / bitbucket)
  385. QEMU: updated formatting of MPU spells to make them self-contained
    (easier to copy/paste around) (detail / bitbucket)
  386. QEMU: fix 100D lockup (detail / bitbucket)
  387. QEMU: fix display waiting routine (EnableBitmapVBufferForPlayBackAndWait)
    This unlocks menu navigation on many models! (detail / bitbucket)
  388. QEMU: initial support for 7D (slave core only, IPC disabled) (detail / bitbucket)
  389. QEMU test suite: minor speed-up when waiting for specific text in the log file (detail / bitbucket)
  390. QEMU: moved HPTimer test from qemu-util to a minimal test binary;
    added a test for current task name and current interrupt ID;
    should work on all models that can load autoexec.bin and start a few tasks (no need for GUI) (detail / bitbucket)
  391. QEMU: aggressive LED redraw (detail / bitbucket)
  392. QEMU: better handle double-buffered displays (minor) (detail / bitbucket)
  393. 7D: fix minimal target
    (also removed some custom installer settings) (detail / bitbucket)
  394. 6D: fix minimal target (detail / bitbucket)
  395. Merged task_name into qemu (detail / bitbucket)
  396. qemu-util: moved register definitions to header (detail / bitbucket)
  397. QEMU: restoring ML after format works too (500D)
    This test requires patched vncdotool (patch included). (detail / bitbucket)
  398. QEMU: formatting the virtual card works! (500D) (detail / bitbucket)
  399. QEMU: run all tests with custom card images
    (fixes false error on 500D menu test - free space reported in menu should not depend on user card contents) (detail / bitbucket)
  400. QEMU: fix ML helper MMIO (regression from M5, 7534423f) (detail / bitbucket)
  401. QEMU: fix USB connect on DIGIC 4 models (detail / bitbucket)
  402. QEMU: more dialogs working on 500D! (detail / bitbucket)
  403. QEMU: fix handling INFO and PLAY (typo) (detail / bitbucket)
  404. QEMU: fix IDC output for large runs (detail / bitbucket)
  405. QEMU: fix typo in extract_init_spells (detail / bitbucket)
  406. QEMU: use unix sockets for menu test (detail / bitbucket)
  407. QEMU: menu navigation test
    (500D for now) (detail / bitbucket)
  408. QEMU: fix race condition in key handling
    (very fast clicks are OK now) (detail / bitbucket)
  409. GDB scripts: initial 1100D support (DebugMsg, task_create, SetEDmac) (detail / bitbucket)
  410. GDB scripts: date/time patches for 500D, 550D, 600D, 60D, 70D (detail / bitbucket)
  411. qemu-frsp: fix compilation for 5D3 (use 1.1.3) (detail / bitbucket)
  412. Merged unified into qemu (detail / bitbucket)
  413. QEMU: 500D MPU spells (menu navigation works, thanks Greg) (detail / bitbucket)
  414. QEMU: current_task_addr for 500D, 550D and 600D (detail / bitbucket)
  415. QEMU: fix LED not redrawing properly (detail / bitbucket)
  416. QEMU, annotate some more properties; fix minor quirks (comments only) (detail / bitbucket)
  417. QEMU: experimental multi-core emulation for M5 (detail / bitbucket)
  418. QEMU: initial support for EOS M5 (first core only; starts a few tasks) (detail / bitbucket)
  419. QEMU: initial support for EOS M10 (starts a few tasks and mounts the SD card) (detail / bitbucket)
  420. QEMU: option to log function calls and export them to IDA (-d calls -singlestep) (detail / bitbucket)
  421. QEMU: 500D GUI test (detail / bitbucket)
  422. QEMU: refactored 8-bit palette handling
    (removed duplicate code) (detail / bitbucket)
  423. QEMU: handle 8-bit BMP palette menu mode (detail / bitbucket)
  424. QEMU: GDB scripts 500D (detail / bitbucket)
  425. QEMU: GDB scripts 500D (detail / bitbucket)
  426. QEMU: disable JPCORE (fixes DCIM test regression on EOSM) (detail / bitbucket)
  427. QEMU: 100D boots Canon GUI, 70D shows date/time screen! (detail / bitbucket)
  428. QEMU: fix hotplug events on EOS M (detail / bitbucket)
  429. QEMU: first steps for JPCORE emulation (detail / bitbucket)
  430. QEMU: attempt to follow the MPU spell sequence even if some messages are repeated (detail / bitbucket)
  431. QEMU: use larger delays before tail in (detail / bitbucket)
  432. QEMU: allow retries in some tests, until successful
    (there are some nondeterministic bugs in the emulation) (detail / bitbucket)
  433. QEMU: workaround for MPU communication sometimes getting out of sync (detail / bitbucket)
  434. QEMU: updated 700D and EOSM display test checksums to match dumps from dfort (detail / bitbucket)
  435. QEMU: fix eeko path (detail / bitbucket)
  436. QEMU: allow arbitrary working directory via $QEMU_EOS_WORKDIR (detail / bitbucket)
  437. QEMU: EOSM passes the DCIM directory test (detail / bitbucket)
  438. GDB scripts: EOSM patches (startup sequence works) (detail / bitbucket)
  439. QEMU: some definitions for 700D and EOSM (detail / bitbucket)
  440. QEMU: current_task_addr for 1100D (detail / bitbucket)
  441. QEMU: first steps for handling 5D3 eeko communication with main CPU (detail / bitbucket)
  442. QEMU: minor update to 5D3 eeko memory map (detail / bitbucket)
  443. GDB scripts: 5D3 eeko interrupts (detail / bitbucket)
  444. QEMU: handle EDMAC offset 0x40 (detail / bitbucket)
  445. GDB scripts: initial support for EOS M; minor fix for 700D (detail / bitbucket)
  446. QEMU: MPU spells for 700D and EOSM (logs from dfort) (detail / bitbucket)
  447. QEMU: updated 1000D support for 1.0.7
    (GDB script, display test checksum, fix current task address) (detail / bitbucket)
  448. QEMU: Eeko DryOS timer (not sure it actually works) (detail / bitbucket)
  449. QEMU: run Eeko from RAM dumps; minor updates (detail / bitbucket)
  450. QEMU: quiet cache maintenance registers (detail / bitbucket)
  451. QEMU: print description of some MPU registers as they are set (reveals memory map) (detail / bitbucket)
  452. QEMU: option to enable UART debug logging (-d uart); mark "-d io" option as EOS-specific (detail / bitbucket)
  453. QEMU: Eeko UART emulation (can navigate the debug menu) (detail / bitbucket)
  454. QEMU: Eeko interrupt registers (detail / bitbucket)
  455. QEMU: initial support for 5D3 Eeko (a small DryOS core running Thumb-2 code)
    credits: g3gg0 for identifying it (detail / bitbucket)
  456. QEMU: fix SDIO regression on M3 (detail / bitbucket)
  457. QEMU: include LR in MMIO logs (detail / bitbucket)
  458. QEMU: fix CHSW assert on M3 (detail / bitbucket)
  459. QEMU: emulate photo capture process on 5D3
    - more DMA channels (EekoBltDmac = DMA5)
    - Eeko WakeUp
    - MMIO size 0x20000000
    - image data on connection 35
    - the test requires some patching, because 5D3 does not initialize the YUV buffer at startup (detail / bitbucket)
  460. QEMU: DCIM test appears to work on 450D as well
    ... given enough retries :) (detail / bitbucket)
  461. QEMU: code for listing EDMAC interrupt names (for dm-spy-experiments) (detail / bitbucket)
  462. QEMU: emulate all EDMAC size configurations!
    (xn,yn,xa,ya,xb,yb,off1a,off1b,off2a,off2b,off3 for both read and write transfers)
    Also included a function to pretty-print an EDMAC configuration.
    Test code and details will follow. (detail / bitbucket)
  463. QEMU: 450D MPU spells and button codes (detail / bitbucket)
  464. QEMU: fix 5D4 ram_manufacturer_id; updated display test result for latest ROM (detail / bitbucket)
  465. QEMU: fix EDMAC off1 for DIGIC 3 (detail / bitbucket)
  466. QEMU: handle EDMAC "pop" operation (detail / bitbucket)
  467. QEMU: refactored MMIO registers with macros for direct mapping to variables (less verbose) (detail / bitbucket)
  468. QEMU: dummy Furikake emulation for 60D (just copy the data from input to output) (detail / bitbucket)
  469. QEMU: partial EDMAC transfers (incomplete) (detail / bitbucket)
  470. QEMU: fix EDMAC connection count; asserts (detail / bitbucket)
  471. QEMU: full-res silent picture test (working on 60D and 1200D) (detail / bitbucket)
  472. 550D: fix compiling minimal target (detail / bitbucket)
  473. Minimal test binary for taking and previewing a full-res silent picture, for QEMU test suite (detail / bitbucket)
  474. Merged cleanup into qemu (detail / bitbucket)
  475. Merged unified into qemu (detail / bitbucket)
  476. QEMU: reordered tests (detail / bitbucket)
  477. QEMU: file I/O test from main firmware (creating DCIM directory if missing); only works on a few models for now (detail / bitbucket)
  478. QEMU: portable ROM dumper test (works on most SD models) (detail / bitbucket)
  479. QEMU: PIO SD transfers (450D mounts the SD image) (detail / bitbucket)
  480. QEMU: always print SDIO errors (detail / bitbucket)
  481. QEMU: fix SD interrupts on 450D (attempts to mount the card, but fails at sdPIOReadBlk) (detail / bitbucket)
  482. QEMU: current_task_addr for some VxWorks models (for MMIO registers) (detail / bitbucket)
  483. GDB scripts: ignore %R in DebugMsg (40D: "%RegisterCBRSetupRequest") (detail / bitbucket)
  484. QEMU: initial MPU support for 450D, with 60D spells (detail / bitbucket)
  485. QEMU: fix VxWorks heartbeat (including HPTimer workaround) (detail / bitbucket)
  486. QEMU: handle extended HPTimers (VxWorks heartbeat seems to work) (detail / bitbucket)
  487. QEMU: EDMAC interrupts for DIGIC 5 (detail / bitbucket)
  488. QEMU: 550D shows date/time screen (EDMAC fix) (detail / bitbucket)
  489. QEMU: emulate the picture taking process (can take a full-res silent picture on 60D and save it as DNG)
    - EDMAC transfers: handle xa, ya, xb, yb, xn, off1a, off1b
    - dummy head timer emulation (just triggering an interrupt)
    - dummy emulation of the HIV image processing module ("consuming" row/column correction data)
    - note: the code from silent.c and raw.c must be patched to avoid GUI mode changes (patch not included) (detail / bitbucket)
  490. QEMU: dummy emulation of image preprocessing modules (ADKIZ also triggers interrupt on 60D => evfInit succeeds) (detail / bitbucket)
  491. QEMU: partial EDMAC transfer emulation (detail / bitbucket)
  492. GDB scripts: log some EDMAC calls (60D stubs) (detail / bitbucket)
  493. QEMU: updated 40D and 100D display tests for latest firmware versions (detail / bitbucket)
  494. also copy test scripts (detail / bitbucket)
  495. QEMU: UART support borrowed from hw/arm/digic.c (cc frantony)
    To use it: "View -> Serial0" or "-serial stdio" or "-nographic"
    Also updated test script. (detail / bitbucket)
  496. QEMU: initial support for 5D4 AE processor (K349AE) (detail / bitbucket)
  497. QEMU: test for GDB scripts (not all models working; fixed 7D2 and M3) (detail / bitbucket)
  498. QEMU: refactor to avoid duplicate camera lists (detail / bitbucket)
  499. QEMU: fix 400D startup messages (detail / bitbucket)
  500. QEMU: quiet 60D hotplug activity (detail / bitbucket)
  501. QEMU: refuse to run if any of the card images is mounted (detail / bitbucket)
  502. QEMU: fix 5D4 display emulation; updated SD image with new display test (detail / bitbucket)
  503. QEMU: initial support for 5D4 (SD image updated too with latest display test) (detail / bitbucket)
  504. QEMU: initial support for 40D, 400D and 450D (display test working) (detail / bitbucket)
  505. QEMU: 5D runs the display test (detail / bitbucket)
  506. QEMU: experimental CFDMA support (5D loads autoexec) (detail / bitbucket)
  507. QEMU: fix 50D (display test works) (detail / bitbucket)
  508. GDB scripts: increase tcp connect timeout (detail / bitbucket)
  509. QEMU: initial support for 5D (no autoexec yet) (detail / bitbucket)
  510. QEMU: initial support for A1100 (proof of concept, CC frantony) (detail / bitbucket)
  511. GDB scripts: 1000D task info (detail / bitbucket)
  512. GDB scripts: check CURRENT_TASK before dereferencing (to avoid nonprintable output when invalid) (detail / bitbucket)
  513. Updated SD image with display test updated for VxWorks
    Also updated screenshots' MD5 (the new test prints an extra line) (detail / bitbucket)
  514. QEMU: 1000D display from bootloader (detail / bitbucket)
  515. QEMU: initial support for 1000D (DIGIC 3) (detail / bitbucket)
  516. QEMU: moved RAM and TCM parameters to model_list.c; fixed TCM size on DIGIC 6 (detail / bitbucket)
  517. QEMU: assume 80D bootloader on 7D2 for now (detail / bitbucket)
  518. QEMU test suite: also prepare a temporary CF card image (detail / bitbucket)
  519. QEMU test suite: more robust handling of temporary SD card image
    (previous image is restored even if you press CTRL-C while preparing the new one) (detail / bitbucket)
  520. QEMU test suite: custom test for EOS M3 (detail / bitbucket)
  521. QEMU: testing scripts (first attempt to write a test suite), covering:
    - bootloader jumping to main firmware: works on most models, except 7D (50D not tested)
    - portable display test from bootloader: works on most models, except 7D (50D not tested)
    - Canon GUI test (screenshot): works on 60D, 5D3, 1200D, 1100D, and - to some extent - 600D

    - SD/CF read/write tests (bootloader ROM dumpers, startup on formatted card, minimal file I/O from ML)
    - tests for gdb scripts (e.g. does it display task_create calls? does the GUI boot under the debugger?)
    - various device tests (timers, EDMAC, LED blinking, serial console...)
    - tests for Magic Lantern binaries, to be run on the nightly build server (detail / bitbucket)
  522. QEMU: fix LED emulation on most models (detail / bitbucket)
  523. QEMU: fix LED emulation on 5D3 (detail / bitbucket)
  524. QEMU: fix SDDMA handling on DIGIC 6 (EOS M3 now loads DISKBOOT.BIN from the card) (detail / bitbucket)
  525. GDB scripts: log more register_interrupt calls on EOS M3 (detail / bitbucket)
  526. GDB scripts: log more DebugMsg calls on EOS M3 (detail / bitbucket)
  527. GDB scripts: refactored DebugMsg to allow code reuse (detail / bitbucket)
  528. QEMU: revised sound patch EOS M3 (was patching a generic semaphore routine; fixes SD init) (detail / bitbucket)
  529. QEMU: card LED emulation (not all models tested) (detail / bitbucket)
  530. QEMU: battery patch no longer needed on EOS M3 (Ant123) (detail / bitbucket)
  531. QEMU: load ROM0 (aka SECONDARY16.BIN) on EOS M3 (detail / bitbucket)
  532. QEMU: moved rom[01]_addr to model_list.c; fix ROM1 address for D6 (detail / bitbucket)
  533. QEMU: initial support for 750D and 760D (detail / bitbucket)
  534. QEMU: moved RAM manufacturer ID to model_list.c (80D) (detail / bitbucket)

Started by user Alex

Revision: 4f855815c68314ab5758b0e0a4a373aa8e5d9406