1. Trammell Hudson
  2. Magic Lantern
  3. Branches

Branches

qemu

View source
qemu
Author Commit Message Date Builds
Alex
QEMU: restoring ML after format works too (500D) This test requires patched vncdotool (patch included).
Alex
QEMU: formatting the virtual card works! (500D)
Alex
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)
Alex
QEMU: fix ML helper MMIO (regression from M5, 7534423f)
Alex
QEMU: fix USB connect on DIGIC 4 models
Alex
QEMU: more dialogs working on 500D!
Alex
QEMU: fix handling INFO and PLAY (typo)
Alex
QEMU: fix IDC output for large runs
Alex
QEMU: fix typo in extract_init_spells
Alex
QEMU: use unix sockets for menu test
Alex
QEMU: menu navigation test (500D for now)
Alex
QEMU: fix race condition in key handling (very fast clicks are OK now)
Alex
GDB scripts: initial 1100D support (DebugMsg, task_create, SetEDmac)
Alex
GDB scripts: date/time patches for 500D, 550D, 600D, 60D, 70D
Alex
qemu-frsp: fix compilation for 5D3 (use 1.1.3)
Alex
Merged unified into qemu
Alex
QEMU: 500D MPU spells (menu navigation works, thanks Greg)
Alex
QEMU: current_task_addr for 500D, 550D and 600D
Alex
QEMU: fix LED not redrawing properly
Alex
QEMU, extract_init_spells.py: annotate some more properties; fix minor quirks (comments only)
Alex
QEMU: experimental multi-core emulation for M5
Alex
QEMU: initial support for EOS M5 (first core only; starts a few tasks)
Alex
QEMU: initial support for EOS M10 (starts a few tasks and mounts the SD card)
Alex
QEMU: option to log function calls and export them to IDA (-d calls -singlestep)
Alex
QEMU: 500D GUI test
Alex
QEMU: refactored 8-bit palette handling (removed duplicate code)
Greg
QEMU: handle 8-bit BMP palette menu mode
Greg
QEMU: GDB scripts 500D
Greg
QEMU: GDB scripts 500D
Alex
QEMU: disable JPCORE (fixes DCIM test regression on EOSM)
Alex
QEMU: 100D boots Canon GUI, 70D shows date/time screen!
Alex
QEMU: fix hotplug events on EOS M
Alex
QEMU: first steps for JPCORE emulation
Alex
QEMU: attempt to follow the MPU spell sequence even if some messages are repeated
Alex
QEMU: use larger delays before tail in run_test.sh
Alex
QEMU: allow retries in some tests, until successful (there are some nondeterministic bugs in the emulation)
Alex
QEMU: workaround for MPU communication sometimes getting out of sync
Alex
QEMU: updated 700D and EOSM display test checksums to match dumps from dfort
Alex
QEMU: fix eeko path
Alex
QEMU: allow arbitrary working directory via $QEMU_EOS_WORKDIR
Alex
QEMU: EOSM passes the DCIM directory test
Alex
GDB scripts: EOSM patches (startup sequence works)
Alex
QEMU: some definitions for 700D and EOSM
Alex
QEMU: current_task_addr for 1100D
Alex
QEMU: first steps for handling 5D3 eeko communication with main CPU
Alex
QEMU: minor update to 5D3 eeko memory map
Alex
GDB scripts: 5D3 eeko interrupts
Alex
QEMU: handle EDMAC offset 0x40
Alex
GDB scripts: initial support for EOS M; minor fix for 700D
Alex
QEMU: MPU spells for 700D and EOSM (logs from dfort)
Alex
QEMU: updated 1000D support for 1.0.7 (GDB script, display test checksum, fix current task address)
Alex
QEMU: Eeko DryOS timer (not sure it actually works)
Alex
QEMU: run Eeko from RAM dumps; minor updates
Alex
QEMU: quiet cache maintenance registers
Alex
QEMU: print description of some MPU registers as they are set (reveals memory map)
Alex
QEMU: option to enable UART debug logging (-d uart); mark "-d io" option as EOS-specific
Alex
QEMU: Eeko UART emulation (can navigate the debug menu)
Alex
QEMU: Eeko interrupt registers
Alex
QEMU: initial support for 5D3 Eeko (a small DryOS core running Thumb-2 code) credits: g3gg0 for identifying it
Alex
QEMU: fix SDIO regression on M3
Alex
QEMU: include LR in MMIO logs
Alex
QEMU: fix CHSW assert on M3
Alex
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
Alex
QEMU: DCIM test appears to work on 450D as well ... given enough retries :)
Alex
QEMU: code for listing EDMAC interrupt names (for dm-spy-experiments)
Alex
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.
Alex
QEMU: 450D MPU spells and button codes
Alex
QEMU: fix 5D4 ram_manufacturer_id; updated display test result for latest ROM
Alex
QEMU: fix EDMAC off1 for DIGIC 3
Alex
QEMU: handle EDMAC "pop" operation
Alex
QEMU: refactored MMIO registers with macros for direct mapping to variables (less verbose)
Alex
QEMU: dummy Furikake emulation for 60D (just copy the data from input to output)
Alex
QEMU: partial EDMAC transfers (incomplete)
Alex
QEMU: fix EDMAC connection count; asserts
Alex
QEMU: full-res silent picture test (working on 60D and 1200D)
Alex
550D: fix compiling minimal target
Alex
Minimal test binary for taking and previewing a full-res silent picture, for QEMU test suite
Alex
Merged cleanup into qemu
Alex
Merged unified into qemu
Alex
QEMU: reordered tests
Alex
QEMU: file I/O test from main firmware (creating DCIM directory if missing); only works on a few models for now
Alex
QEMU: portable ROM dumper test (works on most SD models)
Alex
QEMU: PIO SD transfers (450D mounts the SD image)
Alex
QEMU: always print SDIO errors
Alex
QEMU: fix SD interrupts on 450D (attempts to mount the card, but fails at sdPIOReadBlk)
Alex
QEMU: current_task_addr for some VxWorks models (for MMIO registers)
Alex
GDB scripts: ignore %R in DebugMsg (40D: "%RegisterCBRSetupRequest")
Alex
QEMU: initial MPU support for 450D, with 60D spells
Alex
QEMU: fix VxWorks heartbeat (including HPTimer workaround)
Alex
QEMU: handle extended HPTimers (VxWorks heartbeat seems to work)
Alex
QEMU: EDMAC interrupts for DIGIC 5
Alex
QEMU: 550D shows date/time screen (EDMAC fix)
Alex
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)
Alex
QEMU: dummy emulation of image preprocessing modules (ADKIZ also triggers interrupt on 60D => evfInit succeeds)
Alex
QEMU: partial EDMAC transfer emulation
Alex
GDB scripts: log some EDMAC calls (60D stubs)
Alex
QEMU: updated 40D and 100D display tests for latest firmware versions
Alex
install.sh: also copy test scripts
Alex
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.
Alex
QEMU: initial support for 5D4 AE processor (K349AE)
Alex
QEMU: test for GDB scripts (not all models working; fixed 7D2 and M3)
Alex
QEMU: run_tests.sh refactor to avoid duplicate camera lists
Alex
QEMU: fix 400D startup messages
Alex
QEMU: quiet 60D hotplug activity
Alex
QEMU: refuse to run if any of the card images is mounted
Alex
QEMU: fix 5D4 display emulation; updated SD image with new display test
Alex
QEMU: initial support for 5D4 (SD image updated too with latest display test)
Alex
QEMU: initial support for 40D, 400D and 450D (display test working)
Alex
QEMU: 5D runs the display test
Alex
QEMU: experimental CFDMA support (5D loads autoexec)
Alex
QEMU: fix 50D (display test works)
Alex
GDB scripts: increase tcp connect timeout
Alex
QEMU: initial support for 5D (no autoexec yet)
Alex
QEMU: initial support for A1100 (proof of concept, CC frantony)
Alex
GDB scripts: 1000D task info
Alex
GDB scripts: check CURRENT_TASK before dereferencing (to avoid nonprintable output when invalid)
Alex
Updated SD image with display test updated for VxWorks Also updated screenshots' MD5 (the new test prints an extra line)
Alex
QEMU: 1000D display from bootloader
Alex
QEMU: initial support for 1000D (DIGIC 3)
Alex
QEMU: moved RAM and TCM parameters to model_list.c; fixed TCM size on DIGIC 6
Alex
QEMU: assume 80D bootloader on 7D2 for now
Alex
QEMU test suite: also prepare a temporary CF card image
Alex
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)
Alex
QEMU test suite: custom test for EOS M3
Alex
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 TODO: - 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
Alex
QEMU: fix LED emulation on most models
Alex
QEMU: fix LED emulation on 5D3
Alex
QEMU: fix SDDMA handling on DIGIC 6 (EOS M3 now loads DISKBOOT.BIN from the card)
Alex
GDB scripts: log more register_interrupt calls on EOS M3
Alex
GDB scripts: log more DebugMsg calls on EOS M3
Alex
GDB scripts: refactored DebugMsg to allow code reuse
Alex
QEMU: revised sound patch EOS M3 (was patching a generic semaphore routine; fixes SD init)
Alex
QEMU: card LED emulation (not all models tested)
Alex
QEMU: battery patch no longer needed on EOS M3 (Ant123)
Alex
QEMU: load ROM0 (aka SECONDARY16.BIN) on EOS M3
Alex
QEMU: moved rom[01]_addr to model_list.c; fix ROM1 address for D6
Alex
QEMU: initial support for 750D and 760D
Alex
QEMU: moved RAM manufacturer ID to model_list.c (80D)
Alex
QEMU: experimental cache hack emulation (very incomplete; 60D dm-spy works!)
Alex
QEMU: updated Makefile options and comments
Alex
QEMU: 700D serial flash + GDB scripts
Niklas Fejes
100D: fix divide-by-zero caused by Set_AVS.
Niklas Fejes
QEMU: Fix serial flash, add 100D spells.
Alex
QEMU: 5D3 1.1.3 boots Canon GUI!
Alex
QEMU: fix a display init lockup on 5D3. Canon GUI runs on 1.1.3!
Alex
QEMU: hotplug registers for 5D3
Alex
QEMU: fix SDIO response bytes order (fixes SD identification; now works on DIGIC 5 too)
Alex
QEMU: minor display fix
Alex
QEMU: dummy EDMAC emulation (experiment)
Alex
QEMU: moved ROM files under camera subdirectory; you no longer need to concatenate them; they can be made optional (for cameras with only one ROM)
Alex
QEMU: better CPU model for DIGIC 6; removed Thumb interrupts hack
Alex
GDB scripts: minor speed optimization for DebugMsg
Alex
QEMU: disabling signature check at startup no longer needed
Alex
QEMU: P15 patch no longer needed on M3
Alex
QEMU: SD write protect (boot) switch for M3
Alex
QEMU: SD1stInit appears to work on EOS M3
Alex
GDB scripts: print SD1stInit messages
Alex
QEMU: battery level for EOS M3, from Ant123
Alex
QEMU: PhySw values for EOS M3, from Ant123
Alex
QEMU: ADC values for EOS M3, from Ant123
Alex
QEMU: also log CP registers ignored during emulation (ARM_CP_NOP, LOG_ALL_CP_READS/WRITES)
Alex
QEMU: fix use after free when using LOG_ALL_CP_READS
Alex
GDB scripts: 80D patch (tasks starting now)
Alex
QEMU: log all CP register reads
Alex
GDB scripts: list 80D memory regions
Alex
QEMU: updated usage examples in install.sh
Alex
QEMU: hijack machine option "firmware" to pass machine-specific parameters via command line for example, to enable the boot flag: ./run_canon_fw 60D,firmware="boot=1"
Alex
QEMU: moved HPTimer interrupt to model_list
Alex
QEMU: moved bootflags address to model_list
Alex
QEMU: bootloader display working on 80D!
Alex
QEMU: clock enable register on DIGIC 6
Alex
GDB scripts: 80D DebugMsg, tasks, interrupts
Alex
QEMU: fix crash when bootloader display buffer is not set
Alex
QEMU: 6D patches no longer needed
Alex
QEMU: fix some button codes
Alex
QEMU: most patches no longer needed for 7D2 either (it runs with 80D bootloader)
Alex
QEMU: CP15 patches no longer needed for EOS M3
Alex
QEMU 80D: initial support for SDIO/SDDMA; loading autoexec.bin works!
Alex
QEMU 80D: bootloader emulation works!
Alex
QEMU: initial support for 80D
Alex
QEMU: removed old key handling code and other hacks that are no longer needed (at least on those models that can boot the GUI)
Alex
QEMU: fix install
Alex
QEMU: fix 100D scrollwheel codes
Alex
QEMU: cleaned up some button code names
Alex
QEMU: make MPU init spells static
Alex
QEMU: a few more button codes
Alex
QEMU: refactored MPU key handling to remove duplicate button codes
Alex
QEMU: print help regarding available keys
Alex
QEMU: script to extract MPU button codes from ROMs (it emulates bindReceiveSwitch using unicorn)
Alex
QEMU: proof of concept: key handling via MPU spells. Can adjust date/time on 600D, can navigate ML menu without CONFIG_QEMU on 1200D with scrollwheels (PgUp,PgDn,[,]) and SET (spacebar)
Alex
QEMU: refactored MPU code to allow sending arbitrary messages
Alex
QEMU, MPU spells: recognize button codes from gui.h (comments only)
Alex
QEMU, MPU spells: mark bindReceiveSwitch messages (comment only)
Alex
QEMU, MPU spells: mark NotifyGUIEvent messages (comment only)
Alex
QEMU: script to manage MPU spells (autogenerated version + patches with manual modifications)
Alex
QEMU: updated 5D2 MPU spells
Alex
QEMU: moved MPU spells to separate files, one for each camera
Alex
QEMU, extract_init_spells.py: get camera model name from log file name
Alex
QEMU: use "-d int" for showing interrupt messages
Alex
QEMU: use "-d io" for showing MMIO activity
Alex
GDB scripts: log semaphores, message queues and interrupts for EOS M3
Alex
QEMU: better patch for battery checks on EOS M3
Alex
QEMU: handle ADC on EOS M3 (print channel ID only)
Alex
GDB scripts: comments update
Alex
GDB scripts: increase timeout for connection to qemu
Alex
GDB scripts: patch RTC init function for 550D and 600D
Alex
GDB scripts: only output should be hex by default, not input
Alex
GDB scripts: log message queues (600D stubs)
Alex
GDB scripts: 600D DebugMsg, tasks, MPU messages
Alex
QEMU: MPU spells for 600D
Alex
GDB scripts: log resource locks (stubs for 550D)
Alex
GDB scripts: log eventprocs (stubs for 550D and 5D3)
Alex
GDB scripts: 550D DebugMsg, tasks, semaphores, MPU
Alex
QEMU: merged eos_handle_serial_flash.[ch] into serial_flash.[ch]
Alex
QEMU: removed debug_message_helper (now implemented with pure GDB scripts)
Alex
QEMU: check access type for EDMAC CHSW registers (only writes implemented)
Alex
QEMU: emulate power control registers (dummy)
Alex
QEMU: 550D MPU spells (not yet working)
Alex
GDB scripts: track semaphores (create, delete, take, give)
Alex
QEMU: 1100D boots Canon GUI with 60D MPU spells as well :)
Alex
QEMU: all DIGIC 4 cameras appear to use the same MPU request register
Alex
QEMU: fix typo
Alex
QEMU: 1200D boots Canon GUI with... 60D MPU spells!!!
Alex
QEMU: model HPCopy DMA transfer delays (fixes assert in 1200D)
Alex
GDB scripts: 1200D experiments
Alex
QEMU: current_task_addr and mpu_request_register for 1200D
Alex
Merge qemu-nkls into qemu
Alex
QEMU: autodetect MPU spell set from camera model
Alex
QEMU: include a small SD/CF card image during installation
Alex
QEMU: fix serial flash transfers via DMA, thanks nkls
Alex
QEMU: moved firmware_start = 0xFF010000 to digic 4 defaults in model_list.c
Alex
QEMU: fix SDIO interrupt for DIGIC 5 cameras
Alex
QEMU: moved I/O memory size to model_list
Alex
QEMU: moved DryOS timer interrupt and ID to model_list
Alex
QEMU: removed unused Q_HELPER_ADDR
Alex
QEMU: moved ROM[01]_SIZE to model_list (note: digic 6 dumps must be 64MB now)
Alex
QEMU: generic parameters in model_list, for all cameras with the same digic version
Alex
QEMU: renamed rom_start to firmware_start
Alex
QEMU: moved serial flash size into model_list (refactor)
Alex
QEMU: moved MPU request register into model_list (refactor)
Alex
QEMU: moved current_task_addr into model_list (refactor)
Alex
QEMU: link struct eos_model_desc into EOSState, rather than copying individual fields (refactor)
Alex
QEMU: reformatted model_list for easier expansion
Alex
QEMU: 5D3 MPU spells
Alex
QEMU: WFI emulation via CP15 (5D3, maybe others)
Alex
GDB scripts: log DebugMsg and task_create on 5D3
Alex
QEMU: patch battery init on EOS M3
Alex
QEMU: TIO fix for EOS M3
Alex
QEMU: print task name for I/O register accesses (experimental)
Alex
GDB scripts: misc stubs for 70D
167 commits not shown.