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

Update sonata-software to use the latest upstream cheriot-rtos #64

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

AlexJones0
Copy link
Contributor

@AlexJones0 AlexJones0 commented Dec 11, 2024

DO NOT MERGE THIS PR. It currently points CHERIoT RTOS onto a local branch, which is just the sonata branch rebased on top of the latest upstream cheriot-platform/cheriot-rtos:main with a few minor changes to our local updates to match the current upstreaming efforts. This PR will be ready for review and can be merged when this branch has been written to our local sonata branch on the lowrisc/cheriot-rtos fork, and the first commit has been changed to point to that version.

Updates sonata-software to use the latest upstream RTOS changes, including general RTOS improvements as well as updated drivers (e.g. PWM and Pinmux) which offer more fine-grained compartmentalisation and isolation of MMIO capabilities, for developing software that is more secure. This requires some minimal changes to the example code and documentation that lives inside this repository.

This has been tested to work with the existing demos/examples on the 1.0 bitstream.

DO NOT MERGE WITH THIS COMMIT AS IS; THIS POINTS CHERIOT-RTOS TO COMMITS
ONY A LOCAL BRANCH ON MY FORK. WAIT FOR THE CHANGES TO BE PUSHED ONTO
THE OUR LOCAL CHERIOT-RTOS FORK.

This commit bumps the version of CHERIoT RTOS being used to the head of
the updated `sonata` branch on our local RTOS fork, which pulls in the
latest commits and driver updates from upstream `cheriot-rtos` whilst
also still featuring our few remaining local changes yet to be
upstreamed.
The upstream PWM driver was updated to better compartmentalise and
isolate individual PWM capabilities. This PR updates the
demo/example/drivers living in `sonata-software` to make use of the
updated PWM driver interface.
Sonata's Pinmux driver has been updated to give it more granaular
capabilites, such that capabilities to individual pin sinks and block
sinks can be created and distributed, for better compartmentalisation
and isolation of software that uses pinmux.

This commit updates `sonata-software` to use the updated driver.
Currently, the only thing using Pinmux in the software repo is the IO
guide, and so this is updated to reflect the new software interface for
this driver.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant