This website requires JavaScript.
59237ab375
sb16: cleanup and add stereo support
ring3
rusya
2026-05-20 15:24:01 +03:00
a77b51699c
sb16: finally make the driver work
rusya
2026-05-10 23:11:54 +03:00
312c543510
sb16: continue trying to add a driver
rusya
2026-05-09 15:21:07 +03:00
59b775457d
sb16: start adding sb16 driver
rusya
2026-05-09 14:51:54 +03:00
ab2da499da
mm: kill current task on usermode pagefault and fix destroy_page_dir destroying kernel space mappings
rusya
2026-04-15 23:44:11 +03:00
64d5cd1d2f
tasking: prevent many page faults
rusya
2026-04-16 15:16:57 +03:00
560003b6e3
syscalls: implement statx syscall
rusya
2026-01-31 20:51:47 +03:00
93fe3a179b
syscalls: stop freezing on brk syscall where ebx < current brk
rusya
2026-01-31 20:49:52 +03:00
761789a42e
get rid of useless types.h header
rusya
2026-01-16 17:59:26 +03:00
64f86a961d
syscalls: let open syscall work with directories
rusya
2026-01-16 17:46:00 +03:00
466c1a61af
tasking: don't forget to free the cwd on a dead process
rusya
2026-01-13 23:29:49 +03:00
9fe2331ca7
syscalls: implement stat and fstat syscalls
rusya
2026-01-13 23:29:16 +03:00
4cef109e90
add cdrom-debug makefile target
rusya
2025-12-10 23:48:06 +03:00
3417fd7d13
syscalls: fix execve crash and heap-related problems
rusya
2025-12-10 23:29:18 +03:00
9e68f71cd0
mm: make page bitmap smaller and stop whining if a page was already free in clear_bit
rusya
2025-12-10 00:48:35 +03:00
53e380e510
syscalls: fix execve to use heap and make it work better with fork
rusya
2025-12-10 00:47:46 +03:00
51dc254aa3
mm: improve stability by making the page bitmap full by default, also implement liballoc_lock and liballoc_unlock
rusya
2025-12-09 23:35:15 +03:00
2a7f62e275
mm: make get_physaddr return NULL if PD or PT is not present
rusya
2025-12-09 23:34:15 +03:00
24caf9c8aa
syscalls: fix execve syscall making GPF
rusya
2025-11-23 15:55:18 +03:00
a358d0b1ac
syscalls: hopefully fix fork syscall
rusya
2025-11-23 15:23:38 +03:00
c8036a9aae
screen: fix backspace handling
rusya
2025-11-20 21:20:11 +03:00
697029016e
syscalls: hopefully fix chdir syscall breaking sometimes
rusya
2025-11-20 21:08:15 +03:00
1f90fb5825
screen: implement cursor positioning
rusya
2025-11-20 20:12:52 +03:00
0b0492e756
syscalls: stop requiring a trailing slash for directories in chdir and vfs: emove some debug_log calls in follow_path
rusya
2025-11-20 20:01:55 +03:00
827189593c
syscalls: make chdir follow path from the current->cwd and return 0 if there's no error
rusya
2025-11-20 16:12:40 +03:00
a66a5da039
add creation of directory /katau/huy into the makefile
rusya
2025-11-20 16:11:16 +03:00
0de9f026b6
vfs: make vfs_read_file_by_path return error on error
rusya
2025-11-20 16:10:49 +03:00
c17c23ddd5
tasking: make idle task halt
rusya
2025-11-20 15:53:57 +03:00
7dc522eb3d
syscalls: remove excessive debug_log from sys_brk
rusya
2025-11-18 17:53:17 +03:00
68033325d2
implement prover stdin reading
rusya
2025-11-18 15:49:38 +03:00
ccf954e1d6
mm: add a warning in map_page if a page is already mapped
rusya
2025-11-05 21:03:06 +03:00
57d2931b96
mm: fix mapping memory in non-present PDEs
rusya
2025-11-05 20:52:58 +03:00
561de6a4e3
syscalls: hopefully implement chdir syscall
rusya
2025-10-30 22:29:06 +03:00
f4b0429062
syscalls: implement getcwd syscall
rusya
2025-10-30 20:26:28 +03:00
26c8280059
syscalls: fix page count for mapping in sys_execve and make caller run coreutils
rusya
2025-10-07 23:41:27 +03:00
88c1936e83
syscalls: make execve and vfs_read_file_by_path use follow_path, fix vfs_read_file_by_path name, fix execve-related pagefault
rusya
2025-10-07 23:11:20 +03:00
8c26f54d28
update buildroot-config
rusya
2025-10-01 21:09:56 +03:00
05fa945421
continue working on correct shell loading
rusya
2025-10-01 20:05:35 +03:00
2019f87b14
make exec_from_file take l9660_file* instead of a filename
rusya
2025-09-23 20:13:34 +03:00
f697fab390
vfs: add follow_path function
rusya
2025-09-23 19:38:14 +03:00
1fb777adb0
improve makefile to work with buildroot iso
rusya
2025-09-18 14:54:27 +03:00
3ca60aea00
fix buildroot config
rusya
2025-09-18 14:53:27 +03:00
bacf6f6782
update buildroot config to have linux use arch default config
rusya
2025-09-16 23:02:59 +03:00
2c8b5d4752
syscalls: implement argv and envp handling in execve
rusya
2025-09-16 22:41:32 +03:00
7c2f3735bf
add buildroot config
rusya
2025-09-14 18:12:39 +03:00
91e0379fc9
syscalls: implement basic execve syscall, no argc, argv, envp support yet
rusya
2025-09-14 16:58:19 +03:00
4c26652ee2
syscalls: remove start_time from sys_nanosleep
rusya
2025-09-03 16:49:52 +03:00
63938e1acd
syscalls: fix nanosleep, thanks to gemini, sorry for that
rusya
2025-09-03 16:35:07 +03:00
5b922ea773
syscalls: start trying to add nanosleep syscall
rusya
2025-09-02 00:15:29 +03:00
a459751453
apic: init apic timer using pit, not precise on qemu
rusya
2025-09-01 23:22:33 +03:00
982f1a5fae
apic: make msr-related function names consistent with the overall style
rusya
2025-08-30 21:11:51 +03:00
649c4c56a4
apic: fix timer and keyboard handling
rusya
2025-08-30 20:57:44 +03:00
fb8dd43dd3
start implementing APIC utils
rusya
2025-08-29 18:35:22 +03:00
9e21167bd3
vfs: put test_iso9660 into vfs.c
rusya
2025-08-29 17:08:06 +03:00
7c43956ebe
vfs: introduce adjustable ISO9660 buffer length for file reading
rusya
2025-08-22 17:50:42 +03:00
9bb6d9d1a5
screen: implement cursorhome terminal command
rusya
2025-08-22 17:43:41 +03:00
fffa4b7699
kmain: allocate first 16 pages for stack
rusya
2025-08-20 21:01:09 +03:00
92511dbcd7
tasking: fix stack corruption on the scheduler trigger
rusya
2025-08-20 20:59:08 +03:00
9fdc551308
syscalls: improve working with files using vfs
rusya
2025-08-17 16:03:41 +03:00
caa4005990
exec_from_file and vfs: fix reading file
rusya
2025-08-17 15:02:09 +03:00
0628470a7c
still trying to read a file
rusya
2025-08-16 21:43:42 +03:00
ce6e9642ee
continue working on implementing lib9660 into the kernel
rusya
2025-08-16 19:41:48 +03:00
287ac77422
add lib9660 and test_iso9660 function
rusya
2025-08-14 21:41:54 +03:00
ea39cb85f3
add atapi driver
rusya
2025-08-14 21:13:10 +03:00
d017f0b245
syscalls: continue making brk syscall
rusya
2025-07-31 17:54:20 +03:00
df45ffe2ce
tasking: add brk to process struct
rusya
2025-07-31 17:02:56 +03:00
992d82c6d4
syscalls: make use of stderr and fix chdir syscall return value
rusya
2025-07-18 22:43:34 +03:00
3ae26ed88a
syscalls: fix cwd-related stuff
rusya
2025-07-18 21:02:54 +03:00
359e5c6d78
syscalls: add chdir and getcwd syscalls, not tested yet
rusya
2025-07-16 15:42:35 +03:00
aac4375b8e
syscalls: add getpid syscall
rusya
2025-07-16 15:21:19 +03:00
8bc7e1d523
syscalls: fix handle_syscall function performing more that 1 syscall at a time
rusya
2025-07-09 17:23:18 +03:00
a01120cfe4
tasking: switch tss.esp0 on switching process
rusya
2025-07-09 16:44:19 +03:00
5b5de55919
i'm so close
rusya
2025-07-08 18:53:06 +03:00
a9f8e96ac9
fuck that fork syscall
rusya
2025-07-08 18:42:33 +03:00
c2293b8996
syscalls: close to being done with fork syscall
rusya
2025-07-07 22:22:10 +03:00
7f861a8b92
mm: fix copy_page_dir
rusya
2025-07-07 20:37:48 +03:00
e793e45854
syscalls: continue working on fork syscall
rusya
2025-07-07 00:19:35 +03:00
2a7baf1184
syscalls: start adding fork syscall, not done yet
rusya
2025-07-06 22:49:05 +03:00
cbd2c52c20
a little cleanup
rusya
2025-06-24 17:41:38 +03:00
e3eba88958
mm: fix page fault on process exit
rusya
2025-06-24 17:08:22 +03:00
bfdd3b6b6a
mm: replace some printfs with debug_log
rusya
2025-06-23 23:47:29 +03:00
b769ac0a58
tasking: continue fixing task_kill
rusya
2025-06-23 23:36:14 +03:00
29de6e6f43
tasking: a small cleanup
rusya
2025-06-23 00:32:23 +03:00
c047dd687b
tasking: implement task_kill function, thanks deepseek
rusya
2025-06-23 00:05:21 +03:00
70d6aacb91
syscalls: start adding exit syscall, not done yet
rusya
2025-06-21 18:54:52 +03:00
bb096f826a
syscalls: implement read syscall
rusya
2025-06-21 17:09:34 +03:00
bf7d96865a
syscalls: done with open, write, close syscalls
rusya
2025-06-20 23:06:01 +03:00
4ccae473ca
syscalls: start implementing some basic syscalls
rusya
2025-06-20 21:59:08 +03:00
a9789b7f57
tasking: fix syscall handling, use debug_log instead of printf in some places
rusya
2025-06-19 18:31:15 +03:00
93f174827b
tasking: start handling syscalls
rusya
2025-06-19 17:58:49 +03:00
5fa2393fd6
tasking: fix ELF file execution
rusya
2025-06-07 18:18:05 +03:00
9f721a72b7
tasking: fix virtual mapping count in exec_from_file
rusya
2025-06-07 15:07:26 +03:00
2408b67ccc
tasking: continue working on executing ELF files
rusya
2025-06-06 20:20:45 +03:00
ea6733fd46
kmain: fix heap initialization and use kvalloc instead of alloc_page
rusya
2025-06-06 14:16:47 +03:00
01155234c6
tools: add elf tool
rusya
2025-06-06 00:39:21 +03:00
541bc7172f
mm: implement heap with liballoc, might review later
rusya
2025-06-06 00:36:22 +03:00
d1ac41deeb
tasking, mm: remove unused functions and page_directory field from the Task struct
rusya
2025-06-01 14:04:49 +03:00
5f87e55067
tasking: make jump_usermode2 lock the scheduler & test the second user task
rusya
2025-06-01 13:53:06 +03:00
8fea7a8ec6
tasking: isolate ring3 tasks
rusya
2025-06-01 01:24:31 +03:00
f47a4a451d
tasking: fix separate page directory creation for new ring0 tasks
rusya
2025-06-01 00:15:06 +03:00