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

mbed OS can't sleep when uVisor is enabled #420

Open
Patater opened this issue Apr 5, 2017 · 1 comment
Open

mbed OS can't sleep when uVisor is enabled #420

Patater opened this issue Apr 5, 2017 · 1 comment
Labels

Comments

@Patater
Copy link
Contributor

Patater commented Apr 5, 2017

The RTOS idle thread runs unprivileged. It'd be nice if it, through a register level gateway or vSleep API, could put the system to sleep.

Currently, the RTOS idle thread calls mbed OS sleep, which then calls hal_sleep, which has hundreds of implementations that do any number of things that unprivileged code can't do (leading to halts). For example, writing to the SCB->SCR register is a nono for unprivileged code (without the register level gateway), yet many implementations do this to control how deeply they want to sleep at various points throughout the program's execution.

@ciarmcom
Copy link
Member

ciarmcom commented Apr 5, 2017

ARM Internal Ref: IOTSEC-326

Patater added a commit to Patater/mbed-os that referenced this issue Sep 14, 2017
When uVisor is enabled, don't attempt to sleep. Attempting to sleep will
fail, as per <ARMmbed/uvisor#420>.
adbridge pushed a commit to ARMmbed/mbed-os that referenced this issue Sep 19, 2017
When uVisor is enabled, don't attempt to sleep. Attempting to sleep will
fail, as per <ARMmbed/uvisor#420>.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants