Commit Graph

73 Commits

Author SHA1 Message Date
5ffa467b7d
Fix paging on >143MB ram.
Add visual printf.
2021-06-14 01:36:46 +01:00
77933c3aa4
Fix paging breaking on VirtualBox. Dynamically figure out the starting location. 2021-06-12 01:49:43 +01:00
54559a977d
Add missing header guards 2021-04-15 16:33:51 +01:00
2c95714d2f
Working on ethernet.
Includes a prototype E1000 driver.
2021-03-19 02:18:39 +00:00
98f3786e8b
Fix paging to completion.
More debug messages, some things are slightly broken. We can recover.
2021-03-18 20:33:15 +00:00
bd9f994648
Adjustments to the virtual memory manager, add Liballoc for kmalloc and kfree. 2021-03-17 01:23:36 +00:00
d3c36a29af
Paging works.
HOLY SHIT PAGING WORKS. THIS HAS BEEN SO MUCH WORK.

ALL IT TOOK WAS A BIT MASKgit add *.c !
2021-03-16 00:13:37 +00:00
51ce7fe132
Rewriting memory management, part one. 2021-03-15 21:48:51 +00:00
5bc7ec5b79
Delete paging. Time for an overhaul. 2021-03-13 21:24:30 +00:00
d4c5b006a3
Move to using the BS toolchain 2021-03-12 23:40:56 +00:00
1c1fce9b13
More attempts to fix paging. Still missing the stack. 2020-12-11 20:51:12 +00:00
6470487f2e
Fix bug in control register writing 2020-12-11 20:50:33 +00:00
3c29c69d14
Increase debugging level 2020-12-11 20:49:48 +00:00
e9c79f1d6a
Adjust bounds for page table filling. Some maths was wrong 2020-12-02 02:37:17 +00:00
69eb6e10c8
Separate out ELF header parsing to another file 2020-12-02 02:37:17 +00:00
Curle
13139779f2 Fix formatting in templates 2020-11-29 21:24:00 +00:00
Curle
2ae1c75019 Update issue templates 2020-11-29 21:22:39 +00:00
Curle
f9a6171f0a
Create LICENSE 2020-11-29 21:12:49 +00:00
986c7816b1
Adjust structure of the image folder
Reduces the kernel initrd size.
2020-11-28 16:52:34 +00:00
2b1d6cca5f
Fixes for memory. Lots of work left.
Mainly, we need to be able to locate the kernel executable physically in memory.
2020-11-28 16:52:17 +00:00
4468cee2e7
Fix embarassing bug in paging impl that caused crashes.. 2020-11-26 04:01:22 +00:00
4e7f8d47a5
Add better output to GPF handler 2020-11-26 03:50:30 +00:00
e2635c8125
Fix ordering of INTERRUPT_FRAME in header 2020-11-26 03:49:54 +00:00
c451afba0d
Add debugging symbols to output.. 2020-11-26 03:48:41 +00:00
3f2ac2db36
Add a memstart symbol to the linkerscript
This replaces the old way of appending the memory bitmap to the end of the kernel, which started causing problems with expansion..

I hardcoded the value to 0x1440, which is the start of the first FREE block of memory given to SeaBIOS in QEMU. This should be changed in the future..
2020-11-09 18:48:47 +00:00
a9c0fcdfde
Adjust the crt0 file to insert a null stack frame before calling the kernel. Provides a solid base for the stack unwinding. 2020-11-09 18:44:42 +00:00
39c1956819
Minimise printing in physmem - turns out serial output is SLOW. 2020-11-09 18:43:59 +00:00
c8c1af3961
Adjust formatting in paging that i missed 2020-11-09 18:43:20 +00:00
63a5bfa4d6
Flailing with Invalid Opcode.. 2020-11-09 18:43:06 +00:00
0de541b069
Add stack unwinding to critical ISRs.
Also adjust the formatting of serial prints..
2020-11-09 18:41:34 +00:00
1cb5c671f7
Add basic stack unwinding functionality 2020-11-09 18:39:34 +00:00
91063e12d2
Add opcode handling.. started debugging memory management. 2020-10-30 22:24:59 +00:00
903b5439ba
Fix building on Windows by dpeter99
Fix CMake invocation that confused it into using Visual Studio build tools..
2020-10-18 18:27:07 +02:00
Curle
162c4def06
Fix pre.sh
I can't spell!
2020-10-18 13:14:15 +01:00
Curle
5421541208
Comment out the post-build script.
More preparation for build server.
2020-10-16 23:28:02 +01:00
Curle
b9b1cb4337
Update pre.sh with explicit cross-linker
Just to help automating the build process.
2020-10-16 23:24:41 +01:00
266e00a3d8
Fix typo in post-build script 2020-09-29 02:03:48 +01:00
ff60205e11
Remove large image file, add extra stuff to the gitignore 2020-09-29 01:58:29 +01:00
5ad73b7046
Move toolchain to VirtualBox. qemu is too restrictive :/ 2020-09-29 01:36:05 +01:00
81313cef42
Refactor CPU preparation into cpu.c, work on enabling AVX and SSE 2020-09-25 16:48:20 +01:00
d342772ed3
Poke paging. Still a little strange. Removed excess debugging. 2020-09-25 16:47:10 +01:00
Curle
cf30822677
We have virtual memory management!
Even if it's a little broken...
2020-09-07 20:56:49 +01:00
f30a0ebd68
Add defs required for kernel to compile 2020-09-03 21:37:03 +01:00
ee7f3c76f7
Add symbols to linker script for page table generation 2020-08-31 21:53:44 +01:00
78fb7f061f
Add new files to CMake 2020-08-31 21:53:10 +01:00
833562c7be
Change bracketing to make gcc -Werror happy 2020-08-31 21:51:41 +01:00
35715d1501
Add MMIO read/write functions. 2020-08-31 21:51:07 +01:00
48f574a170
Add missing invlpg function to cpu.c 2020-08-31 21:50:20 +01:00
baf09c80f2
Rework memory management. 2020-08-31 21:47:52 +01:00
53506eccb8
Add BXRC file for Bochs support. 2020-08-31 21:47:12 +01:00