Commit Graph

94 Commits

Author SHA1 Message Date
5126951a79 driver/pic: one argument for IRQ handlers 2021-11-14 19:42:44 +08:00
219bf76535 smp: channel (WIP) 2021-11-14 19:25:18 +08:00
97e834b8af util/queue: rename queue to queue_Queue 2021-11-14 18:19:32 +08:00
c4b4dbeb18 interrupt: LoadGDT() with KERNEL_GDT_SIZE instead of calculating it 2021-11-14 18:19:10 +08:00
7e9cc76ec5 smp: cleanup Switch() 2021-11-14 17:40:09 +08:00
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