https://bitbucket.org/daniel_fort/magic-lantern

sort by:
Revision Author Date Message Commit Date
d02b27d Closed branch EOSM2.103_new-dryos-task-hooks-qemu 21 January 2018, 02:44:10 UTC
8f56c92 Added ML-SETUP.FIR from a1ex. 18 January 2018, 18:54:21 UTC
35a90ae Updated firmware signature and commented it out -- turned on CONFIG_HELLO_WORLD to see if ML is running in this branch. Will not print Hello World so something needs fixing--or redo the new-dryos-task-hooks merge on the wip branch. 18 January 2018, 18:53:09 UTC
13221b6 Merged in latest qemu changes 18 January 2018, 18:39:18 UTC
bdbfe99 Merged in new-dryos-task-hooks changes 18 January 2018, 18:38:26 UTC
c7d1635 boot-hack: fix task dispatch hook message missing when booting with HIJACK_CACHE_HACK 12 January 2018, 17:36:19 UTC
36666bf QEMU logging: cleaned up hacks around memory logging options (logging tools may require any memory logging backends, but in the logs, only those items specifically requested by user will be printed) 09 January 2018, 15:27:37 UTC
f3eb6bd run_canon_fw.sh: hide osascript messages on Mac (when trying to bring the QEMU window in foreground, but there isn't any) 07 January 2018, 13:38:15 UTC
833fc82 QEMU install: keep the 64-bit gdb warning prompt on Mac and WSL (to be tested) 07 January 2018, 12:21:55 UTC
5705708 QEMU install: attempt to fix warnings about 64-bit gdb on Mac and WSL (to be tested) the script should print warnings about them, but accept them as valid 07 January 2018, 12:06:42 UTC
c42b4f7 QEMU install: fix path issue after compilation 07 January 2018, 12:01:10 UTC
789fda1 QEMU install: fix warning about lsb_release on Mac or other systems without it 07 January 2018, 11:54:30 UTC
7ccc005 QEMU install: attempt to fix warnings about 64-bit GDB on Mac (to be tested) 07 January 2018, 11:51:44 UTC
45365e1 QEMU install: fine-tuned QEMU compilation, to be tested (error handling, display the next steps after compilation finished) 07 January 2018, 11:48:15 UTC
21538ea QEMU install: on WSL and Mac, try the latest 64-bit toolchain (to be tested) Linux installation still uses the 32-bit one (older version) TODO: attempt to compile a 32-bit GDB for Mac Reworded warnings, as a 32-bit GDB is now only needed for development; it's no longer mandatory for running the examples, since http://www.magiclantern.fm/forum/index.php?topic=2864.msg190823#msg190823 07 January 2018, 11:17:15 UTC
4708fb5 QEMU: simplified SFDMA mapping by removing model-specific redirection (they are fairly consistent across all models) 07 January 2018, 09:48:19 UTC
4283160 QEMU tests: 40D call trace still not fully deterministic (CF uses some status polling, not just DMA) re-applying workaround (only check the "basic" call trace, without function arguments and extra info) 07 January 2018, 09:34:26 UTC
dd59df3 QEMU: documented SD detect registers on recent DIGIC 5 models (non-functional) 07 January 2018, 09:19:17 UTC
7aae8a4 QEMU: refactored CFDMA/UartDMA handling to remove model-specific redirections enabled UartDMA on all models (including VxWorks), but it's not working yet 70D: IFE DMA handling moved from SDDMA to CFDMA (minor, no noticeable side effects other than breaking the tests) 06 January 2018, 21:08:35 UTC
910df80 QEMU: fix 5D3 CF emulation (disabled by default; can be enabled from mpu_spells/5D3.h) 05 January 2018, 22:19:28 UTC
368f843 QEMU: documented property groups ("complex" MPU messages) including GDB logging hooks to find them 06 January 2018, 20:20:52 UTC
cc789d9 QEMU tests: relaxed shutdown checks (some false positives caused by non-deterministic emulation) (note: menu tests are executed non-determinstically, unlike the call trace, so each run is different) 06 January 2018, 20:37:18 UTC
cf78bad QEMU: attempt to get deterministic execution on CF models when using -icount operations are slowed down to avoid timing variations default behavior (without -icount) is not affected on main firmware, the call/return trace test is now deterministic on all models! fixme: CF emulation in PIO mode is still non-deterministic 06 January 2018, 19:42:01 UTC
3a69ff6 GDB scripts: generic logging hooks 05 January 2018, 08:27:31 UTC
b9cfdf2 QEMU readme: example of identifying the location of an assertion using gdb and -d callstack; minor updates 05 January 2018, 18:19:50 UTC
38ef0f6 QEMU: updated 750D/760D GDB scripts and tests; file I/O works! (using 750D SFDATA.BIN) 05 January 2018, 17:27:45 UTC
12d6f60 Merged in t3r4n/magic-lantern/qemu (pull request #894) 05 January 2018, 17:33:30 UTC
7463df5 QEMU: fix some MPU spells (typos caught by automated checking) 05 January 2018, 12:38:23 UTC
851774d QEMU readme: minor link updates 04 January 2018, 22:18:21 UTC
5e89620 QEMU readme: moved developer and reverse engineering notes to a new file (reason: bitbucket seems to have trouble rendering large files) 04 January 2018, 22:07:15 UTC
a82e33b QEMU readme, GDB scripts: info on debugging symbols; more symbol-file choices in comments (depending on what you are debugging - regular ML, reboot shim or Canon firmware) 04 January 2018, 21:48:46 UTC
5764da9 QEMU readme, GDB scripts: recommend '-ex quit' after patches.gdb, but not after debugmsg.gdb reason: when running with patches.gdb, you may not want to type "quit" after stopping the emulation however, this trick removes the ability to use interactive breakpoints in GDB (it would quit as soon as reaching one), so don't recommend it for debugmsg.gdb 04 January 2018, 20:06:14 UTC
e5e3d75 QEMU readme: fix typos; minor updates 04 January 2018, 18:50:57 UTC
122c74b QEMU: fix serial flash DMA on DIGIC 6 (tested on 80D, 5D4 and 750D with PR #894); refactored serial flash to use its own DMA (not shared with SD) 03 January 2018, 10:51:19 UTC
d496fcc QEMU: updated 80D test results for actual serial flash contents http://www.magiclantern.fm/forum/index.php?topic=17360.msg195519#msg195519 03 January 2018, 10:13:49 UTC
14e788e QEMU readme: formatting 02 January 2018, 22:19:13 UTC
3e2c5bd QEMU readme: GDB scripting examples, including callstack 02 January 2018, 22:00:44 UTC
f9f4d9e QEMU readme: use em-dashes instead of simple dashes 02 January 2018, 20:04:08 UTC
22e186f QEMU: changed I/O logging behavior - "-d io" implies "-d nochain -singlestep" (this prints correct PC values, but emulation is slower) - "-d io_quick" to get the old behavior (faster, with incorrect PC values) - "-d io_log" to print mmio_log entries for dm-spy-experiments - "-d nochain" always implies "-singlestep" (easier to enable this mode on other kind of logs that may need it) - updated README 02 January 2018, 19:55:31 UTC
b3d507b QEMU readme: moved the "Incorrect firmware version" section to Hacking (it's no longer an issue for regular users) 02 January 2018, 13:56:18 UTC
e8bede4 QEMU readme: started to document the steps needed to emulate Canon GUI 02 January 2018, 19:39:15 UTC
96d6706 QEMU readme: minor updates, corrections 02 January 2018, 18:02:29 UTC
1468ddb QEMU tests: updated after changing the SD image - format screenshots slightly different at free space (before only) - call/return traces are also different (different layout on the SD image) 02 January 2018, 19:00:17 UTC
9ec8c50 QEMU: updated sd.img.xz with latest portable display test (main change: fix identification of firmware version - 7889972) 02 January 2018, 16:24:58 UTC
5156554 GDB scripts: fix assert handling on EOS M10 02 January 2018, 10:09:46 UTC
23247e6 QEMU: moved 7D2 patches to GDB scripts; initial GDB script for 7D2 slave 02 January 2018, 09:25:57 UTC
7e5bd18 QEMU: defined FPGA memory regions for 5D2 and 50D (just to prevent some warnings; nothing changed in functionality) 01 January 2018, 18:37:31 UTC
2ca770d QEMU tests: run all cleanups on CTRL-C (stop all background tasks, make sure QEMU is no longer running, remove temporary files...) 01 January 2018, 17:54:00 UTC
f0e2f92 QEMU: enabled serial flash emulation on 5D4 (emulation on main firmware doesn't go that far, but can be tested from bootloader menu) 01 January 2018, 17:46:52 UTC
aa04156 QEMU: refactored serial flash CS handling to reduce duplicate code (moved CS register and tested value to model_list.c) 01 January 2018, 17:43:27 UTC
ea8a02d QEMU tests: reworked menu tests (including format) - use vncexpect whenever the md5 of the next screen is known (reduces timing sensitivity and also faster overall) - no more wait hacks required for format tests - use a single vncdotool command whenever possible (faster) - removed duplicate code (function for sending a menu sequence) - fine-tuned progress indicator 30 December 2017, 20:17:20 UTC
681f54f Added the serial flash line for 750D and 760D into model_list. See https://www.magiclantern.fm/forum/index.php?topic=17627.msg195357#msg195357 30 December 2017, 15:02:37 UTC
921ed99 MPU spells: allow changing various Canon properties that require confirmation from the MPU: ISO, shutter, aperture, EC, FEC, metering, drive, AF mode, picture style, WB, ExpSim, ALO, HTP, MLU all but WB were broken if changed from ML menu/scripts; they are working now (fixme: not included in tests) some of them were working from Canon UI before this patch (picture style, WB, ExpSim, metering and drive mode) WB was working before, but uses confirmation in logs; updated for consistency could not test on: 5D2, 40D, 50D, 550D, 650D, 700D, EOSM2 not working: EOSM (breaks previous tests => disabled) 29 December 2017, 23:38:42 UTC
3ad7ee8 QEMU: experimental mode dial emulation works on most models to some extent, except 40D, could not test on 550D, 650D, 70D, EOSM2 29 December 2017, 20:39:02 UTC
63a8f35 MPU spells: comment out possible mode switches not required for the GUI, but will interfere later with the mode switching feature affected models: 6D (call/return trace changed), 70D, 700D (no side effects noticed) 29 December 2017, 18:45:59 UTC
dfa3ff9 Merged in t3r4n/magic-lantern/qemu_installer (pull request #893) Further automation in install script to compile directly at the end. 29 December 2017, 20:19:13 UTC
2d90d16 QEMU: more MPU properties identified by brute-forcing 28 December 2017, 23:43:14 UTC
00a9999 QEMU: formatting fixes in extract_init_spells.py / known_spells.h 28 December 2017, 21:46:03 UTC
a80ea6a QEMU: added property IDs to known MPU spells also alternate names as comments 28 December 2017, 19:06:10 UTC
b3bfcb3 QEMU: identified more MPU spells, corrected a few others - experimentally (playing around in menus) - brute-forcing MPU messages to identify properties - cross-checked names and IDs in startup logs and ROM strings - still, it's impossible not to find a few incorrect ones 28 December 2017, 19:25:40 UTC
03cdf76 QEMU: experiment - brute-force MPU messages to find out their meaning 28 December 2017, 18:42:49 UTC
a0d8b63 Merged in latest qemu 23 December 2017, 06:30:26 UTC
7803a76 Merged in latest new-dryos-task-hooks 23 December 2017, 06:23:50 UTC
b4b14c2 QEMU: 1300D GUI works! - this camera uses a different DryOS timer (totally unexpected!) - removed JPCORE patch (firmware expects this to be initialized properly) - generic MPU spells; button codes from 1100D - powersave workaround (without it, GUI would lock up after a few seconds of inactivity) - no patches required! 22 December 2017, 22:19:00 UTC
cdbeca3 QEMU: cleaned up serial flash handling on models that don't use one previously, they were called on unrelated SIO/SDIO channels, with little or no side effects, other than breaking a few function call trace tests 22 December 2017, 18:39:39 UTC
56e56a2 QEMU: updated 80D tests for 1.0.2; DCIM test also works! 21 December 2017, 23:22:11 UTC
b1f18d0 QEMU: 80D file I/O support from main firmware (experimental, tested with "dumpf" in the serial console) 21 December 2017, 19:51:34 UTC
a1ec742 QEMU: enable card support on generic MPU spells (experimental, some models work better than others) 21 December 2017, 19:49:12 UTC
2204b2d GDB scripts: some experimental 80D patches, to be fixed in the emulation 19 December 2017, 23:18:59 UTC
3469e60 GDB scripts: log state object transitions (stubs for 550D and 80D) 19 December 2017, 22:58:24 UTC
d372e0e GDB scripts: 80D logging hooks for semaphores and message queues (disabled by default; also updated assert_log for 1.0.2) 19 December 2017, 22:55:48 UTC
3d6f437 QEMU: RomRead DMA is actually XDMAC (up to 4 channels; 80D only uses 2) 19 December 2017, 22:47:08 UTC
59fe1ed Task hooks: disabled task switch debug messages by default (too verbose) 19 December 2017, 18:32:45 UTC
340d993 550D, 600D: fix memory allocation (amend 5b4fe18) 19 December 2017, 18:25:59 UTC
501d212 QEMU: experimental MPU support for 80D, 750D and 760D seems to work with generic spells - at least the emulation goes further also minor refactoring / comments on MPU registers for earlier models also enabled for 5D4 just to avoid a crash - emulation doesn't reach mpu_send yet, but it calls InitializeIntercom 18 December 2017, 23:10:34 UTC
e0a5e1c 6D: ADTG shutter addresses did not work, trying another set 18 December 2017, 07:02:15 UTC
deb4495 QEMU tests: do not start if compilation fails (small nitpick that could result in false test results) 18 December 2017, 00:04:10 UTC
1c05269 QEMU: updated tests after b75e1342711a (context info is now correctly printed when returning from msg_queue_receive, take_semaphore etc) 18 December 2017, 22:33:07 UTC
5d399d3 6D: fix ADTG shutter addresses after memory layout change http://www.magiclantern.fm/forum/index.php?topic=5601.msg194754#msg194754 http://www.magiclantern.fm/forum/index.php?topic=5601.msg191914#msg191914 http://www.magiclantern.fm/forum/index.php?topic=15088.msg190890#msg190890 not tested, just confirmed the new addresses in QEMU fixme: are these deterministic? under what conditions? 17 December 2017, 22:29:31 UTC
d433973 QEMU: generic MPU spells compatible with most EOS models (experimental) 17 December 2017, 17:57:10 UTC
970fdf5 QEMU logging: fix losing track of called functions when DryOS tasks are switched outside interrupts see the assertion error on 5D4 callstack consistency test (after 442b691) to be tested; there was a similar error was on 80D, non-deterministic (encountered when running with -d debugmsg,callstack,tail with all patches enabled) 18 December 2017, 21:48:02 UTC
01a01cf QEMU: MPU status doesn't seem to matter much; simplified to prepare for DIGIC 6 compatibility todo: cross-check with actual hardware 17 December 2017, 21:56:12 UTC
620d846 QEMU: shared memory initialization for DIGIC 6 (MEMDIV messages) to try: SHM_SHOW_INFO / SHM_SHOW_DIST_INFO on serial console (only 80D, 750D and 760D reach this far) ( sleep 3; echo "akashimorino"; sleep 1; echo "SHM_SHOW_INFO"; sleep 1; echo "SHM_SHOW_DIST_INFO"; ) | ./run_canon_fw.sh 80D -serial stdio 16 December 2017, 22:59:36 UTC
e6510bb QEMU: refactored serial flash SIO handler with io_log 16 December 2017, 21:55:47 UTC
083b8e5 QEMU: refactored serial flash connections to avoid hardcoding camera model names fixme: D3 models and 1300D still hardwired to serial flash handlers to pass the tests 16 December 2017, 21:17:48 UTC
20b3c29 QEMU: experimental serial flash support for 80D using SFDATA.BIN from 70D, patched at 0x10004 from 09 8B C1 20 to 00 00 01 20 meaning: size of 70D's property block at 0x10000 is 0x12BC98 (data is shifted by 4 bytes) but 80D expects a maximum size of 0x12000 in FE47BF40 ("Liar Valid Packages!!" if the size check fails) so we trim the property block at the expected size of 0x12000 this will lose a few properties, but at least the emulation goes further (no SF dumper for D6 yet) other 8MB SFDATA.BIN patched in the same way should also work (700D, 650D, EOSM, 6D), but their data block at 0x10000 is larger, so more properties will be probably lost (not tested) 16 December 2017, 21:23:04 UTC
1e7847d QEMU: RomRead DMA for DIGIC 6, used for initializing property blocks (very similar to regular DMA, slightly different register offsets) 16 December 2017, 20:26:20 UTC
a393ac6 QEMU: slow down UART input to work around race conditions (not exactly clean, but at least DryShell tests are now passing on all models) 16 December 2017, 19:53:25 UTC
83e5ea4 QEMU: fixed UART on DIGIC 6 (DryShell works!) fixme: tests are failing, but typing on the UI works fine note: DIGIC 4/5 emulation changed a bit (0xC0270000 was misinterpreted before) 06 December 2017, 23:57:35 UTC
b1fa815 GDB scripts: hooks for logging properties (prop_request_change, MPU property functions) (example for 5D3.113 and 550D.109; useful for identifying properties) 06 December 2017, 23:03:24 UTC
e68549e qemu-util: fix compilation in bootloader context; sample boot messages in reboot.c, e.g. printing firmware signature or RESTARTSTART address (only present in the output binary when compiling with CONFIG_QEMU=y) 27 December 2017, 22:04:58 UTC
b02ec65 GDB scripts: disable serial flash version check patch on EOS M2 not really needed (the error message seems harmless and doesn't prevent GUI emulation) but changed ML firmware signature checking and won't be needed after getting a serial flash dump from a real camera anyway 27 December 2017, 16:58:46 UTC
67c6a23 QEMU install.sh: further Ubuntu/WSL cleanups (minor) 27 December 2017, 16:06:10 UTC
25c53d9 QEMU install.sh: fine-tuned messages and date format when renaming an older installation 27 December 2017, 16:06:10 UTC
0f0be00 Merged in t3r4n/magic-lantern/qemu_install_improvement (pull request #892) Option to rename or delete existing QEMU directory during installation 27 December 2017, 15:58:01 UTC
fd92947 QEMU install.sh: WSL fixes - checking for Ubuntu (uname -a does not report Ubuntu) - hide 32-bit toolchain options 24 December 2017, 10:38:04 UTC
7966a52 run_canon_fw.sh: Mac fixes - use is_mounted (lsof checks are enough) - typo in osascript when trying to bring QEMU window to front 24 December 2017, 09:12:54 UTC
da53169 run_canon_fw.sh: fine-tuned checking of whether SD/CF image is in use - use lsof to detect whether another process opened the SD/CF image for writing - only allow multiple instances of QEMU if using -snapshot (read-only access to SD/CF image) - check all results returned by losetup (note: lsof does not show whether the image is mounted) - use alternate methods (grepping mount output) if losetup is not available - to be tested/refined on Mac and Windows 10 WSL 23 December 2017, 22:15:23 UTC
cf02cd7 QEMU: RTC workaround to bring back 400D GUI (broken in 0d654a0, not covered by tests as it's very slow) 23 December 2017, 15:41:53 UTC
8b189ce QEMU: 40D GUI working! - MPU RX register was read 8 bits at a time (other models so far used 16-bit reads) - using 50D MPU spells - button codes found with extract_button_codes.py, from existing ML port - HotPlug: external monitor, USB, Toe, erase switch - CFDMA: new channel, protocol tweaks, enabled interrupts - Powersave workaround (GUI locked up after some seconds of inactivity, similar to 1300D) 23 December 2017, 07:57:10 UTC
back to top