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