- 09 Apr, 2019 1 commit
-
-
alex@thinkpad authored
It was quite hard to pass the test suite, as there were lots of edge cases: - context switch may happen either in a timer interrupt, or in a regular task (e.g. msleep, sempahores and so on) - context switch is not atomic - it happens a few instructions (or function calls!) afterh updating the current task pointer - until the registers are swapped for the new task, we are still on the stack of the previous task - there may be dummy task switches (i.e. from one task to the same task) - an interrupt can occur in the middle of a (non-atomic) context switch (!) - VxWorks models do not even use a unique task ID (!) Result: QEMU no longer crashes during logging tests! Issue: these cameras do not appear to use an unique task ID. Workaround: assign our own task IDs. --HG-- branch : qemu
-
- 08 Apr, 2019 1 commit
-
-
alex@thinkpad authored
QEMU test suite: only use 2/3 of available CPU cores. It appears to improve the repeatability of results in some CPU- and IO-intensive tests. In other words, don't believe the Hyper-Threading hype :) --HG-- branch : qemu
-
- 06 Apr, 2019 2 commits
-
-
alex@thinkpad authored
--HG-- branch : qemu
-
alex@thinkpad authored
Before: uint32_t x; cpu_physical_memory_read(addr, &x, 4) After: uint32_t x = eos_get_mem_w(s, addr); Also, minor cleanups to eos_get_current_task_* (not expected to make a difference) --HG-- branch : qemu
-
- 27 Mar, 2019 1 commit
-
-
alex@thinkpad authored
(FindFirst/FindClose/FindNext repeated many times) --HG-- branch : qemu
-
- 25 Mar, 2019 3 commits
-
-
alex@thinkpad authored
Only FindFirst/FindNext test for now; others to be added later. Compile with e.g.: cd minimal/qemu-fio make MODEL=60D clean make MODEL=60D install_qemu CONFIG_QEMU=y FIXME: works on DIGIC 4/5, fails on DIGIC >= 6, not tested on DIGIC 2/3. --HG-- branch : qemu
-
alex@thinkpad authored
(slightly faster, no longer times out) --HG-- branch : qemu
-
alex@thinkpad authored
(a8bdfa98fe3d) --HG-- branch : qemu
-
- 05 Mar, 2019 1 commit
-
-
alex@thinkpad authored
--HG-- branch : qemu
-
- 03 Mar, 2019 1 commit
-
-
alex@thinkpad authored
Some workarounds were required to emulate the bootloader. Communication between the two cores is not yet handled. --HG-- branch : qemu
-
- 04 Mar, 2019 4 commits
-
-
alex@thinkpad authored
(slave core is still 7D2S) --HG-- branch : qemu
-
alex@thinkpad authored
(previously, it was a mix between an incomplete 5D firmware and 1000D bootloader) --HG-- branch : qemu
-
alex@thinkpad authored
(adapted commit e8bb011bcb0b) --HG-- branch : qemu
-
alex@thinkpad authored
--HG-- branch : qemu
-
- 11 Feb, 2019 1 commit
-
-
alex@thinkpad authored
This used to work in earlier versions, but target_disas changed its syntax in 2.5.0. Useful for debugging io_trace on DIGIC 6 (with CONFIG_QEMU=y). --HG-- branch : qemu
-
- 04 Mar, 2019 1 commit
-
-
alex@thinkpad authored
simplified condition for 946_PRBS size info --HG-- branch : qemu
-
- 11 Feb, 2019 2 commits
-
-
alex@thinkpad authored
- enable bit (similar to PRBS on DIGIC 5 and earlier) - consistency check for base address and size (base address must be multiple of size - Cortex R4 TRM p.178) - subregion disable bits (if used) Useful for emulating io_trace. Note: QEMU already calls tlb_flush when writing to DRSR, DRBAR or DRACR. No need to apply e4fd44e88c8f on DIGIC 6. --HG-- branch : qemu
-
alex@thinkpad authored
--HG-- branch : qemu
-
- 03 Mar, 2019 13 commits
-
-
alex@thinkpad authored
--HG-- branch : qemu
-
alex@thinkpad authored
--HG-- branch : qemu
-
alex@thinkpad authored
(19f18f0492ea from recovery branch) --HG-- branch : qemu
-
alex@thinkpad authored
- now working on all EOS models - always update to latest version - allow RESCUE.LOG alongside with the ROM dumps - report extra files on the SD card, if any --HG-- branch : qemu
-
alex@thinkpad authored
- do not allow ROM files with duplicate data - most models do not have ROM0; only define where it is actually used - ROM0/1, where present, should be defined with the right size (too low - won't boot; too high - will fail the duplication test) - test results: context changed in some models without ROM0 (noise from the ROM dump was sometimes pointing to strings in ROM1) https://www.magiclantern.fm/forum/index.php?topic=5601.msg212692#msg212692 --HG-- branch : qemu
-
alex@thinkpad authored
It appears to be a bug in GDB, e.g. trying to access guest memory when setting a convenience variable. Reprogramming the MPU to allow memory access where GDB expects it appears to do the trick for now. --HG-- branch : qemu
-
alex@thinkpad authored
--HG-- branch : qemu
-
alex@thinkpad authored
(5D, 40D, 400D, 450D, 1000D) The interrupt ID is only stored the stack, but the address appears to be repeatable for the first nesting level. Better than nothing. --HG-- branch : qemu
-
alex@thinkpad authored
--HG-- branch : qemu
-
alex@thinkpad authored
--HG-- branch : qemu
-
alex@thinkpad authored
(non-functional) --HG-- branch : qemu
-
alex@thinkpad authored
(right before the interrupt ID, there is a counter telling whether we are running from interrupt or not, on all models so far) --HG-- branch : qemu
-
alex@thinkpad authored
--HG-- branch : qemu
-
- 02 Mar, 2019 2 commits
-
-
alex@thinkpad authored
QEMU test suite: use larger GUI timeouts for 70D, 1100D, 1200D, 1300D, EOSM and EOSM2, alongside 100D Fixes some intermittent failures in GUI tests, narrowed down to first button press being sent before starting Canon's GuiMainTask. --HG-- branch : qemu
-
alex@thinkpad authored
(colors incorrect if QEMU was already running) --HG-- branch : qemu
-
- 11 Feb, 2019 2 commits
-
-
alex@thinkpad authored
QEMU: experimental SD/CF clock tests (some DIGIC 3/4 models; working only in bootloader context; disabled by default) These were used to fix/test the portable ROM dumper on old models. FIXME: with these changes, main firmware does not boot, so they were disabled. --HG-- branch : qemu
-
alex@thinkpad authored
(this "feature" interferes with debugging; was present since the first commit, in 2013) --HG-- branch : qemu
-
- 15 Jan, 2019 1 commit
-
-
alex@thinkpad authored
--HG-- branch : qemu
-
- 06 Jan, 2019 4 commits
-
-
alex@thinkpad authored
(found with UBSan) --HG-- branch : qemu
-
alex@thinkpad authored
(found with UBSan) --HG-- branch : qemu
-
alex@thinkpad authored
(found with ASan; not affecting well-behaved code) --HG-- branch : qemu
-
alex@thinkpad authored
(found with ASan) --HG-- branch : qemu
-