Commit Graph

29 Commits

Author SHA1 Message Date
868eed64ef
Add better output to GPF handler 2020-11-26 04:03:43 +00:00
fc3efd7c68
Fix ordering of INTERRUPT_FRAME in header 2020-11-26 04:03:43 +00:00
75f44b0514
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-26 04:03:43 +00:00
9b0aceac55
Minimise printing in physmem - turns out serial output is SLOW. 2020-11-26 04:03:43 +00:00
c5be09fc5d
Adjust formatting in paging that i missed 2020-11-26 04:03:43 +00:00
429fa55a73
Flailing with Invalid Opcode.. 2020-11-26 04:03:43 +00:00
acfe8c2666
Add stack unwinding to critical ISRs.
Also adjust the formatting of serial prints..
2020-11-26 04:03:43 +00:00
9646eac29e
Add basic stack unwinding functionality 2020-11-26 04:03:42 +00:00
0c0f52dbb9
Add opcode handling.. started debugging memory management. 2020-11-26 04:03:42 +00:00
fe15a79fc3
Fix building on Windows by dpeter99
Fix CMake invocation that confused it into using Visual Studio build tools..
2020-11-26 04:03:42 +00:00
b86d8af721
Refactor CPU preparation into cpu.c, work on enabling AVX and SSE 2020-11-26 04:03:42 +00:00
0ff9705fc8
Poke paging. Still a little strange. Removed excess debugging. 2020-11-26 04:03:41 +00:00
8665e4c634
Add defs required for kernel to compile 2020-11-26 04:03:41 +00:00
bade5bde21
Change bracketing to make gcc -Werror happy 2020-11-26 04:03:41 +00:00
9c65d7d19f
Add MMIO read/write functions. 2020-11-26 04:03:41 +00:00
2e662e3717
Add missing invlpg function to cpu.c 2020-11-26 04:03:41 +00:00
6faadded24
Rework memory management. 2020-11-26 04:03:41 +00:00
a915465fc1
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-11-26 04:03:40 +00:00
b3e3f153b5
Add support for C++
This was a doozy. I had to recompile gcc with a custom target to get it to output the CRT{BEGIN/END}.o files with proper 64 bit relocations.

The CMakeLists.txt file was also edited to allow these files to be linked (thereby actually adding the support) as well as to automatically create the boot image upon build.
2020-11-26 04:03:40 +00:00
aa9600b2b0
Add PCI Enumeration to boot output 2020-11-26 04:03:40 +00:00
e8214d5650
Add basic PCI support.
Currently can only enumerate the PCI bus with a basic process, and retrieve basic details on every valid device.
2020-11-26 04:03:39 +00:00
1f514e9cb2
Refresh all files with project headers and documentation 2020-11-26 04:03:39 +00:00
ce85ddbd1c
Removed unnecessary VGA textmode header 2020-11-26 04:03:39 +00:00
destoer
7603180791
fix compilier warnings 2020-11-26 04:03:29 +00:00
destoer
2e78df807b
remove makefile 2020-11-26 04:03:29 +00:00
destoer
f192162c54
added build scripts 2020-11-26 04:03:28 +00:00
74b44aab7f
Add missing files from git migration 2020-11-26 04:02:56 +00:00
d522d40ac8 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 23:02:54 +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