Commit Graph

321 Commits

Author SHA1 Message Date
Mathieu Maret
8309174f1a Get mem mapping from bootloader 2021-01-23 00:47:06 +01:00
Mathieu Maret
77b495e382 Fix naming and mem bottom 2021-01-22 23:10:07 +01:00
Mathieu Maret
a254a7cd71 Fix allocation of too big size 2021-01-16 22:43:43 +01:00
Mathieu Maret
9815cc062f Multiple page allocation 2020-08-28 22:40:21 +02:00
Mathieu Maret
ba9e0f1bff protect slub access from multithread 2020-08-21 00:35:33 +02:00
Mathieu Maret
0ae9ad7d92 protect vga access from mutlithread 2020-08-21 00:35:33 +02:00
Mathieu Maret
9fe6d3c7df add some pretty-printer for kthread 2020-08-21 00:35:33 +02:00
Mathieu Maret
1f1f017224 Add gdb custom commands 2020-08-20 23:41:36 +02:00
Mathieu Maret
c71b0135cf add wq[Init|Free] 2020-08-20 23:41:36 +02:00
Mathieu Maret
e8959f3693 Add test on wq with timeout 2020-08-20 23:41:36 +02:00
Mathieu Maret
5b933a82d3 Implement timeout on wait_queue
fix #1
2020-08-20 23:41:12 +02:00
Mathieu Maret
fa9955dd7f Simplifi debug cmd (allow ctrl-c) 2020-08-18 13:55:52 +02:00
Mathieu Maret
9c6c4f3470 Fix typo 2020-08-16 00:24:59 +02:00
Mathieu Maret
6922f6dfa4 improve wait_queue api 2020-08-15 23:31:35 +02:00
Mathieu Maret
36734ae6e6 test: add mutex test 2020-07-08 23:12:45 +02:00
Mathieu Maret
0f200d1911 Add mutex implementation 2020-07-08 23:08:50 +02:00
Mathieu Maret
1230d738a6 Add %p for printf 2020-07-08 23:03:05 +02:00
Mathieu Maret
5de1c54b61 Move sleep Thread to test 2020-07-06 17:21:49 +02:00
Mathieu Maret
88d0266d76 gdb: add non-core dir 2020-05-06 21:05:09 +02:00
Mathieu Maret
70930ecf50 Add comment for non-preempt kernel 2020-05-03 23:14:40 +02:00
Mathieu Maret
319f197fcd Fix scheduler with sleeping task 2020-05-03 23:13:17 +02:00
Mathieu Maret
b1e6bc1aab Fix initial thread status 2020-05-03 23:11:45 +02:00
Mathieu Maret
a96fded645 fix general purpose reg order in cpu_state 2020-05-03 23:11:14 +02:00
Mathieu Maret
4b3f928f67 kthreadMsleep implementation wip 2020-05-03 14:45:26 +02:00
Mathieu Maret
f7525f9e76 Xsec to jiffies convertion 2020-04-30 23:16:41 +02:00
Mathieu Maret
c65c7bb7b0 More more stuff in arch subdir 2020-04-29 23:07:01 +02:00
Mathieu Maret
9e2a1a73a9 update Readme 2020-04-27 23:47:52 +02:00
Mathieu Maret
e51314ffac organize by arch 2020-04-27 23:45:38 +02:00
Mathieu Maret
6c3a03a4bc Implement Jiffies 2020-04-27 23:26:22 +02:00
Mathieu Maret
3b97d0307d Style: harmonize formatting
Thanks to: "clang-format -i -style=file **/*.{c,h}"
2020-04-27 00:14:51 +02:00
Mathieu Maret
fd6551e90c vim and clang-format configuration file 2020-04-27 00:13:43 +02:00
Mathieu Maret
6cfc8e1c2f kthread: formatting 2020-04-24 23:40:19 +02:00
Mathieu Maret
c7feb31c22 Add default exception handler 2020-04-24 23:39:56 +02:00
Mathieu Maret
dafaba7407 kthread implement yield 2020-04-24 23:35:57 +02:00
Mathieu Maret
b2d3cd62ca alloc: fix free in full slab 2020-04-24 23:28:11 +02:00
Mathieu Maret
0c389afa8f Harmonize kthread func naming 2020-04-24 13:42:47 +02:00
Mathieu Maret
59a8d3b582 Exception handler can access their ID 2020-04-23 23:59:57 +02:00
Mathieu Maret
de14e795d6 kthread: implement exit 2020-04-23 23:40:16 +02:00
Mathieu Maret
c1b13bc3f4 Improve log at boot 2020-04-23 23:38:20 +02:00
Mathieu Maret
ffac8fedb3 Add core dir by default for gdb 2020-04-23 23:36:40 +02:00
Mathieu Maret
2c0f54926d Initial kthread implementation 2020-04-23 14:49:42 +02:00
Mathieu Maret
5141044c06 use popal/pushal for context switch
Should take fewer clock nd save esp
2020-04-22 17:31:37 +02:00
Mathieu Maret
79c1fda419 Some defintion improvments 2020-04-22 16:54:30 +02:00
Mathieu Maret
5b681b3d87 Add docs links 2020-04-22 16:53:31 +02:00
Mathieu Maret
a19f4cb609 Set PIT IRQ in main
complete interrupt_frame struct and formatting
2020-04-22 16:52:54 +02:00
Mathieu Maret
7248cd75ae Use i386 qemu for debugging
This help going over function and not stepping in
2020-04-19 14:30:50 +02:00
Mathieu Maret
389452ec3f printf: also write on serial 2019-05-17 09:57:14 +02:00
Mathieu Maret
ca22696b29 klibc: put printf inside (instead of vga.h) 2019-05-17 09:35:23 +02:00
Mathieu Maret
de3c5e5dc2 Disable vect from compiler
Otherwise, this may produce vectorized instruction (mmx, sse ...) that
will rise a EXCEPTION_INVALID_OPCODE
2019-05-16 23:45:45 +02:00
Mathieu Maret
13f1dc7878 Multiboot: display mmap and mod informations
sample code from https://www.gnu.org/software/grub/manual/multiboot/html_node/kernel_002ec.html#kernel_002ec
have issue (c.f. https://forum.osdev.org/viewtopic.php?t=30318)
2019-05-16 23:24:54 +02:00