Skip to content
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

QEMU special key handling is broken on qemu_cortex_a53 #25585

Closed
stephanosio opened this issue May 25, 2020 · 1 comment · Fixed by #25605
Closed

QEMU special key handling is broken on qemu_cortex_a53 #25585

stephanosio opened this issue May 25, 2020 · 1 comment · Fixed by #25605
Assignees
Labels
area: Architectures area: ARM ARM (32-bit) Architecture area: QEMU QEMU Emulation bug The issue is a bug, or the PR is fixing a bug priority: medium Medium impact/importance bug
Milestone

Comments

@stephanosio
Copy link
Member

Describe the bug
QEMU special key handling (CTRL+A, ...) is broken on qemu_cortex_a53.

For example, when you press the CTRL+a, a key sequence, QEMU should exit, but that doesn't work; same goes for CTRL+a, c that is supposed to bring up console.

It is necessary to kill -9 the QEMU pid in order to exit QEMU.

To Reproduce
Run any test/sample on qemu_cortex_a53.

Expected behavior
CTRL+a, ... key sequences work.

Impact
The usability of qemu_cortex_a53, the only emulated AArch64 platform, is limited.

Environment (please complete the following information):

  • OS: Ubuntu 18.04
  • Toolchain: Zephyr SDK
  • Commit SHA: 4e4139c

Additional context
The offending commit is f156057 (#25514).

Note that the tests and samples are still functional. While it is possible that this is a QEMU bug, it is more likely that we have an incorrect DTS configuration for one of the interrupts (e.g. specifying edge-triggered interrupts as level-triggered).

@stephanosio stephanosio added bug The issue is a bug, or the PR is fixing a bug priority: medium Medium impact/importance bug area: ARM ARM (32-bit) Architecture area: QEMU QEMU Emulation area: Architectures labels May 25, 2020
@stephanosio stephanosio added this to the v2.3.0 milestone May 25, 2020
@stephanosio
Copy link
Member Author

stephanosio commented May 26, 2020

From "AArch64 Programmer's Guides - Generic Timer", 3.4 Interrupts:

The interrupts generated by the timer behave in a level-sensitive manner. This means that, once the timer firing condition is reached, the timer will continue to signal an interrupt [...]

Abhishek-brcm added a commit to Broadcom/zephyr that referenced this issue May 26, 2020
The interrupts generated by the generic timer behave in
a level-sensitive manner. Change the DT to reflect the same.

Fixes: zephyrproject-rtos#25585

Signed-off-by: Abhishek Shah <abhishek.shah@broadcom.com>
carlescufi pushed a commit that referenced this issue May 26, 2020
The interrupts generated by the generic timer behave in
a level-sensitive manner. Change the DT to reflect the same.

Fixes: #25585

Signed-off-by: Abhishek Shah <abhishek.shah@broadcom.com>
krip-tip pushed a commit to krip-tip/zephyr-local that referenced this issue May 30, 2020
The interrupts generated by the generic timer behave in
a level-sensitive manner. Change the DT to reflect the same.

Fixes: zephyrproject-rtos#25585

Signed-off-by: Abhishek Shah <abhishek.shah@broadcom.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Architectures area: ARM ARM (32-bit) Architecture area: QEMU QEMU Emulation bug The issue is a bug, or the PR is fixing a bug priority: medium Medium impact/importance bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants