|
5dc4e27392
|
Map all free memory pages and add to page stack
|
2018-03-20 14:11:22 +01:00 |
|
|
80cc165957
|
Read memory map tags from multiboot
|
2018-03-20 14:11:21 +01:00 |
|
|
6f0a745adc
|
Ability to bind handler functions to interrupts
|
2018-03-20 14:11:21 +01:00 |
|
|
96d2ebd977
|
Collect the cpu specific stuff
|
2018-03-20 14:11:21 +01:00 |
|
|
127d6ca5a4
|
Interrupt cleanup
|
2018-03-20 14:11:21 +01:00 |
|
|
cbcc67fc31
|
Quick and dirty IDT setup
|
2018-03-20 14:11:21 +01:00 |
|
|
e4e891bb86
|
Clean up interface
|
2018-03-20 14:11:21 +01:00 |
|
|
79ca4681ff
|
Make tests independent of structures in header files
|
2018-03-20 14:11:21 +01:00 |
|
|
9dbbc7013c
|
Use debug macros
|
2018-03-20 14:11:21 +01:00 |
|
|
497bdef9f4
|
Debug print some of the multiboot data
|
2018-03-20 14:11:21 +01:00 |
|
|
49f7738be2
|
Parse multiboot information
|
2018-03-20 14:11:21 +01:00 |
|
|
9e2483d78e
|
Halt-And-Catch-Fire macro
|
2018-03-20 14:11:21 +01:00 |
|
|
042f61bdb3
|
Add padding to field width (right adjust)
|
2018-03-20 14:11:21 +01:00 |
|
|
0659cf73f6
|
Some more debug macros
|
2018-03-20 14:11:21 +01:00 |
|
|
572bee19cc
|
Add ability to disable debug printing and gdb symbols
|
2018-03-20 14:11:21 +01:00 |
|
|
4f00d428bf
|
Writing (debug output) to screen
|
2018-03-20 14:11:21 +01:00 |
|
|
034a870ac7
|
Sending data (debug printing) to serial port
|
2018-03-20 14:11:21 +01:00 |
|
|
d05ddfeab4
|
Debug printing functions
|
2018-03-20 14:11:21 +01:00 |
|
|
8e47d7625f
|
Don't set fs and gs.
|
2018-03-20 14:10:03 +01:00 |
|
|
950de8645c
|
Update GDT pointer after unmapping GDT
|
2018-03-20 14:10:03 +01:00 |
|
|
b5e0d749b8
|
Reload cr3 after updating P4
|
2018-03-20 14:10:03 +01:00 |
|
|
83f81b9a74
|
Cleaning up and commenting
|
2018-03-20 14:10:03 +01:00 |
|
|
ab1a471857
|
Call a c function.
|
2018-03-20 14:10:03 +01:00 |
|
|
0a4b5ebd51
|
Update the stack pointer and remove identity mapping
|
2018-03-20 14:10:03 +01:00 |
|
|
663668ff93
|
Move the kernel to high memory
|
2018-03-20 14:10:03 +01:00 |
|
|
646d25825a
|
Don't use huge pages, for simplicity
|
2018-03-20 14:01:26 +01:00 |
|
|
99ecff44d8
|
Save one byte!
|
2018-03-19 20:29:40 +01:00 |
|
|
3122de1666
|
Remove cpuid and longmode checks. Let's assume we have a modern processor
|
2018-03-19 20:29:40 +01:00 |
|
|
3d380f462b
|
Use 2 Mb translation instead of 1 Gb
|
2018-03-19 20:29:40 +01:00 |
|
|
78dc192a16
|
Don't load fs and gs. They have special meaning in long mode.
|
2018-03-19 20:29:40 +01:00 |
|
|
bb25b7ea35
|
Change comment style, and more commenting
|
2018-03-19 20:29:40 +01:00 |
|
|
4f9a4292e5
|
Some simplification and commenting
|
2018-03-19 20:29:40 +01:00 |
|
|
93d60294ba
|
Move include files
|
2018-03-19 20:29:40 +01:00 |
|
|
5ddf0173c2
|
Remove magic numbers. Also, no code segment - not needed.
|
2018-03-19 20:29:40 +01:00 |
|
|
dd7636e906
|
Simplest possible long-mode entry
|
2018-03-19 20:29:40 +01:00 |
|
|
eb637d0bbb
|
Move stack to .bss and use it for function calls as well
|
2018-03-19 20:29:40 +01:00 |
|
|
dd565454e3
|
Check if long mode is available
|
2018-03-19 20:29:40 +01:00 |
|
|
607266bfd3
|
Clean up interface
|
2018-03-19 20:29:40 +01:00 |
|
|
2451851b9f
|
Remove Multiboot1 support
|
2018-03-19 20:29:40 +01:00 |
|
|
bc8f16e270
|
Also simplify the kernel code as much as possible.
|
2018-03-19 20:29:40 +01:00 |
|
|
ca36e0ad0e
|
Indicate multiboot version on boot
|
2018-03-19 20:29:40 +01:00 |
|
|
a44d0d7500
|
Move Multiboot headers to separate file
|
2018-03-19 20:29:40 +01:00 |
|
|
dda15ea889
|
Save eax after boot, so we can check that we're actually loaded via
multiboot
|
2018-03-19 20:29:40 +01:00 |
|
|
d80e87991e
|
A bit of cleanup
|
2018-03-19 20:29:40 +01:00 |
|
|
fef9a11d16
|
Use either multiboot1 or multiboot2
|
2018-03-19 20:29:40 +01:00 |
|
|
39b43d825a
|
Building a multiboot 1 compatible executable
|
2018-03-19 20:29:39 +01:00 |
|