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