Commit Graph
100 Commits
Author SHA1 Message Date
rusya 9fe2331ca7 syscalls: implement stat and fstat syscalls 2026-01-13 23:29:16 +03:00
rusya 4cef109e90 add cdrom-debug makefile target 2025-12-10 23:50:28 +03:00
rusya 3417fd7d13 syscalls: fix execve crash and heap-related problems 2025-12-10 23:47:21 +03:00
rusya 9e68f71cd0 mm: make page bitmap smaller and stop whining if a page was already free in clear_bit 2025-12-10 00:48:35 +03:00
rusya 53e380e510 syscalls: fix execve to use heap and make it work better with fork 2025-12-10 00:47:46 +03:00
rusya 51dc254aa3 mm: improve stability by making the page bitmap full by default, also implement liballoc_lock and liballoc_unlock 2025-12-09 23:35:15 +03:00
rusya 2a7f62e275 mm: make get_physaddr return NULL if PD or PT is not present 2025-12-09 23:34:15 +03:00
rusya 24caf9c8aa syscalls: fix execve syscall making GPF 2025-11-23 15:55:18 +03:00
rusya a358d0b1ac syscalls: hopefully fix fork syscall 2025-11-23 15:23:38 +03:00
rusya c8036a9aae screen: fix backspace handling 2025-11-20 21:20:11 +03:00
rusya 697029016e syscalls: hopefully fix chdir syscall breaking sometimes 2025-11-20 21:12:05 +03:00
rusya 1f90fb5825 screen: implement cursor positioning 2025-11-20 20:13:45 +03:00
rusya 0b0492e756 syscalls: stop requiring a trailing slash for directories in chdir and vfs: emove some debug_log calls in follow_path 2025-11-20 20:13:45 +03:00
rusya 827189593c syscalls: make chdir follow path from the current->cwd and return 0 if there's no error 2025-11-20 16:12:40 +03:00
rusya a66a5da039 add creation of directory /katau/huy into the makefile 2025-11-20 16:11:16 +03:00
rusya 0de9f026b6 vfs: make vfs_read_file_by_path return error on error 2025-11-20 16:10:49 +03:00
rusya c17c23ddd5 tasking: make idle task halt 2025-11-20 15:53:57 +03:00
rusya 7dc522eb3d syscalls: remove excessive debug_log from sys_brk 2025-11-18 17:54:24 +03:00
rusya 68033325d2 implement prover stdin reading 2025-11-18 17:54:24 +03:00
rusya ccf954e1d6 mm: add a warning in map_page if a page is already mapped 2025-11-05 21:03:06 +03:00
rusya 57d2931b96 mm: fix mapping memory in non-present PDEs 2025-11-05 20:59:01 +03:00
rusya 561de6a4e3 syscalls: hopefully implement chdir syscall 2025-10-30 22:29:06 +03:00
rusya f4b0429062 syscalls: implement getcwd syscall 2025-10-30 20:26:28 +03:00
rusya 26c8280059 syscalls: fix page count for mapping in sys_execve and make caller run coreutils 2025-10-07 23:41:55 +03:00
rusya 88c1936e83 syscalls: make execve and vfs_read_file_by_path use follow_path, fix vfs_read_file_by_path name, fix execve-related pagefault 2025-10-07 23:41:55 +03:00
rusya 8c26f54d28 update buildroot-config 2025-10-01 21:15:38 +03:00
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