Andreas Kling
dd6706a1a1
Fix null deref in contextSwitch().
2018-10-21 21:57:43 +02:00
Andreas Kling
46ff281695
Turn the syscall interrupt into a trap (by switching the gate type.)
...
This leaves interrupts enabled while we're in the kernel, which is
precisely what we want.
This uncovered a horrendous problem with kernel tasks silently
overflowing their stacks. For now I've simply increased the stack size
but I need a more MMU-y solution for this eventually.
2018-10-19 11:31:18 +02:00
Andreas Kling
3649638259
Add Regions concept to Task.
2018-10-18 14:55:20 +02:00
Andreas Kling
f67d695254
More paging stuff.
...
The test userspace process now runs at linear address 0x300000 which is
mapped to a dynamically allocated page from the MemoryManager. Cool!
2018-10-18 13:05:00 +02:00
Andreas Kling
89851a9ded
Use FileHandle from VFS.
2018-10-18 10:28:09 +02:00
Andreas Kling
9d5de91cf3
Actually destroy tasks after they crash.
2018-10-18 00:26:30 +02:00
Andreas Kling
56c1f9db8e
A userspace process can now GPF and the OS goes on!
...
This is really rickety, but it kinda sorta works for my test GPF!
2018-10-17 23:49:32 +02:00
Andreas Kling
77299cf54d
Add basic paging. Only identity maps the bottom 4MB as a start.
2018-10-17 23:13:55 +02:00
Andreas Kling
9171521752
Integrate ext2 from VFS into Kernel.
2018-10-17 10:57:23 +02:00
Andreas Kling
72bb80a9ae
These changes were lying around uncommitted in the old repo.
...
I'm just gonna commit them without too much thinking and then take
it from there.
2018-10-16 11:06:35 +02:00
Andreas Kling
9396108034
Import the "gerbert" kernel I worked on earlier this year.
...
It's a lot crappier than I remembered it. It's gonna need a lot of work.
2018-10-16 11:02:00 +02:00