|
54f8aa54c1
|
interrupt, smp: fix GDT code/data segment order, fix GDT size
|
2021-11-14 17:31:11 +08:00 |
|
|
db6959a932
|
makefile: run QEMU with reboot/shutdown disabled
|
2021-11-14 17:30:33 +08:00 |
|
|
ec808e5e2e
|
runtime, interrupt: print to screen on errors, print CR2 on panic
CR2 is the last accessed address set on page exceptions
|
2021-11-11 16:18:47 +08:00 |
|
|
c0c2c12493
|
smp: properly recycle thread stack frames
|
2021-11-11 16:02:09 +08:00 |
|
|
20bc9f4a64
|
smp: proper cleanup on (non-main) thread exit
|
2021-11-11 15:44:59 +08:00 |
|
|
240e01d69c
|
smp: return value for Condiction_Wait
|
2021-11-11 15:26:57 +08:00 |
|
|
c476663ff9
|
vterm: remove vterm.c
|
2021-11-11 15:22:52 +08:00 |
|
|
19114bcaef
|
smp: set scheduler interval from 8 to 4 ticks
|
2021-11-11 02:27:32 +08:00 |
|
|
6434fe4b63
|
driver/input, kernel: use a Condition for input
|
2021-11-11 02:17:02 +08:00 |
|
|
3aafc2a032
|
smp: fixes to idle thread & condition
|
2021-11-11 02:16:39 +08:00 |
|
|
2fd9209b85
|
smp: Add Condition, separate SleepUntil from LastTick
|
2021-11-11 01:51:00 +08:00 |
|
|
9eeb9c8632
|
smp: move thread_Yield to Assembly
|
2021-11-11 01:49:27 +08:00 |
|
|
a8ed090450
|
smp: move the ticking from C to Assembly
|
2021-11-08 12:56:33 +08:00 |
|
|
c4eeb5e481
|
smp: fixup threading
|
2021-11-08 01:34:06 +08:00 |
|
|
17ae4cf630
|
kernel: add a test function for smp thread
|
2021-11-08 01:33:50 +08:00 |
|
|
9f86e52164
|
runtime: disable interrupts on Printf
Printf uses vsnprintf and a global buffer prone to race conditions.
|
2021-11-08 01:33:18 +08:00 |
|
|
ebbe907bb7
|
util/tree: fix FirstNode
|
2021-11-08 01:32:30 +08:00 |
|
|
e38a61a61a
|
memory: remove logging in kMalloc/kFree
|
2021-11-08 00:39:25 +08:00 |
|
|
297c20bbfc
|
smp: multithreading (WIP)
|
2021-11-08 00:07:58 +08:00 |
|
|
5cf68dca6a
|
util/tree: fix First/LastNode on empty tree
|
2021-11-07 23:59:06 +08:00 |
|
|
3d43ab3d61
|
driver/rtc: RTC ticker at 1024Hz
|
2021-11-07 23:07:47 +08:00 |
|
|
312703104d
|
driver/pic: IRQHandlerRaw jumped handler
|
2021-11-07 23:05:29 +08:00 |
|
|
193b29400a
|
memory: use 64 GDT entries
|
2021-11-07 18:45:52 +08:00 |
|
|
9f757efa5e
|
interrupt: move ReloadSegments before enabling interrupt
|
2021-11-07 17:55:43 +08:00 |
|
|
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 |
|