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

Implement VC handling in stage2 and COCONUT kernel #14

Open
joergroedel opened this issue Mar 28, 2023 · 2 comments
Open

Implement VC handling in stage2 and COCONUT kernel #14

joergroedel opened this issue Mar 28, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@joergroedel
Copy link
Member

Move away from directly making GHCB calls and implement a proper #VC exception handler to handle NAE events.

This is required for CPL-3 support, as some instructions that cause NAEs are allowed in unprivileged code (e.g. CPUID). But the console printing support also benefits from this, as its driver infrastructure can be removed so that it uses IN/OUT instructions directly.

Further, by handling #VC exceptions in stage2 already we can get console support very early in the COCONUT kernel, which makes debugging of the early boot stages much easier.

There is no reason yet to handle MMIO related NAE events, but IOIO is needed, best including INS/OUTS instructions (but these are not needed in the first step).

@joergroedel joergroedel added enhancement New feature or request help wanted Extra attention is needed labels Mar 28, 2023
@p4zuu p4zuu self-assigned this Apr 19, 2023
@p4zuu p4zuu mentioned this issue Jun 20, 2023
@00xc
Copy link
Member

00xc commented Nov 30, 2023

Can we close this, since #55 is merged?

@p4zuu
Copy link
Collaborator

p4zuu commented Dec 1, 2023

Can we close this, since #55 is merged?

I guess so. There are still improvement to do, like implementing all NAE events handlers, and making #VC handler IST, on which I plan to work soon, but I let @joergroedel decide on the closing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants