339 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
778999c8f4 Fix tests 2024-03-13 22:02:24 +01:00
d6ab0da231 Fix threadMsleep for 0 2024-03-13 21:40:51 +01:00
Mathieu Maret
dea0eba83d zero: keep track of allocated pages 2024-03-06 22:00:09 +01:00
86a0138d9c Merge pull request 'user_thread' (#9) from user_thread into master
Reviewed-on: #9
2024-02-28 20:24:12 +01:00
Mathieu Maret
dc4c465e94 Fix freeing squattedCtx when deleting thread 2024-02-27 23:14:09 +01:00
Mathieu Maret
1047400be2 Add missing debug.iso.gdb file 2024-02-26 23:03:49 +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
454f0875f5 Add isodebug target
Allow to take benefit from elf symboles
2024-02-15 23:41:58 +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
a38a674a53 userspace: fix printf for unsigned 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
f9ce88e7a3 Makefile: use no intermediate file
To speedup, a bit, the compilation, use -pipe option for gcc
2024-02-14 18:28:11 +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
a78aa420fd zero: less verbose 2024-02-11 19:00:17 +01:00
Mathieu Maret
fe6dfbc1c6 Add missing errno.h 2024-02-11 18:50:04 +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
607fcc7121 Merge pull request 'mmap' (#8) from mmap into master
Reviewed-on: #8
2024-02-11 15:29:57 +01:00
Mathieu Maret
c3f3eb435e implement munmap
Also add basic errno.h
2024-02-11 00:22:41 +01:00
Mathieu Maret
3339f8b059 Fix customData free 2024-02-10 22:49:24 +01:00
Mathieu Maret
88b9c3160b Improve headers and add sys/mman.h 2024-02-10 21:26:01 +01:00
Mathieu Maret
b352eab798 gdb: print_list can take the next element name in param 2024-02-08 23:15:29 +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
ccfafe4a04 userspace: mmap test read and write 2024-02-08 23:15:29 +01:00
Mathieu Maret
62a1c1cefb zero: finish implementation 2024-02-08 23:15:29 +01:00
Mathieu Maret
f751835115 Improve debug message 2024-02-08 23:15:29 +01:00
Mathieu Maret
5a2042e577 Fix MMU context on ressource checking 2024-02-08 23:15:29 +01:00
Mathieu Maret
9fa9bd0411 userspace: add PROT flag for mmap 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
205d174c8a pagefault_handler print error code before killing thread 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
1e3be650f2 Put back kernel sym in debug.gdb
As gnu-debuglink does not seems to be working everwhere
2024-02-08 23:05:54 +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
a45dd96dc8 Merge pull request 'Implement malloc with a working free' (#7) from user_malloc into master
Reviewed-on: #7
2024-01-29 22:45:05 +01:00