rusya
|
761789a42e
|
get rid of useless types.h header
|
2026-01-16 17:59:26 +03:00 |
|
rusya
|
64f86a961d
|
syscalls: let open syscall work with directories
|
2026-01-16 17:46:00 +03:00 |
|
rusya
|
466c1a61af
|
tasking: don't forget to free the cwd on a dead process
|
2026-01-13 23:29:49 +03:00 |
|
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 |
|