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

Move the PL011 driver into the main workspace #1040

Merged
merged 14 commits into from
Oct 3, 2023

Conversation

NathanRoyer
Copy link
Member

@NathanRoyer NathanRoyer commented Sep 12, 2023

This moves the PL011 driver into the main workspace.

NathanRoyer and others added 9 commits August 24, 2023 14:23
There are no guarantees about the value of the interrupt flag when
context switching. If the context switch is voluntary, i.e. a thread
called `schedule`, interrupts will most likely be enabled, whereas
if a thread is preempted, interrupts will be disabled. But this means
that if a preempted thread A switches to a thread B that voluntarily
yielded, thread B will return from the call to `schedule` with
interrupts disabled.

The AArch64 code also needs to be modified but I'll leave that to
@NathanRoyer.

Signed-off-by: Klimenty Tsoutsman <klim@tsoutsman.com>
@NathanRoyer NathanRoyer changed the title Pl011 main workspace Move the PL011 driver into the main workspace Sep 12, 2023
@NathanRoyer NathanRoyer marked this pull request as draft September 12, 2023 16:22
@NathanRoyer NathanRoyer marked this pull request as ready for review September 26, 2023 14:09
Copy link
Member

@kevinaboos kevinaboos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks!

I wonder if there's a way to redesign the serial port interface such that we don't need an inner Option<PL011> inside the aarch64-specific serial port implementation. I find that design choice to be less than ideal.

@kevinaboos kevinaboos merged commit 0bd4447 into theseus-os:theseus_main Oct 3, 2023
3 checks passed
github-actions bot pushed a commit that referenced this pull request Oct 3, 2023
We now use that driver to implement the serial port on aarch64. 0bd4447
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.

3 participants