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
58a944ee6e
Add startings of new kernel-side library
...
Lainlib is libk. It is separate from Helix, which will become the 3D engine common to the kernel and the userspace.
2020-08-31 21:44:54 +01:00
59896e4765
Remove dead files
2020-08-27 02:10:05 +01:00
ed89a1fb77
Remove ISO components
2020-08-27 02:08:03 +01:00