00c70bd | Chris Miller | 21 February 2019, 19:53:32 UTC | 5D4: updated the codebase to 1.1.2 3bf2df7, 73990b1, 24dbfdb, c0f8a82, 3e04262 from https://bitbucket.org/chris_miller/ml-fork/branch/5d4-112 | 21 February 2019, 19:53:32 UTC |
ab004de | alex@thinkpad | 21 February 2019, 17:15:19 UTC | check-stubs.py: also check ROM/RAM contents, 8 bytes for each stub (optional) RAM files should be created with the Portable ROM dumper. RAM files, if any, should be created with romcpy.sh (QEMU: -d romcpy). | 21 February 2019, 17:15:19 UTC |
7e5ccc0 | alex@thinkpad | 20 February 2019, 09:06:22 UTC | check-stubs.py: updated heuristics for DIGIC 6/7/8 - everything above E0000000 is ROM - check parity differences (Thumb bit) - check "delta" changes (it's expected to drift, but no large jumps) | 20 February 2019, 09:06:22 UTC |
f06a432 | alex@thinkpad | 15 February 2019, 22:57:31 UTC | EOS R: skip 0x82000000-0x83000000 for CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP (apparently used as shared memory by a secondary core, codenamed Shirahama) | 15 February 2019, 22:57:31 UTC |
c062b32 | alex@thinkpad | 15 February 2019, 22:13:11 UTC | EOS R: UNCACHEABLE macro is no longer valid; using a workaround for CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP | 15 February 2019, 22:13:11 UTC |
55fface | alex@thinkpad | 15 February 2019, 22:01:11 UTC | EOS R, M50: updated CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP (see bee6ec3 for details and usage notes) | 15 February 2019, 22:01:11 UTC |
d7c9d6b | alex@thinkpad | 14 February 2019, 22:31:58 UTC | M50: uart_printf (not yet used, but... required to compile) | 14 February 2019, 22:31:58 UTC |
2a62182 | alex@thinkpad | 14 February 2019, 20:57:23 UTC | EOS R: added uart_printf for easier debugging | 14 February 2019, 20:57:23 UTC |
5e6d34c | alex@thinkpad | 14 February 2019, 20:43:05 UTC | minimal-d78: need to call FIO_RemoveFile before FIO_CreateFile | 14 February 2019, 20:43:05 UTC |
f065f08 | alex@thinkpad | 14 February 2019, 18:34:40 UTC | EOS R: LED test code (not enabled by default) | 14 February 2019, 18:34:40 UTC |
9dd709e | alex@thinkpad | 14 February 2019, 18:13:18 UTC | EOS R: updated to 1.1.0 (note to self: check firmware version next time) | 14 February 2019, 18:13:18 UTC |
0c1b6be | alex@thinkpad | 14 February 2019, 17:15:19 UTC | EOS R: initial platform directory - firmware 1.0.0 - boot process tested in QEMU - confirmed to boot on real hardware - very simple logging works (with Canon's DebugMsg) - ROM dumping from main firmware also works | 14 February 2019, 17:15:19 UTC |
3b26e45 | alex@thinkpad | 14 February 2019, 06:32:53 UTC | reboot.c: debug code for jumping into Canon's main firmware (disabled by default) | 14 February 2019, 06:32:53 UTC |
e1397a5 | alex@thinkpad | 14 February 2019, 06:29:41 UTC | DIGIC 8: MMIO tricks required to boot (tested on EOS R; maybe also needed on M50/SX70) | 14 February 2019, 06:29:41 UTC |
e83d43c | alex@thinkpad | 13 February 2019, 09:34:39 UTC | DIGIC 6: moved MMIO boot tricks in reboot.c - for consistency - 7D may use two different boot methods ("classic" and "cache hack"); keeping this in reboot.c reduces code duplication - in the future, we will want to be able to jump to any Canon firmware from the same binary; this will have to be done from reboot.c | 13 February 2019, 09:34:39 UTC |
b41ef49 | alex@thinkpad | 13 February 2019, 09:30:35 UTC | 7D, 7D2, 5DS, 5DSR: use CONFIG_DUAL_DIGIC (to enable the specific boot tricks) | 13 February 2019, 09:30:35 UTC |
f5dd789 | alex@thinkpad | 13 February 2019, 09:28:18 UTC | CONFIG_DIGIC_version is now mandatory; defined CONFIG_DIGIC_IV on models using one. | 13 February 2019, 09:28:18 UTC |
66000e0 | alex@thinkpad | 11 February 2019, 11:31:30 UTC | 7D2: added missing stubs and other definitions (to be tested - will it boot?) | 11 February 2019, 11:31:30 UTC |
d1aef59 | alex@thinkpad | 13 February 2019, 08:46:20 UTC | 5DS R: initial platform directory - boot process tested in QEMU (without file I/O) - boots on the camera (confirmed by @jcareaux) - basic logging works (including our DebugMsg) - todo: try the remaining 80D/5D4 experiments | 13 February 2019, 08:46:20 UTC |
e359119 | alex@thinkpad | 13 February 2019, 08:43:30 UTC | Makefile: removed unnecessary AUTOEXEC_BASE and FIR_BASE sed -i.bak '/AUTOEXEC_BASE/d' */Makefile.platform.default sed -i.bak '/FIR_BASE/d' */Makefile.platform.default | 13 February 2019, 08:43:30 UTC |
b82a51c | alex@thinkpad | 13 February 2019, 08:42:28 UTC | reboot.c: make firmware signature mandatory fw-signature.h: fixed/added signatures for models that didn't compile (5D3.123, 700D.115, 5DS.111) | 13 February 2019, 08:42:28 UTC |
733c01e | alex@thinkpad | 13 February 2019, 08:38:48 UTC | reboot.c: minor cleanups | 13 February 2019, 08:38:48 UTC |
13eda86 | alex@thinkpad | 13 February 2019, 08:37:53 UTC | 5DS: compile as DIGIC 6 (to be tested) | 13 February 2019, 08:37:53 UTC |
8c03532 | alex@thinkpad | 13 February 2019, 08:35:09 UTC | Merged 5Ds_experiments into digic6-dumper | 13 February 2019, 08:35:09 UTC |
e05fc57 | alex@thinkpad | 12 February 2019, 20:27:17 UTC | DIGIC 7/8: use -march=armv7-a, thanks srsa https://www.magiclantern.fm/forum/index.php?topic=23296.msg211963#msg211963 | 12 February 2019, 20:27:17 UTC |
3d7b43f | alex@thinkpad | 11 February 2019, 11:05:53 UTC | DIGIC 7/8: updated comment about CPU type and Thumb-loaded binaries | 11 February 2019, 11:05:53 UTC |
6d2ae04 | alex@thinkpad | 11 February 2019, 10:52:37 UTC | 760D, 77D, 6D2: fix compilation; minor Makefile cleanups (will compile the reboot-dumper experiments, i.e. LED blinking) | 11 February 2019, 10:52:37 UTC |
03fc851 | alex@thinkpad | 11 February 2019, 10:46:40 UTC | 80D: minor cleanups - stubs: removed unused dm_set_store_level; updated comments for mpu_send/recv - Makefile: comments about RESTARTSTART | 11 February 2019, 10:46:40 UTC |
63593d6 | alex@thinkpad | 11 February 2019, 10:32:07 UTC | 80D: firmware signature for 1.0.2 | 11 February 2019, 10:32:07 UTC |
52ba4f9 | alex@thinkpad | 11 February 2019, 10:30:27 UTC | log-d6: only enable LOG_EARLY_STARTUP on 80D (this is to make sure the code works out of the box on other D6/7/8 models) | 11 February 2019, 10:30:27 UTC |
be94de3 | alex@thinkpad | 10 February 2019, 17:27:08 UTC | 5DS: moved experimental minimal.c into platform/5DS.111 and reverted changes to main minimal.c (to help with merging) | 10 February 2019, 17:27:08 UTC |
6248bac | alex@thinkpad | 09 February 2019, 17:41:58 UTC | io_trace: log the entire MMIO range, including Omar/Zico communication https://www.magiclantern.fm/forum/index.php?topic=17360.msg211708#msg211708 | 09 February 2019, 17:41:58 UTC |
ffbddc5 | alex@thinkpad | 05 February 2019, 18:34:35 UTC | io-trace: log the Thumb bit alongside with PC One may now tell whether MMIO events were triggered by ARM or Thumb code. | 05 February 2019, 18:34:35 UTC |
e069b23 | alex@thinkpad | 04 February 2019, 19:46:05 UTC | io_trace: also log LR for each MMIO event | 04 February 2019, 19:46:05 UTC |
1565e18 | alex@thinkpad | 04 February 2019, 19:04:42 UTC | io_trace: restore LR when re-executing the original instruction Does it help with any of the tricky ranges? e.g. BFE00000/200000 or BFF00000/100000 | 04 February 2019, 19:04:42 UTC |
2800598 | alex@thinkpad | 04 February 2019, 17:11:28 UTC | io_trace: fix number of MMIO events reported (minor) | 04 February 2019, 17:11:28 UTC |
df2f774 | alex@thinkpad | 01 February 2019, 21:43:33 UTC | log-d6: do not log MMIO events for our own timestamping code (slightly less noise in the logs) | 01 February 2019, 21:43:33 UTC |
b3b669f | alex@thinkpad | 01 February 2019, 21:28:18 UTC | io_trace: fully working on 80D in QEMU! To merge the logs: cat MMIO.LOG DEBUGMSG.LOG | sort -n | 01 February 2019, 21:28:18 UTC |
4e69001 | alex@thinkpad | 01 February 2019, 18:34:26 UTC | io_trace: minimalist DIGIC 6 port, with inline ARM/Thumb instruction re-execution Expected output: - on real hardware: - no crash, everything working as usual, including our logging code - no new information in the logs (yet) - in QEMU: - data abort exception for each MMIO event - every trapped instruction disassembled correctly, whether ARM/Thumb16/Thumb32 (printed as green) - code returning to next instruction (execution trace should be checked on 3 cases: ARM/Thumb16/Thumb32) - no crash, logs saved as before (i.e. no visible side effects) | 01 February 2019, 18:34:26 UTC |
8fe2e7b | alex@thinkpad | 01 February 2019, 17:41:15 UTC | io_trace: minimalist DIGIC 6 port, for debugging Only one MMIO event will be captured. Compile with: make CONFIG_MMIO_TRACE=y Expected outcome: - on real hardware: no crash - in QEMU, with `CONFIG_QEMU=y`: ./run_canon_fw.sh 80D,firmware=boot=1 -d exec,io,int,v,autoexec |& grep -a -B 10 -A 50 'Data Abort' 0xfe0d32ec: 6800 ldr r0, [r0, #0] ; instruction attempting to perform MMIO FE0D32EC: Taking exception 4 [Data Abort] ; it could not be executed => data abort ...with DFSR 0xd DFAR 0xd4011000 ; it attempted to read register 0xd4011000 [...] 001CD568: MCR p15,0,Rd,cr6,cr2,0: RGNR <- 0x7 ; our code disables the memory protection 001CD56C: MCR p15,0,Rd,cr6,cr1,2: DRSR <- 0x0 ; so further MMIO operations will work [...] 0xfe0d32ed: 6800 ldr r0, [r0, #0] ; trapped instruction disassembled in QEMU (printed as green) [...] 0x001cd580: e25ef008 subs pc, lr, #8 ; our code attempting to retry the trapped instruction 0xfe0d32ec: 6800 ldr r0, [r0, #0] ; it matches the address where the data abort exception occured [INT] at init:FE0D32EC [0xD4011000] -> 0x1B ; the MMIO access went through [...] ; execution continues as if nothing happened | 01 February 2019, 17:41:15 UTC |
e7ec461 | alex@thinkpad | 01 February 2019, 17:03:04 UTC | Imported io_trace code from 296fdfb. Doesn't compile. | 01 February 2019, 17:03:04 UTC |
f3d6b09 | alex@thinkpad | 01 February 2019, 16:57:17 UTC | log-d6: fix some warnings | 01 February 2019, 16:57:17 UTC |
5c682d7 | alex@thinkpad | 31 January 2019, 16:17:09 UTC | log-d6: attempt to use cacheable memory for logging buffer Expecting smaller overhead for the logging code. | 31 January 2019, 16:17:09 UTC |
fa9c354 | alex@thinkpad | 31 January 2019, 15:58:57 UTC | Experiment - verbose startup logging on 80D Using hardcoded buffer address, as we don't have malloc during startup. https://www.magiclantern.fm/forum/index.php?topic=17360.msg211065#msg211065 | 31 January 2019, 15:58:57 UTC |
68e9e3e | alex@thinkpad | 27 January 2019, 22:17:14 UTC | Experiment - find unused memory areas on DIGIC 6 Usage: - compile with CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP enabled in src/config-defines.h - the startup process will be slower than usual (it might even lock up) - during the LED blinks (about 1 minute), exercise the camera a bit (open Canon menu, enter LiveView, take a photo and record a short video clip) - after the LED finishes blinking, a log file will be saved, showing what memory areas might be available (with a resolution of 1 MiB) - the test can be easily adapted to other models (e.g. DIGIC 7/8) | 27 January 2019, 22:17:14 UTC |
a2ae53d | alex@thinkpad | 27 January 2019, 20:51:06 UTC | CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP: fixed compilation and updated for DIGIC 6/7/8 (it's slower than it should be on earlier models, but still functional) | 27 January 2019, 20:51:06 UTC |
040b333 | alex@thinkpad | 27 January 2019, 17:46:26 UTC | log-d6: human-readable timestamps | 27 January 2019, 17:46:26 UTC |
9f30eb7 | alex@thinkpad | 09 December 2018, 13:35:42 UTC | Merged in ccritix/magic-lantern-3-200d/ccritix/stubss-edited-online-with-bitbucket-1536901475678 (pull request #945) | 09 December 2018, 13:35:42 UTC |
6814bbc | alex@thinkpad | 09 December 2018, 13:33:52 UTC | Close branch | 09 December 2018, 13:33:52 UTC |
73d1d2c | alex@thinkpad | 09 December 2018, 13:29:57 UTC | 200D: file I/O stubs (passing stub_test_file_io from selftest.c) | 09 December 2018, 13:29:57 UTC |
a401da8 | alex@thinkpad | 09 December 2018, 12:08:11 UTC | 200D: keeping only stubs we are going to use; fixed Thumb bit | 09 December 2018, 12:08:11 UTC |
0961a72 | alex@thinkpad | 09 December 2018, 11:18:18 UTC | 200D: memory allocation stubs | 09 December 2018, 11:18:18 UTC |
4ae1c1f | alex@thinkpad | 08 December 2018, 21:10:43 UTC | M50: dumper finally works if ROM contents is copied to RAM first (file I/O DMA apparently unable to read directly from ROM?) | 08 December 2018, 21:10:43 UTC |
7a083b6 | alex@thinkpad | 08 December 2018, 11:20:03 UTC | M50: memory allocation stubs | 08 December 2018, 11:20:03 UTC |
9154298 | alex@thinkpad | 08 December 2018, 10:36:20 UTC | M50: FIO stubs (not tested) | 08 December 2018, 10:36:20 UTC |
4245eb2 | alex@thinkpad | 07 December 2018, 23:28:20 UTC | boot-d78: cache maintenance routines apparently expected to preserve R3 M50 boots! | 07 December 2018, 23:28:20 UTC |
7c8fa29 | alex@thinkpad | 05 December 2018, 09:45:49 UTC | reboot.c: M50 (possibly others too) are loading FIR files on both CPU cores; since our startup core is not prepared for that, let's jump to main firmware on secondary cores | 05 December 2018, 09:45:49 UTC |
5c04c62 | alex@thinkpad | 13 October 2018, 08:08:01 UTC | reboot-dumper.c: attempt to identify LED address on DIGIC 8 (for EOS R, based on M50 LED addresses; unsuccessful) | 13 October 2018, 08:08:01 UTC |
a4bfc0a | alex@thinkpad | 13 October 2018, 08:15:36 UTC | reboot-dumper.c: polyglot startup code | 13 October 2018, 08:15:36 UTC |
03a2aa9 | Cristian Campean | 14 September 2018, 05:05:10 UTC | Several stubs found for 200D | 14 September 2018, 05:05:10 UTC |
5123b9d | alex@thinkpad | 12 September 2018, 10:09:51 UTC | minimal-d6: updated LV RAW experiments | 12 September 2018, 10:09:51 UTC |
8d5610e | alex@thinkpad | 12 September 2018, 10:08:21 UTC | 5D4: firmware signature for 1.0.4 | 12 September 2018, 10:08:21 UTC |
a243e3f | alex@thinkpad | 07 September 2018, 07:06:06 UTC | minimal-d6: 5D4 VRAM experiments | 07 September 2018, 07:06:06 UTC |
228b968 | alex@thinkpad | 07 September 2018, 06:32:47 UTC | log-d6: option to toggle between early startup logging (without malloc) and extended logging (with malloc => larger logs possible) | 07 September 2018, 06:32:47 UTC |
ce72e67 | alex@thinkpad | 06 September 2018, 21:04:21 UTC | minimal-d6: LED blink test | 06 September 2018, 21:04:21 UTC |
4ed0953 | alex@thinkpad | 06 September 2018, 18:54:24 UTC | 5D4: updated startup code and ported the 80D logging experiments | 06 September 2018, 18:54:24 UTC |
c981590 | alex@thinkpad | 06 September 2018, 17:29:05 UTC | 5D4: make sure it compiles reboot-dumper | 06 September 2018, 17:29:05 UTC |
6ec91e4 | alex@thinkpad | 06 September 2018, 17:19:49 UTC | 5D4: updated stubs; not tested yet | 06 September 2018, 17:19:49 UTC |
80ba4ff | g3gg0 | 30 October 2017, 10:54:26 UTC | 5Ds: debug logging experiment | 30 October 2017, 10:54:26 UTC |
2bc8491 | g3gg0 | 23 September 2017, 18:51:10 UTC | added slave dumping to minimal.c | 23 September 2017, 18:51:10 UTC |
e50531e | g3gg0 | 23 September 2017, 18:50:48 UTC | 5Ds: added some more stubs | 23 September 2017, 18:50:48 UTC |
f1dd461 | g3gg0 | 11 September 2017, 23:21:46 UTC | increase cache size assumpion to 16k for digic 6 | 11 September 2017, 23:21:46 UTC |
28262cb | g3gg0 | 09 September 2017, 21:37:24 UTC | 5Ds: can boot and load ML task | 09 September 2017, 21:37:24 UTC |
53398e7 | g3gg0 | 02 September 2017, 19:37:02 UTC | 5Ds: first steps, LED blink can be done | 02 September 2017, 19:37:02 UTC |
78d2a54 | g3gg0 | 30 October 2017, 10:57:06 UTC | start 5Ds test branch | 30 October 2017, 10:57:06 UTC |
8032a5c | alex@thinkpad | 14 September 2017, 14:35:13 UTC | installer: fix compilation | 14 September 2017, 14:35:13 UTC |
dbe0ba1 | alex@thinkpad | 14 September 2017, 16:06:34 UTC | Merged in daniel_fort/magic-lantern/update-to-700D.115 (pull request #813) Update to 700D.115 | 14 September 2017, 16:06:34 UTC |
e5be622 | alex@thinkpad | 14 September 2017, 16:04:42 UTC | Dummy merge with dfort's unified | 14 September 2017, 16:04:42 UTC |
e5a9df6 | alex@thinkpad | 14 September 2017, 15:58:30 UTC | 700D, 6D, 7D: fix AbortEDmac | 14 September 2017, 15:58:30 UTC |
186d1d1 | alex@thinkpad | 14 September 2017, 15:54:32 UTC | 700D: fix AbortEDmac | 14 September 2017, 15:54:32 UTC |
22f70bf | alex@thinkpad | 14 September 2017, 14:32:56 UTC | 700D: undo dialog_refresh_timer change in mlv_rec/mlv_lite (this address is the same in 1.1.4 and 1.1.5) | 14 September 2017, 14:32:56 UTC |
26f067a | Daniel Fort | 13 September 2017, 23:02:05 UTC | Update sf_dump module to 700D.115 | 13 September 2017, 23:02:05 UTC |
9422848 | Daniel Fort | 12 September 2017, 04:32:21 UTC | Fixed is_taskid_valid stub. | 12 September 2017, 04:32:21 UTC |
e8280c3 | Daniel Fort | 12 September 2017, 03:27:55 UTC | Merged unified into update-to-700D.115 | 12 September 2017, 03:27:55 UTC |
b92d89e | alex@thinkpad | 11 September 2017, 20:39:10 UTC | Merged in daniel_fort/magic-lantern/unified_silent_module_fix (pull request #854) modify silent.c to work with commit f404e5f | 11 September 2017, 20:39:10 UTC |
f0c744b | alex@thinkpad | 11 September 2017, 20:15:08 UTC | silent.c: there are no info bars in paused LiveView mode | 11 September 2017, 20:15:08 UTC |
261db01 | Daniel Fort | 10 September 2017, 20:37:25 UTC | Added minimal autoexec.bin for 700D | 10 September 2017, 20:37:25 UTC |
c7d3f89 | alex@thinkpad | 10 September 2017, 20:27:36 UTC | TCC Makefile: fix minor typo | 10 September 2017, 20:27:36 UTC |
3f4b46e | Daniel Fort | 10 September 2017, 20:21:37 UTC | Merged unified into update-to-700D.115 | 10 September 2017, 20:21:37 UTC |
b3760ce | Daniel Fort | 10 September 2017, 18:43:38 UTC | modify silent.c to work with commit f404e5f Raw backend: allow displaying raw previews without conflicting with LiveView info bars | 10 September 2017, 18:43:38 UTC |
0ae8464 | Alex | 17 August 2017, 07:20:53 UTC | Merged in raw_fixes (pull request #828) Raw fixes part 5 | 17 August 2017, 07:20:53 UTC |
70f0882 | cheshirecat | 21 July 2017, 01:39:43 UTC | Following on from Chris Miller's initial work, I have found so far 18 more stubs | 21 July 2017, 01:39:43 UTC |
42f6945 | Daniel Fort | 02 July 2017, 14:57:34 UTC | Merged unified into update-to-700D.115 | 02 July 2017, 14:57:34 UTC |
b96d4b7 | Daniel Fort | 02 July 2017, 14:28:40 UTC | Incorporated pull request #842 to fix Autoexposure module | 02 July 2017, 14:28:40 UTC |
abb803e | Daniel Fort | 01 July 2017, 22:29:01 UTC | Merged hudson/unified into unified to prevent new remote heads. | 01 July 2017, 22:29:01 UTC |
5f76671 | alex@thinkpad | 01 July 2017, 21:40:02 UTC | fio-ml: workaround for existing code using FIO_ReadFile incorrectly (such as mlv_play) selftest included | 01 July 2017, 21:40:02 UTC |
25093ae | Alex | 01 July 2017, 16:22:10 UTC | Merged in cache-fixes (pull request #838) Cache coherence fixes (clean_d_cache, FIO, EDMAC) Approved-by: Alex <broscutamaker@gmail.com> Approved-by: g3gg0 <g3gg0.de@gmail.com> | 01 July 2017, 16:22:10 UTC |
6577a98 | Alex | 01 July 2017, 16:22:10 UTC | Close branch cache-fixes | 01 July 2017, 16:22:10 UTC |
bf2109f | alex@thinkpad | 01 July 2017, 16:20:24 UTC | fio-ml: updated comment on FIO_WriteFile | 01 July 2017, 16:20:24 UTC |
2ce5a86 | Daniel Fort | 30 June 2017, 15:17:49 UTC | Update to latest exiftool | 30 June 2017, 15:17:49 UTC |