This instance will be upgraded to Heptapod 0.31.0 (final) on 2022-05-24 at 14:00 UTC+2 (a few minutes of down time)

Commit 2cde487e authored by alex@thinkpad's avatar alex@thinkpad
Browse files

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)

--HG--
branch : qemu
parent 2b0b39ae12ed
......@@ -179,7 +179,7 @@ EOSRegionHandler eos_handlers[] =
{ "CFATA2", 0xC0620000, 0xC062FFFF, eos_handle_cfata, 2 },
{ "UART", 0xC0800000, 0xC08000FF, eos_handle_uart, 0 },
{ "UART", 0xC0810000, 0xC08100FF, eos_handle_uart, 1 },
{ "UART", 0xC0270000, 0xC0270000, eos_handle_uart, 2 },
{ "UART", 0xC0270000, 0xC027000F, eos_handle_uart, 2 },
{ "I2C", 0xC0090000, 0xC00900FF, eos_handle_i2c, 0 },
{ "SIO0", 0xC0820000, 0xC08200FF, eos_handle_sio, 0 },
{ "SIO1", 0xC0820100, 0xC08201FF, eos_handle_sio, 1 },
......@@ -2915,15 +2915,11 @@ unsigned int eos_handle_uart ( unsigned int parm, EOSState *s, unsigned int addr
static int enable_tio_interrupt = 0;
static int flags = 0;
if (address == 0xC0270000 && value == 0x80000000)
if ((address & ~0xF) == 0xC0270000)
{
msg = "TIO enable flag on EOS M3?";
goto end;
}
if (address == 0xC0270000 && value != (value & 0xFF))
{
/* unknown, probably not TIO */
/* this looks like a 16-char ring buffer (?!) */
static uint32_t uart_buf[16];
MMIO_VAR(uart_buf[address & 0xF]);
goto end;
}
......
50f24fe1c98ecc116168627af5fefc75 calls-main.log
21b903940b824dabae1c9edf203f2571 calls-main.log
ce16a02dd60d16e87692acb188184ac6 calls-main.idc
8ca1cf56490fa8506b4bb1259b08d5ff calls-main-basic.log
7ac227fb9a68d274b9d0f8158af154f0 calls-main-basic.log
18f865355911cbe4961b2466247ec124 calls-main-basic.idc
70ff6d499efbfcf09134bea94354c65c calls-main.log
6d780baaaa7b3cf7ce661df883f0ba13 calls-main.log
c310c66d6684fd7dc319234b5cf5baf1 calls-main.idc
e8e70ed7307956efffeeffb8dc3ab7e4 calls-main-basic.log
2a92fdb23583773d7caddf78be8819c4 calls-main-basic.log
19d480bfc9051e3af4b6a5d8657f3f40 calls-main-basic.idc
0874a44a6374ab87145995b828da0fc1 calls-main.log
7b029cee11dc11bc2c59b59b4d0b08dd calls-main.log
99896051eaba33b67f4ae69616e7c18b calls-main.idc
8feb6c7e7d6c53d6d41b20a5ea777884 calls-main-basic.log
de1f1978e684994eb289c398d0fee0fc calls-main-basic.log
8c0a73752f33fc4d71ac64ae26416ca9 calls-main-basic.idc
00be9005ec932fc6ccfc4966252c42dd calls-main.log
984eb3f6b0d25345a31b151c973d4942 calls-main.log
0ff92cd01367df5068e7f9338496066f calls-main.idc
f81ce56ede713bf834cd859ba18f10c3 calls-main-basic.log
0727d328699f748c00f774b27d7cf06c calls-main-basic.log
47ead2914539b37628dc4cc988e22cbf calls-main-basic.idc
ab7ba2acd7f986b7e78684f93ad29337 calls-main.log
b2e5a6abaeb1a6f2ee3ebc734bbcd940 calls-main.idc
c9febbbab67f6b3f7e21cb89a2734a76 calls-main-basic.log
1c830d52bdf6b66fab96bffa2d97f6e8 calls-main-basic.idc
3ab5f6b817528823fbd2cd4f934b7522 calls-main.log
23372499fde6c1942d5e0bdf0eea82df calls-main.idc
a0f371b877dc7084ff332ceda8c5722b calls-main-basic.log
e8c25daaf0f0c69d7158e496a17e78af calls-main-basic.idc
ec8c78f87bd1f8d9f25f7a5fb390b2d8 calls-main.log
b4876ccba0e3dee1ce63d27fd598024f calls-main.log
d04b2a589e66c61f0f5038d90c2b70bf calls-main.idc
6289dc7492fc332637ae2bfa4fb06b18 calls-main-basic.log
9f409de41d4cf432393eef8a0bcba71b calls-main-basic.log
df15b7ae9d3df0e1d1edbb1bee1f79e5 calls-main-basic.idc
bc237dbabb58eea90f8efbb045026499 calls-main.log
bb7031a19ceea700223bfa30ce0b3e4c calls-main.log
cc2befee42d44f2477a89bf719bcaf45 calls-main.idc
e7b6cd43e360f6552d33e14ddfad9c2e calls-main-basic.log
94569693d16bcd1bac68a3eab271d078 calls-main-basic.log
6311299e1380ee2510b15c2ea9640f96 calls-main-basic.idc
92235e6747b5f7337482b8b641801a73 calls-main.log
e04b62cb053e59e377f070c870c994ad calls-main.idc
492da892d71fa88e3258eba668db27f4 calls-main-basic.log
2fa90f37bc798298bfbcb1c617239a5d calls-main-basic.idc
d02ec4629d2195120e2b321a52177759 calls-main.log
e4544c20daf1d78430d7c5dfe08c4112 calls-main.idc
d5c44a27dda0d7c711fad3e87e91a53b calls-main-basic.log
62f4ab58a5dc12aa548e8611e563ca1c calls-main-basic.idc
404c9a661d4841cae1936f4f3f251721 calls-main.log
597fa46dbd40e8c1773b1613b64f3715 calls-main.log
be42f7617090cd4d235a186ffe77d14b calls-main.idc
7d41d006cb61c8e18b50f17c1e17334d calls-main-basic.log
64d8463ce4e1eb3f6b2070e68a50d6b0 calls-main-basic.log
3fda3c755a07568d87e46486c78c62f3 calls-main-basic.idc
6799e922579ca4449bf698a8fd477f57 calls-main.log
cec41d6805ec86329c73a334ea763c24 calls-main.idc
690520e8ae14a1fba9525e49a1a4a6e0 calls-main-basic.log
f159eb96e70d00145405d77e8197f2f7 calls-main-basic.idc
905591e00f9aa8b2a58381a8c31d723b calls-main.log
0483fe01349b60934bd393f9a3a997c8 calls-main.idc
a7ca254109216edf3dca3dbd4c2a0f4c calls-main-basic.log
c79ef47fe21836c8beb45ef0129e129d calls-main-basic.idc
7a6b1cc014bede40c82333d172ef5ff2 calls-main.log
e7ab02b15866580f0b6fd2609b33911d calls-main.log
2a1e54bf5eea64d14c00be9c5efec1ed calls-main.idc
7ec8a14dc121840853fb970bbabcc3b1 calls-main-basic.log
f0c390f0fe9a1716e584bf03fefde9f7 calls-main-basic.log
9524b88161cb55bbb5503ecdb0a2ae3c calls-main-basic.idc
6093e8b8afbb16c9de379fa3d8ac8b63 calls-main.log
741e770c10eb50fd78f8ee10a0433a2d calls-main.log
b8f4c08617ddf96f4ef284ea3affc73b calls-main.idc
79af0e36e2cc1e90a194fabdc04fa294 calls-main-basic.log
b67ba20b8b589002a1146689e57c28c8 calls-main-basic.log
48155a3147ab1516525e78f40efa43b7 calls-main-basic.idc
......@@ -927,12 +927,6 @@ function test_drysh {
return
fi
# same for DIGIC 6
if grep -q ZicoAssert $CAM/ROM1.BIN; then
echo -e "\e[33mskipping\e[0m"
return
fi
# most models require "akashimorino" to enable the Dry-shell
# a few don't (500D, 5D3eeko), but sending it anyway shouldn't hurt
......@@ -971,7 +965,7 @@ echo "Testing Dry-shell over UART..."
for CAM in 5D3eeko ${EOS_CAMS[*]}; do
((QEMU_JOB_ID++))
run_test drysh $CAM &
job_limit $((4 * $(nproc)))
job_limit_auto
done; cleanup
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment