Commit Graph

31 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
4c9108bc87
Add PCI Enumeration to boot output 2020-08-23 02:32:47 +01:00
73b51c851d
Add basic PCI support.
Currently can only enumerate the PCI bus with a basic process, and retrieve basic details on every valid device.
2020-08-23 00:50:10 +01:00
493ef776e2
Refresh all files with project headers and documentation 2020-08-23 00:48:49 +01:00
destoer
4b4ad2ca65
fix compilier warnings 2020-07-08 00:38:59 +01:00
97576bab02
Attempts at fixing paging.
Have somehow fixed the drawing routines along the way.

I also tried to implement a better keyboard handler, but that's quite a ways away right now.
2020-04-11 22:59:39 +01:00
822cfc4b9e Complete overhaul of the Legacy system.
Now with reasonable architecture, plus added x86_64.
2020-02-06 20:20:58 +00:00