|
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 |
|