Commit graph

7616 commits

Author SHA1 Message Date
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 286e27ef40 Allow running in QEMU with "./run q"
The kernel doesn't run in QEMU right now and I don't know why.
2018-10-17 16:58:35 +02:00
Andreas Kling 8ff394f83f Fix a dumb in buffer_putch. 2018-10-17 16:56:47 +02:00
Andreas Kling 9aa88fe186 Add a PIC::getISR() helper. 2018-10-17 16:54:49 +02:00
Andreas Kling e0f31d38a2 Add -fno-pic -fno-pie to build flags. 2018-10-17 16:49:30 +02:00
Andreas Kling f82b25d4f9 Fix some minor build warnings. 2018-10-17 16:48:43 +02:00
Andreas Kling 39fa1eb2c2 Print the contents of motd.txt on boot. 2018-10-17 12:07:39 +02:00
Andreas Kling 705832f387 List the root directory after mounting /.
So cool that it works! It's spewing out a bunch of terminal escape sequences
that the OS console obviously doesn't support, but we'll get there too.
2018-10-17 11:47:14 +02:00
Andreas Kling b05ed591ab VFS mounts an ext2fs root! :^) 2018-10-17 11:44:06 +02:00
Andreas Kling d2425495ca VirtualFileSystem class builds inside Kernel. 2018-10-17 11:40:58 +02:00
Andreas Kling 9171521752 Integrate ext2 from VFS into Kernel. 2018-10-17 10:57:23 +02:00
Andreas Kling aec8ab0a60 Add the basic character devices to kernel. 2018-10-16 14:33:16 +02:00
Andreas Kling 12e515735b Add a simple IDEDiskDevice class that implements DiskDevice from VFS. 2018-10-16 14:17:43 +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 87d41bdca4 If an interrupt comes from the slave PIC, both PICs need an EOI. 2018-10-16 11:05:29 +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