205 Commits

Author SHA1 Message Date
6854ad489f Use gcc stack protector
Trick was to use the stack-protector-guard option otherwise gcc expect
the canary value to be stored on the Thread Local Storage of the current
thread.
That does not work the same way for us, so trying to access TLS at
%gs (the canonical place for the TLS), where gcc expect the canary to be
storeg, lead to system reboot as it is not setup.
2025-02-20 17:13:01 +01:00
d6ab0da231 Fix threadMsleep for 0 2024-03-13 21:40:51 +01:00
Mathieu Maret
dc4c465e94 Fix freeing squattedCtx when deleting thread 2024-02-27 23:14:09 +01:00
e0c392c16e Fix usleep for small values 2024-02-16 00:51:18 +01:00
4204087bd1 Implement thread_join
And use it for tinyc implementation
2024-02-16 00:51:07 +01:00
9713f527a8 Change userspace by partition type
Userspace should be on the first Linux partition found
2024-02-15 23:36:01 +01:00
70366fa7be Set pid_t type 2024-02-15 18:42:45 +01:00
0688afa76d fix gettid==getpid for 1 thread 2024-02-15 17:20:47 +01:00
90436a4f46 Add usleep syscall 2024-02-14 18:43:47 +01:00
Mathieu Maret
1c2cd75c72 Add new thread sys call 2024-02-13 00:19:51 +01:00
Mathieu Maret
758017a8e7 mmap fix
Keep region list sorted on heap grow
Fix checking region overlap
Assert that mmap appends at loaded address for init
2024-02-12 18:25:35 +01:00
Mathieu Maret
f8b1b2c5a7 Fix printing long hex 2024-02-12 17:29:22 +01:00
Mathieu Maret
cb5e408525 Fix init ressource mapping 2024-02-12 09:41:56 +01:00
Mathieu Maret
7b953e625e Show allocated/mapped stats 2024-02-11 15:34:33 +01:00
Mathieu Maret
026618a730 Merge close VR with same ressource mapped 2024-02-11 15:31:35 +01:00
Mathieu Maret
c3f3eb435e implement munmap
Also add basic errno.h
2024-02-11 00:22:41 +01:00
Mathieu Maret
88b9c3160b Improve headers and add sys/mman.h 2024-02-10 21:26:01 +01:00
Mathieu Maret
b8c4c782de Fix findVirtualRegionBeforeAddr 2024-02-08 23:15:29 +01:00
Mathieu Maret
1895781213 Assign a mapped ressource to init prog 2024-02-08 23:15:29 +01:00
Mathieu Maret
cca78b269d init: use zero driver for stack alloc 2024-02-08 23:15:29 +01:00
Mathieu Maret
bf7008fc98 Fix write rights on pageflt 2024-02-08 23:15:29 +01:00
Mathieu Maret
f751835115 Improve debug message 2024-02-08 23:15:29 +01:00
Mathieu Maret
a4873a7d30 Implement freeing ressource on uAS destroy 2024-02-08 23:15:29 +01:00
Mathieu Maret
d9051ea59c Propagate page fault to ressource handler
Fix mmap arguments handling
2024-02-08 23:15:29 +01:00
Mathieu Maret
b9d741060f Add the ability to map/unmap a ressource 2024-02-08 23:15:29 +01:00
Mathieu Maret
1bb81fd57e Typo fix 2024-02-08 23:15:29 +01:00
Mathieu Maret
44c5551655 Wip: zero mmap 2024-02-08 23:15:29 +01:00
Mathieu Maret
b6fd550e7f Add some documentation 2024-02-08 23:15:26 +01:00
Mathieu Maret
8af3ba0762 mmap syscall declaration 2024-02-08 23:08:14 +01:00
Mathieu Maret
bd25bb8478 Add calloc, realloc, memmove. Sync klibc and libc 2024-01-31 12:57:35 +01:00
Mathieu Maret
946c47a988 Reorganize a bit includes like libc 2024-01-29 23:27:10 +01:00
Mathieu Maret
2b324ac62d Implement malloc with a working free 2024-01-29 22:43:26 +01:00
Mathieu Maret
edbbaec930 Correct some warnings 2024-01-26 22:53:39 +01:00
Mathieu Maret
45ec3c1a7b Fix brk api to match GLIC and add sbrk
Also free userspace allocated memory
2024-01-26 22:26:40 +01:00
Mathieu Maret
2359cf2744 process: add name getter 2024-01-26 22:23:58 +01:00
Mathieu Maret
f110f85498 Simplify partition setup
To prepare part1 for grub, part2 for userdata
2023-11-20 00:15:50 +01:00
Mathieu Maret
f05e017d45 backtrace: print function name instead of addr
Thx to the ELF header given by the bootloader
2023-11-20 00:12:58 +01:00
Mathieu Maret
60e71f6521 elf: move struct definition to header 2023-11-20 00:09:02 +01:00
Mathieu Maret
6a00aa4762 Correct ld variable type
They should be declared as char
2023-11-20 00:02:22 +01:00
Mathieu Maret
01d54dea85 Add partial multiboot2 support 2023-11-17 23:32:52 +01:00
Mathieu Maret
1120b40655 Rename Yolo syscall to Helo 2023-11-11 00:07:26 +01:00
Mathieu Maret
18ea283213 Use format attribut and correct associated errors 2023-11-09 23:44:04 +01:00
Mathieu Maret
a179a6a0a7 use access from gcc 11 2023-11-08 21:52:55 +01:00
Mathieu Maret
bff24b2213 Various code fix 2023-11-08 21:00:38 +01:00
Mathieu Maret
44fa5967dd Fix uninitialized variable 2023-03-21 23:41:23 +01:00
Mathieu Maret
098330c845 Add memmove to klibc 2023-03-05 20:34:24 +01:00
Mathieu Maret
a65a3d1697 Correct totologic warning 2023-02-01 13:26:53 +01:00
Mathieu Maret
509a1fd992 Test alloc on several page 2022-09-03 23:41:33 +02:00
Mathieu Maret
edcac85b35 OnDemand paging for heap 2022-09-03 23:32:31 +02:00
Mathieu Maret
6471ee9a2d Implement brk syscall simple case 2022-09-03 22:43:41 +02:00