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

[Feature] Separate address space support for tasks and contexts #320

Open
wipawel opened this issue Nov 4, 2023 · 0 comments
Open

[Feature] Separate address space support for tasks and contexts #320

wipawel opened this issue Nov 4, 2023 · 0 comments
Labels
feature New feature or request improvement A small enhancement, that makes already implemented features better Priority: 2 Very important feature
Milestone

Comments

@wipawel
Copy link
Contributor

wipawel commented Nov 4, 2023

Is your feature request related to a problem? Please describe.

Currently there are only two address spaces implemented in KTF: kernel context (shared by BSP context and all kernel tasks) and a user context used by usermode tasks.
This works fine unless we need to add modifications to the address spaces from within different tasks and limit the changes visibility to those contexts only (I.e. we need tests with independent address spaces). Also different usermode tasks may need different address spaces for similar reasons.

Describe the solution you'd like

Keep current kernel context page tables as a BSP context address space and use it as a starting references for kernel tasks address spaces.
Upon task creation create a new address space with references in the task struct and duplicate the reference BSP page tables by allocating new frames for everything (maybe except from page structure tables with all entries marked as global).
Keep the current user context page tables as a reference for all new usermode tasks and duplicate them the same way like the kernel context page tables.

@wipawel wipawel added feature New feature or request improvement A small enhancement, that makes already implemented features better Priority: 2 Very important feature labels Nov 4, 2023
@wipawel wipawel added this to the v0.6.0 milestone Nov 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request improvement A small enhancement, that makes already implemented features better Priority: 2 Very important feature
Projects
None yet
Development

No branches or pull requests

1 participant