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 |
|
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 |
|