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

Support for userspace drivers #22

Open
farlepet opened this issue Sep 23, 2021 · 0 comments
Open

Support for userspace drivers #22

farlepet opened this issue Sep 23, 2021 · 0 comments
Projects

Comments

@farlepet
Copy link
Owner

farlepet commented Sep 23, 2021

Requirements:

  • Syscall to read/write ports (x86)
    • Potentially syscall to request access to specific ports, so a faulty driver that attempts to access a port it hasn't requested, it can be terminated
  • Memory mapping syscall
  • Registering and handling interrupts from userspace
    • Potentially by having a thread for each interrupt source, and blocking until the kernel messages it that an interrupt has been received
    • Threads waiting on an interrupt could also potentially be re-prioritized on interrupt reception, and the scheduler called
    • Registering a callback with the kernel would be more efficient, but would sacrifice some of the security/stability concerns of moving drivers to userspace
      • Inefficient drivers whose interrupts fire often can bog down the system
      • If drivers are run in kernel mode, they have greater access to the system
@farlepet farlepet created this issue from a note in Lambda OS (Backlog) Sep 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Lambda OS
  
Backlog
Development

No branches or pull requests

1 participant