|
826885df8a
|
Make ttest compile under clang
|
2018-03-20 14:11:21 +01:00 |
|
|
ad74123882
|
Handle null pointers in string comparisons
|
2018-03-20 14:11:21 +01:00 |
|
|
cfa1a15076
|
Define TTEST when ttesting. Also allow multiple assertions per test
|
2018-03-20 14:11:21 +01:00 |
|
|
1b80c00658
|
Fix overflow bug when comparing strings
|
2018-03-20 14:11:21 +01:00 |
|
|
e50fbff2d1
|
Handle compilation errors of tests
|
2018-03-20 14:11:21 +01:00 |
|
|
96849d6600
|
Keep going if a test fails, but report it
|
2018-03-20 14:11:21 +01:00 |
|
|
cba19b62df
|
More assertions and catching crashes
|
2018-03-20 14:11:21 +01:00 |
|
|
337d2cb032
|
Correct filenames in test error output
|
2018-03-20 14:11:21 +01:00 |
|
|
faaedb212d
|
A simple testing framework
|
2018-03-20 14:11:21 +01:00 |
|
|
a908284dc6
|
Chapter 4: Higher Half Kernel - COMPLETE
|
2018-03-20 14:10:03 +01:00 |
|
|
823560d3ae
|
Simplify P2V and V2P macros - also makes them more useful
|
2018-03-20 14:10:03 +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 |
|
|
8f8e03de10
|
Chapter 3: Enter Long Mode - COMPLETE
|
2018-03-20 14:09:57 +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 |
|
|
6511c39762
|
Gdb function for printing register values
|
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 |
|
|
a9328d6b67
|
Chapter 2: A Bootable Kernel - COMPLETE
|
2018-03-19 20:29:40 +01:00 |
|
|
607266bfd3
|
Clean up interface
|
2018-03-19 20:29:40 +01:00 |
|
|
eed3bb693b
|
Commenting and cleanup
|
2018-03-19 20:29:40 +01:00 |
|
|
2451851b9f
|
Remove Multiboot1 support
|
2018-03-19 20:29:40 +01:00 |
|
|
05efb98b06
|
Use classic variables for installing kernel
|
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 |
|
|
e2ecdb6154
|
Keep the multiboot header as simple 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 |
|
|
f5fb6241f2
|
Simplify linker script
|
2018-03-19 20:29:40 +01:00 |
|
|
e016c5dc52
|
Cleaning up the kernel makefile
|
2018-03-19 20:29:40 +01:00 |
|
|
d7560b775c
|
Remove hardcoded buildroot from kernel makefile and gdbinit
|
2018-03-19 20:29:40 +01:00 |
|
|
0f8d38938b
|
Make git ignore stuff that isn't source files
|
2018-03-19 20:29:40 +01:00 |
|
|
a0f3953365
|
Make debugging work
|
2018-03-19 20:29:40 +01:00 |
|
|
de73851481
|
Dependency file generation - rebuild if a header file is updated
|
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 |
|