Commit Graph
100 Commits
Author SHA1 Message Date
rusya cbd2c52c20 a little cleanup 2025-06-24 17:41:38 +03:00
rusya e3eba88958 mm: fix page fault on process exit 2025-06-24 17:08:22 +03:00
rusya bfdd3b6b6a mm: replace some printfs with debug_log 2025-06-23 23:47:29 +03:00
rusya b769ac0a58 tasking: continue fixing task_kill 2025-06-23 23:41:01 +03:00
rusya 29de6e6f43 tasking: a small cleanup 2025-06-23 00:36:07 +03:00
rusya c047dd687b tasking: implement task_kill function, thanks deepseek 2025-06-23 00:25:23 +03:00
rusya 70d6aacb91 syscalls: start adding exit syscall, not done yet 2025-06-21 18:54:52 +03:00
rusya bb096f826a syscalls: implement read syscall 2025-06-21 17:09:34 +03:00
rusya bf7d96865a syscalls: done with open, write, close syscalls 2025-06-20 23:06:01 +03:00
rusya 4ccae473ca syscalls: start implementing some basic syscalls 2025-06-20 21:59:08 +03:00
rusya a9789b7f57 tasking: fix syscall handling, use debug_log instead of printf in some places 2025-06-19 18:31:15 +03:00
rusya 93f174827b tasking: start handling syscalls 2025-06-19 17:58:49 +03:00
rusya 5fa2393fd6 tasking: fix ELF file execution 2025-06-07 18:18:05 +03:00
rusya 9f721a72b7 tasking: fix virtual mapping count in exec_from_file 2025-06-07 15:07:26 +03:00
rusya 2408b67ccc tasking: continue working on executing ELF files 2025-06-06 20:20:45 +03:00
rusya ea6733fd46 kmain: fix heap initialization and use kvalloc instead of alloc_page 2025-06-06 14:16:47 +03:00
rusya 01155234c6 tools: add elf tool 2025-06-06 00:39:21 +03:00
rusya 541bc7172f mm: implement heap with liballoc, might review later 2025-06-06 00:36:22 +03:00
rusya d1ac41deeb tasking, mm: remove unused functions and page_directory field from the Task struct 2025-06-01 14:04:49 +03:00
rusya 5f87e55067 tasking: make jump_usermode2 lock the scheduler & test the second user task 2025-06-01 13:53:06 +03:00
rusya 8fea7a8ec6 tasking: isolate ring3 tasks 2025-06-01 01:24:31 +03:00
rusya f47a4a451d tasking: fix separate page directory creation for new ring0 tasks 2025-06-01 00:15:06 +03:00
rusya 9000d76441 tasking: continue working on page directory switching 2025-05-31 19:43:38 +03:00
rusya 33aa97c6ec mm: add get_page_dir & set_page_dir 2025-05-31 18:09:56 +03:00
rusya d5f41b1ef9 mm: fix pagetable calculation in get_physaddr & map_page 2025-05-31 17:52:36 +03:00
rusya 681f509099 some cleanups here and there 2025-05-31 17:47:56 +03:00
rusya 7c870636c5 a little cleanup in task.c and paging.h 2025-05-29 23:13:03 +03:00
rusya c808a5d295 fix creating ring 3 tasks finally 2025-05-29 21:18:09 +03:00
rusya b8752ee39d gonna ask tsoding for help, fuck this shit 2025-05-20 00:10:37 +03:00
rusya bc0bd99f95 fuck1 2025-05-19 21:44:07 +03:00
rusya e2b596dcbd fuckfuckfuckfuck 2025-05-16 16:44:13 +03:00
rusya 5d012b410d yo almost, i guess... 2025-05-16 16:34:30 +03:00
rusya 44d09ab13f fuckfuck 2025-05-16 15:49:50 +03:00
rusya 2e372ae9c4 maybe i'm close to fixing multitasking 2025-05-16 14:55:19 +03:00
rusya 4fbaed321c rename myos.bin to katauos.bin everywhere 2025-05-10 15:48:10 +03:00
rusya 767e74976f merge branch memory-shit into higher-half 2025-05-10 15:48:10 +03:00
rusya 65f543fa92 put memory map detection into paging.c (grub_memory_map function) 2025-05-10 15:48:10 +03:00
rusya 745d85f413 add getting memory map from grub 2025-05-10 15:48:10 +03:00
rusya 0bf26a6c70 organization 2025-05-10 15:48:10 +03:00
rusya 00c9560660 kmain: add multiboot magic as an argument 2025-05-10 15:48:10 +03:00
rusya d4a14633ce something 2025-05-10 15:48:10 +03:00
rusya b836a37264 some test things 2025-05-10 15:48:06 +03:00
rusya 7e97987e95 add multiboot.h 2025-04-14 16:30:10 +03:00
rusya ab72a7ee18 kmain: get bootloader name as a test of mbi thing 2025-04-14 16:29:59 +03:00
rusya 170299bce3 mm: add some debug prints to alloc_page in page_alloc.c 2025-04-11 14:58:09 +03:00
rusya 0a8b29b11f mm: make page_alloc track all the memory 2025-04-11 14:50:52 +03:00
rusya 35749c097f add debug target to makefile 2025-04-10 21:38:54 +03:00
rusya 65565dd4a6 tasking: add loading of a process' page directory before switching 2025-04-10 21:38:31 +03:00
rusya 372b308ec8 tasking: add simple base for running things in ring 3 2025-04-07 16:13:31 +03:00
rusya 03e718c2c8 gdt: change size bit to 1 2025-04-07 14:15:43 +03:00
rusya c92839c7f6 gdt: setup TSS 2025-04-06 20:07:24 +03:00
rusya 86cb117509 gdt: add ring3 code and data segments 2025-04-06 17:13:48 +03:00
rusya 2e2b7c7612 mm: put all code into separate files 2025-04-04 14:58:05 +03:00
rusya b7b33fefca organize source files into separate directories 2025-04-04 14:28:33 +03:00
rusya f660beb3a7 tasking: fix idle task creation & make task_create take EntryPoint type argument 2025-04-01 17:14:25 +03:00
rusya cb3d25f490 tasking: make tasks run with arguments 2025-04-01 16:28:27 +03:00
rusya 9381b4cdb7 implement basic multitasking 2025-03-31 14:51:33 +03:00
rusya 10eb4687f0 paging: remove page.asm 2025-03-30 13:12:43 +03:00
rusya 6f7cbfedbb paging: heap_alloc: fix allocation of more than 1 page (not without the help of grok) 2025-03-29 14:04:57 +03:00
rusya 2724595592 paging: map_kernel_page: add an additional checks 2025-03-29 13:33:45 +03:00
rusya d9a8b964ed paging: with the huge help from grok, finished paging 2025-03-27 19:08:11 +03:00
rusya 7eaabe0f5f fat32: update the code because the author seemed to fix the bugs in a282d4b92fc0ce6bc6dfd08111791b984f6834e4 2025-03-27 16:08:56 +03:00
rusya ec9146f815 screen: fix column zeroing on going past VGA_WIDTH 2025-03-26 20:39:34 +03:00
rusya dd865fe89d screen: implement terminal scrolling 2025-03-26 20:35:47 +03:00
rusya 12ae4fd814 continue FAT32 tests 2025-03-25 23:50:43 +03:00
rusya 4513325cfa make makefile use mkfs.vfat and fix bochsrc 2025-03-25 23:48:12 +03:00
rusya 6e340a6e4f makefile: cleanup & make 'create-image' copy everything from grubshit on disk 2025-03-25 15:13:10 +03:00
rusya d16488e541 makefile: make 'image' target copy everything from grubshit on disk 2025-03-25 14:50:31 +03:00
rusya cb9b864933 continue messing with fat32 2025-03-24 23:07:08 +03:00
rusya bb5d94bb0c start messing with fat32 2025-03-24 22:03:19 +03:00
rusya bf6ab81791 isr: replace terminal_writestring with printf 2025-03-23 16:02:34 +03:00
rusya 2f2c824c98 add basic paging functionality 2025-03-23 13:39:29 +03:00
rusya 1ce599cee1 keyboard: fix capslock LED 2025-03-22 14:54:48 +03:00
rusya ef2c779798 idt: put sti out of idt_set so bochs doesn't crash 2025-03-22 14:30:12 +03:00
rusya bb87905970 make keyboard actually type things 2025-03-21 23:10:03 +03:00
rusya a8ff36be52 pit: fix pit_init and add freq argument 2025-03-21 22:18:24 +03:00
rusya eb098b77fe kmain: put pic mask things into separate function 2025-03-21 18:06:51 +03:00
rusya 49d6231325 add PIT 2025-03-21 17:57:30 +03:00
rusya c9d6e6183d isr: improve keyboard handler 2025-03-19 21:46:46 +03:00
rusya 5bff255a7a isr: add keyboard (0x21) handler 2025-03-19 21:29:10 +03:00
rusya 9b308de99b idt: add default handlers for all IRQs 2025-03-19 13:28:05 +03:00
rusya 97598b96db add PIC code from osdev 2025-03-19 13:10:41 +03:00
rusya 22c7380c8d gdt: remove anything left from C implementation of GDT 2025-03-18 16:24:11 +03:00
rusya 086bac07ed gdt: make gdt setup run before kmain 2025-03-18 15:45:51 +03:00
rusya a899964fce add test-bochs target to makefile 2025-03-18 00:22:56 +03:00
rusya 9f6533d0bd add bochsrc 2025-03-18 00:17:02 +03:00
rusya aac28efa36 utils: add get_datetime and fat32_datetime 2025-03-16 14:49:53 +03:00
rusya 211a6e9318 start implementing time utils 2025-03-16 13:26:38 +03:00
rusya 4cbdbfe838 disk: implement ata_write 2025-03-15 22:33:53 +03:00
rusya f7ed064db7 disk: implement ata_read 2025-03-15 21:11:10 +03:00
rusya 885ed6a7d1 disk: remove some unused things 2025-03-15 17:32:19 +03:00
rusya 526a1a07dd continue fucking with disk system 2025-03-15 17:29:27 +03:00
rusya a7a7121812 start adding disk things 2025-03-15 16:03:16 +03:00
rusya fe1264d55d stdio: add intToString and make use of it in printf 2025-03-15 13:06:30 +03:00
rusya bacba9abf1 cleanup 2025-03-15 00:02:33 +03:00
rusya 0ea8fc59ef add gdt setup 2025-03-14 23:59:13 +03:00
rusya 294111bf41 add basic stdio 2025-03-14 20:18:26 +03:00
rusya e37c8462a6 implement basic string functions (memset, memcpy, etc) 2025-03-14 19:38:41 +03:00
rusya ab775bd958 implemented basic keyboard input getting 2025-03-14 18:32:01 +03:00
rusya d5b504e815 Initial commit 2025-03-14 17:22:59 +03:00