35 Commits

Author SHA1 Message Date
1794df45f4 Whoops, I think I just accidentally (no) foramtted the entire project with clang 2026-04-07 23:07:51 +03:00
554f16cc7d Chatgpt wrote a crappy beeper 2026-04-06 16:40:50 +03:00
4a446c2d51 Have getc, halting, timer, graphics, mode switching 2026-04-06 16:08:47 +03:00
f601c99d39 chatgpt solved this one for me 2026-04-06 05:41:34 +03:00
49ce1a2d45 I think I fixed a bunch of stuff 2026-04-06 05:20:00 +03:00
2503938fc4 shift done, backspace done 2026-04-04 12:36:25 +03:00
Alexander Myltsev
9745c04b7e
Add drivers/graphics.c. 2025-02-01 17:25:59 +04:00
Alexander Myltsev
3c6578cd1b Fix SYS_puts. 2025-01-18 15:52:48 +04:00
Alexander Myltsev
4c71e65cc5 Kill usermode process on exceptions. 2025-01-18 02:46:38 +04:00
Alexander Myltsev
e8845b5012 Free user VM. 2025-01-18 02:38:44 +04:00
Alexander Myltsev
117f6423c4 Fix run_elf (still leaking memory now). 2025-01-18 02:05:34 +04:00
Alexander Myltsev
62c290f449 Flat memory model, read_file() accepts statbuf. 2025-01-18 01:29:23 +04:00
Alexander Myltsev
e1bcd70747 Add kvmalloc. 2025-01-17 23:29:01 +04:00
Alexander Myltsev
0a1928a02c Fix build. 2025-01-17 21:46:47 +04:00
Alexander Myltsev
506472a106 Enable paging, run kernel in high half. 2025-01-17 20:44:33 +04:00
Alexander Myltsev
d846d0f0c6 Add SYS_putc and SYS_puts. 2023-01-31 16:11:20 +04:00
Alexander Myltsev
fa8314c1c1 Merge branch 'public' 2023-01-31 15:44:03 +04:00
Alexander Myltsev
eff482f932 Extract handle_syscall(). 2023-01-31 15:43:55 +04:00
Alexander Myltsev
56330c7c68 Merge branch 'public' 2023-01-31 15:37:14 +04:00
Alexander Myltsev
1679518a28 Lecture 3: running binaries in userspace. 2023-01-31 13:17:22 +04:00
Alexander Myltsev
f3816c1088 Interrupt handling and ATA driver. 2023-01-21 13:55:26 +04:00
Alexander Myltsev
6e5222e2e3 Initial commit 2023-01-13 13:07:06 +04:00
Alexander Myltsev
a6598886f0 Add two syscalls. 2022-12-14 17:10:34 +03:00
Alexander Myltsev
069625a6e0 Enable int 0x84 from userspace. 2022-12-14 16:54:47 +03:00
Alexander Myltsev
5f3cbb988d Fix TSS init. 2022-12-14 16:54:47 +03:00
Alexander Myltsev
dd9f5786c2 Run user process. 2022-12-14 16:54:36 +03:00
Alexander Myltsev
7a2cc02ba8 Setup TSS. 2022-11-22 22:40:10 +03:00
Alexander Myltsev
1e326bddc1 Use xv6 macros for gdt init. 2022-11-22 21:43:13 +03:00
Alexander Myltsev
fb88c62f67 Install new GDT in C code. 2022-11-22 21:24:49 +03:00
Alexander Myltsev
bdfcf429db Copy UART driver from xv6. 2022-11-21 01:07:39 +03:00
Alexander Myltsev
250372de4b Fix trap frame layout. 2022-11-21 00:05:59 +03:00
Alexander Myltsev
e4fcd27e31 Make .data empty. 2022-11-20 23:40:45 +03:00
Alexander Myltsev
38d384175c Attempt to fix bootloader. 2022-11-20 22:17:13 +03:00
Alexander Myltsev
b8604932eb Load kernel with a .data segment. 2022-11-20 19:48:55 +03:00
Alexander Myltsev
f860ec1ef0 Load IDT. 2022-11-20 18:59:53 +03:00