Commit Graph
100 Commits
Author SHA1 Message Date
rusya 05fa945421 continue working on correct shell loading 2025-10-01 21:15:26 +03:00
rusya 2019f87b14 make exec_from_file take l9660_file* instead of a filename 2025-09-23 20:13:34 +03:00
rusya f697fab390 vfs: add follow_path function 2025-09-23 19:38:14 +03:00
rusya 1fb777adb0 improve makefile to work with buildroot iso 2025-09-18 14:54:27 +03:00
rusya 3ca60aea00 fix buildroot config 2025-09-18 14:53:27 +03:00
rusya bacf6f6782 update buildroot config to have linux use arch default config 2025-09-16 23:02:59 +03:00
rusya 2c8b5d4752 syscalls: implement argv and envp handling in execve 2025-09-16 22:41:32 +03:00
rusya 7c2f3735bf add buildroot config 2025-09-14 18:12:39 +03:00
rusya 91e0379fc9 syscalls: implement basic execve syscall, no argc, argv, envp support yet 2025-09-14 17:17:42 +03:00
rusya 4c26652ee2 syscalls: remove start_time from sys_nanosleep 2025-09-03 16:49:52 +03:00
rusya 63938e1acd syscalls: fix nanosleep, thanks to gemini, sorry for that 2025-09-03 16:35:07 +03:00
rusya 5b922ea773 syscalls: start trying to add nanosleep syscall 2025-09-02 00:15:29 +03:00
rusya a459751453 apic: init apic timer using pit, not precise on qemu 2025-09-01 23:22:33 +03:00
rusya 982f1a5fae apic: make msr-related function names consistent with the overall style 2025-08-30 21:11:51 +03:00
rusya 649c4c56a4 apic: fix timer and keyboard handling 2025-08-30 20:57:44 +03:00
rusya fb8dd43dd3 start implementing APIC utils 2025-08-29 18:35:22 +03:00
rusya 9e21167bd3 vfs: put test_iso9660 into vfs.c 2025-08-29 17:08:06 +03:00
rusya 7c43956ebe vfs: introduce adjustable ISO9660 buffer length for file reading 2025-08-22 17:50:42 +03:00
rusya 9bb6d9d1a5 screen: implement cursorhome terminal command 2025-08-22 17:43:41 +03:00
rusya fffa4b7699 kmain: allocate first 16 pages for stack 2025-08-20 21:01:09 +03:00
rusya 92511dbcd7 tasking: fix stack corruption on the scheduler trigger 2025-08-20 20:59:08 +03:00
rusya 9fdc551308 syscalls: improve working with files using vfs 2025-08-17 16:03:41 +03:00
rusya caa4005990 exec_from_file and vfs: fix reading file 2025-08-17 15:02:09 +03:00
rusya 0628470a7c still trying to read a file 2025-08-16 21:43:42 +03:00
rusya ce6e9642ee continue working on implementing lib9660 into the kernel 2025-08-16 19:41:48 +03:00
rusya 287ac77422 add lib9660 and test_iso9660 function 2025-08-14 21:41:54 +03:00
rusya ea39cb85f3 add atapi driver 2025-08-14 21:13:10 +03:00
rusya d017f0b245 syscalls: continue making brk syscall 2025-07-31 17:54:20 +03:00
rusya df45ffe2ce tasking: add brk to process struct 2025-07-31 17:02:56 +03:00
rusya 992d82c6d4 syscalls: make use of stderr and fix chdir syscall return value 2025-07-18 22:43:34 +03:00
rusya 3ae26ed88a syscalls: fix cwd-related stuff 2025-07-18 21:02:54 +03:00
rusya 359e5c6d78 syscalls: add chdir and getcwd syscalls, not tested yet 2025-07-16 15:42:35 +03:00
rusya aac4375b8e syscalls: add getpid syscall 2025-07-16 15:21:19 +03:00
rusya 8bc7e1d523 syscalls: fix handle_syscall function performing more that 1 syscall at a time 2025-07-09 17:23:18 +03:00
rusya a01120cfe4 tasking: switch tss.esp0 on switching process 2025-07-09 16:44:19 +03:00
rusya 5b5de55919 i'm so close 2025-07-08 18:53:06 +03:00
rusya a9f8e96ac9 fuck that fork syscall 2025-07-08 18:42:33 +03:00
rusya c2293b8996 syscalls: close to being done with fork syscall 2025-07-07 22:22:10 +03:00
rusya 7f861a8b92 mm: fix copy_page_dir 2025-07-07 20:37:48 +03:00
rusya e793e45854 syscalls: continue working on fork syscall 2025-07-07 00:19:35 +03:00
rusya 2a7baf1184 syscalls: start adding fork syscall, not done yet 2025-07-06 22:49:05 +03:00
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