-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Semihosting not handled properly by QEMU #79359
Comments
I'm wondering whether it's better to update qemu fork to the newest version or try to apply patches from upstream on current version to fix this. Getting right patches is not trivial as there are many changes that depends on each other |
Upgrade to QEMU 9.1 is planned for some time in 2025; so, I would say it would be better to identify and backport the QEMU patch that fixed this issue to the Zephyr QEMU fork. |
why can't this be done before 2025? What is the holdup? Can we make this move faster? Let me know if anything is needed to make this go faster. |
Reworking all the existing patches in our fork (there are many) and making sure QEMU 9 is "compatible" with our CI (upgrading QEMU version has been quite painful in the past due to all sorts of breakages in the CI) takes a lot of work. I would prefer to tackle this alongside the rest of toolchain upgrade tasks. |
Describe the bug
I'm implementing backend driver for emulated flash that uses semihosting to utilize file stored on host machine as its flash storage. When I run tests on
qemu_cortex_a53
with QEMU from Zephyr SDK 0.16.8 some tests are failing. It looks like next read/write operation is started before the previous one is completed or they are not flushed. Either way content of the file is not changed what causes unexpected values. When I run the same tests with upstream QEMU all tests are passing. The issue hasn't been discovered as semihosting wasn't used extensively in zephyr. This is not a regression. It looks like somewhere between 7.0 used in Zephyr SDK and newest 9.1 upstream version of QEMU the issue has been fixed.To Reproduce
Checkout to the
pull/76639/head:pr_76639
to get emulated flash tests with semihosting backend driver and execute following command:If you want to run the test suite calling
qemu-system-aarch64
directly, use following command:Expected behavior
All tests should pass
Impact
This bug stops me from being able to merge the #76639
Logs and console output
Zephyr SDK 0.16.8 (downstream QEMU 7.0)
upstream QEMU 9.1
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: