| 
						
					 | 
					
						
						
							
						
						3b9fc2f4d0
					 | 
					
						
						
							
							interrupt: remove global IDTR/GDTR
						
						
						
						
						
						
						
						LIDT/LGDT is now called with addresses in stack 
						
						
					 | 
					
						2021-11-07 17:48:41 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						7f7a985ed6
					 | 
					
						
						
							
							makefile: reasonable way of adding compile options
						
						
						
						
						
						
					 | 
					
						2021-11-07 01:38:41 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						e5ba03599b
					 | 
					
						
						
							
							util: tree-based associative container
						
						
						
						
						
						
					 | 
					
						2021-11-07 01:33:42 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						6832a76265
					 | 
					
						
						
							
							util: vector (dynamic array) container
						
						
						
						
						
						
					 | 
					
						2021-11-07 01:29:42 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						bd347df5d5
					 | 
					
						
						
							
							driver/random: linear congruential
						
						
						
						
						
						
					 | 
					
						2021-11-07 01:29:07 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						763c34c8de
					 | 
					
						
						
							
							memory: use libc malloc/free in testing
						
						
						
						
						
						
					 | 
					
						2021-11-07 01:24:40 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						4460661bfd
					 | 
					
						
						
							
							main: refactor to keep the EFI headers from polluting the main namespace
						
						
						
						
						
						
					 | 
					
						2021-11-06 23:40:50 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						e2a2679f6d
					 | 
					
						
						
							
							main: remove the keystroke wait on startup
						
						
						
						
						
						
					 | 
					
						2021-11-05 20:48:09 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						d3c91c0048
					 | 
					
						
						
							
							driver/serial: disable interrupt when writing to serial
						
						
						
						
						
						
					 | 
					
						2021-11-05 15:11:58 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ab6737f904
					 | 
					
						
						
							
							makefile, runtime: add RUNTIME_QUIET build flag
						
						
						
						
						
						
					 | 
					
						2021-11-05 14:47:48 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						f1df3846e4
					 | 
					
						
						
							
							main: invalidate screen on welcome message
						
						
						
						
						
						
					 | 
					
						2021-11-05 14:46:18 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						518483ecc7
					 | 
					
						
						
							
							makefile: add a serial port for QEMU
						
						
						
						
						
						
					 | 
					
						2021-11-05 14:45:49 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						00e6a6bf01
					 | 
					
						
						
							
							filesystem/fat: stub function definitions for linking
						
						
						
						
						
						
					 | 
					
						2021-11-05 14:30:30 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ad0bab89be
					 | 
					
						
						
							
							main, runtime: init serial at EFI boot stage, use serial as output
						
						
						
						
						
						
					 | 
					
						2021-11-05 14:29:48 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						84a2f11284
					 | 
					
						
						
							
							driver/serial: Serial write interface
						
						
						
						
						
						
					 | 
					
						2021-11-05 14:21:04 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						4fd4f46f01
					 | 
					
						
						
							
							driver/ps2: remove irq_ from names
						
						
						
						
						
						
					 | 
					
						2021-11-05 14:21:04 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						98f92a9958
					 | 
					
						
						
							
							makefile: move pdlibc to extlib, add C++ stub standard headers
						
						
						
						
						
						
						
						It now kind of compiles with x86_64-elf gcc (does not link though) 
						
						
					 | 
					
						2021-11-04 20:15:58 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						964893b14a
					 | 
					
						
						
							
							filesystem/fat: WIP
						
						
						
						
						
						
					 | 
					
						2021-11-04 18:05:19 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						7158c3535e
					 | 
					
						
						
							
							driver/filesystem: add Ioctl()
						
						
						
						
						
						
					 | 
					
						2021-10-28 23:15:40 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						699c1fc8ae
					 | 
					
						
						
							
							driver/filesystem: filesystem interface
						
						
						
						
						
						
						
						mostly from FUSE (https://github.com/libfuse/libfuse/blob/master/include/fuse.h) 
						
						
					 | 
					
						2021-10-28 22:36:23 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						3a8b59c39f
					 | 
					
						
						
							
							kernel, driver/ps2: move decoding from kMain to interrupt handler
						
						
						
						
						
						
					 | 
					
						2021-10-28 20:18:01 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						94ab9ffb41
					 | 
					
						
						
							
							driver/input: most of the input code
						
						
						
						
						
						
					 | 
					
						2021-10-28 18:20:02 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						4da91139a7
					 | 
					
						
						
							
							graphics: optimize Unifont rendering, remove builtin width info
						
						
						
						
						
						
					 | 
					
						2021-10-28 16:03:17 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						430a3abf7d
					 | 
					
						
						
							
							driver/ps2: move EnableReporting to the end of mouse init sequence
						
						
						
						
						
						
					 | 
					
						2021-10-28 16:02:39 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						218e5c2c96
					 | 
					
						
						
							
							graphics: make SetPixel() an inline instead of a function pointer
						
						
						
						
						
						
						
						graphics_Init() happens before relocation, so the function breaks once the identity mapping is removed (or flagged NX) 
						
						
					 | 
					
						2021-10-28 16:00:25 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						b361c6830b
					 | 
					
						
						
							
							graphics: fix invalidated screen not restoring flag
						
						
						
						
						
						
					 | 
					
						2021-10-28 15:54:05 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						876ed1eba8
					 | 
					
						
						
							
							graphics: optimize rendering with Invalidate()
						
						
						
						
						
						
					 | 
					
						2021-10-25 04:39:11 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						f14df89469
					 | 
					
						
						
							
							util: add stack_Clear
						
						
						
						
						
						
					 | 
					
						2021-10-23 21:10:04 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						5293cd52ff
					 | 
					
						
						
							
							makefile: remove -std=c99 from .clangd
						
						
						
						
						
						
					 | 
					
						2021-10-23 20:57:46 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						6bd5e2dbab
					 | 
					
						
						
							
							util: add fixed-size stack
						
						
						
						
						
						
					 | 
					
						2021-10-23 20:57:29 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						55d3da43a2
					 | 
					
						
						
							
							graphics: remember last mouse cursor size
						
						
						
						
						
						
					 | 
					
						2021-10-23 20:56:50 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						e611bcc760
					 | 
					
						
						
							
							util: trivially implement queue_Push/Pop
						
						
						
						
						
						
					 | 
					
						2021-10-23 20:15:41 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						5a4f1cc745
					 | 
					
						
						
							
							util: export queue_FrontByte correctly
						
						
						
						
						
						
					 | 
					
						2021-10-23 20:11:37 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						69f50aa3e8
					 | 
					
						
						
							
							runtime: add cppruntime/perm
						
						
						
						
						
						
					 | 
					
						2021-10-23 19:40:11 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						71377dcc47
					 | 
					
						
						
							
							driver/block: add base class & ramdisk
						
						
						
						
						
						
					 | 
					
						2021-10-23 19:39:23 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						a3fe5c5902
					 | 
					
						
						
							
							memory: add AllocateKernelMapping
						
						
						
						
						
						
						
						This is just quick and dirty, with nothing to free it 
						
						
					 | 
					
						2021-10-23 19:38:19 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ade70d176a
					 | 
					
						
						
							
							makefile: specify C99/C++17 standards in .clangd
						
						
						
						
						
						
					 | 
					
						2021-10-23 18:37:08 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						c504b5dc31
					 | 
					
						
						
							
							memory: add all kinds of C++ new/delete operators
						
						
						
						
						
						
					 | 
					
						2021-10-23 18:36:31 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						78314c25fb
					 | 
					
						
						
							
							driver/ps2: set ps2_Mouse4Bytes instead of assuming it is false
						
						
						
						
						
						
					 | 
					
						2021-10-23 13:57:45 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						a0c2b8d8fd
					 | 
					
						
						
							
							graphics: render mouse using copying overlay, optimize copying
						
						
						
						
						
						
					 | 
					
						2021-10-22 00:28:13 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						986b135403
					 | 
					
						
						
							
							graphics: mention XCursor uses premultiplied alpha
						
						
						
						
						
						
					 | 
					
						2021-10-21 23:39:49 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						b89617b46a
					 | 
					
						
						
							
							interrupt: load data segment 0 instead of 2
						
						
						
						
						
						
					 | 
					
						2021-10-14 15:52:38 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						aa11d25fa8
					 | 
					
						
						
							
							interrupt: load GDT/IDT on the stack
						
						
						
						
						
						
						
						We have to use a separate Assembly function to do that, but maybe with some effort we can make that inline too 
						
						
					 | 
					
						2021-10-14 15:51:50 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ebdc816d82
					 | 
					
						
						
							
							interrupt: make LoadIDT/GDT() inline
						
						
						
						
						
						
					 | 
					
						2021-10-14 14:45:57 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						f241551d64
					 | 
					
						
						
							
							memory: fix InitPaging memory map dump overflow
						
						
						
						
						
						
					 | 
					
						2021-10-12 20:17:33 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						6a664234a2
					 | 
					
						
						
							
							driver/ps2: tell if the system has PS/2 mouse, replate Printfs with WriteConsoles
						
						
						
						
						
						
					 | 
					
						2021-10-12 15:07:50 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						8d53812b36
					 | 
					
						
						
							
							memory: implememt sbrk() clone for dlmalloc
						
						
						
						
						
						
					 | 
					
						2021-10-11 23:36:05 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						cd287fe8cb
					 | 
					
						
						
							
							memory: implement kMalloc() to use dlmalloc
						
						
						
						
						
						
					 | 
					
						2021-10-11 23:35:54 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						947cf0b4aa
					 | 
					
						
						
							
							extlib: add and configure dlmalloc
						
						
						
						
						
						
						
						Get dlmalloc here: ftp://gee.cs.oswego.edu/pub/misc/malloc.c and ftp://gee.cs.oswego.edu/pub/misc/malloc-2.8.6.h 
						
						
					 | 
					
						2021-10-11 23:31:23 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						5a7e1863e8
					 | 
					
						
						
							
							memory: fix paging_map_PageAllocated/2M
						
						
						
						
						
						
					 | 
					
						2021-10-11 23:23:24 +08:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 |