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