ARMmbed / ARMmbed/uvisor

Expose unique API for uVisor hooks that can be called from priv and unpriv code

Open
#352 0 comments 0 reactions 0 assignees View on GitHub
enhancement issue
Dominant language
C
Stars
135
Forks
72
PR merge metrics
No merged PRs in 30d

Description

uVisor APIs that can be called from both privileged and unprivileged mode should provide a unique entry point.

The entry point would:
- Call the hook directly, if from privileged mode.
- Call the hook via a dedicated SVC, if from unprivileged mode.

``` C

void uvisor_some_api(void)
{
if (from_privileged()) {
uvisor_hooks->some_api;
} else {
SVC(SVC_UVISOR_SOME_API);
}
}
```

This would also make it easier to spot the execution mode of every exposed API when looking at its implementation.

Contributor guide

Open the contributing guide

Research direction

Review the exposed uVisor APIs, their hooks, and the existing SVC entry points. Define the unique entry-point pattern so privileged callers invoke the hook directly and unprivileged callers use a dedicated SVC; done means APIs callable from both modes follow this pattern.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
embedded-iot, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.