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

Install early exception handlers #49

Open
7 tasks
IsaacWoods opened this issue Feb 29, 2020 · 0 comments
Open
7 tasks

Install early exception handlers #49

IsaacWoods opened this issue Feb 29, 2020 · 0 comments
Labels
A-x86_64 Affects the x86_64 architecture C-kernel Component: kernel

Comments

@IsaacWoods
Copy link
Owner

IsaacWoods commented Feb 29, 2020

Remaining tasks:

  • Probably just hardcode how many IST stacks we create, and their indices
  • Allocate them using the kernel stack allocator (potentially for each CPU, see below)
  • Put all IST stacks in every CPUs (wait... do we need distinct stacks for every CPU [imagine if two CPUs page-fault, and then use the same stacks...] - maybe check what other people do)
  • Put the correct IST indices in the IDT entries for exceptions

To nicely detect kernel stack overflows:

  • Maybe extract symbols of the guard page for the initial kernel stack
  • Make some way of detecting guard pages for non-initial kernel stacks
  • Check for them in the #PF handler
@IsaacWoods IsaacWoods added A-x86_64 Affects the x86_64 architecture C-kernel Component: kernel labels Jun 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-x86_64 Affects the x86_64 architecture C-kernel Component: kernel
Projects
None yet
Development

No branches or pull requests

1 participant