Commit Graph

162 Commits

Author SHA1 Message Date
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
Mathieu Maret
c59eb339e9 Add Userspace Addr Space notion 2022-08-07 23:14:26 +02:00
Mathieu Maret
0e11da855c Replace cst by its name 2022-08-07 16:20:01 +02:00
Mathieu Maret
ed55f1cc23 mem: Correct physical mem for code bank 2022-07-29 00:32:34 +02:00
Mathieu Maret
4e6622d16e alloc: no need from slab >= PAGE_SiZE 2022-07-29 00:17:52 +02:00
Mathieu Maret
7891554d8b move elf in dedicated file 2022-07-25 17:10:28 +02:00
Mathieu Maret
fb9bd8df7d Various small fix 2021-11-13 08:31:05 +01:00
Mathieu Maret
9d35a686ab Fix few issues/leaks 2021-11-12 10:19:43 +01:00
Mathieu Maret
d1994d44a3 Add locked ring buffer 2021-11-09 20:41:07 +01:00
Mathieu Maret
c3b4d65a36 Add semaphore 2021-11-09 15:14:11 +01:00
Mathieu Maret
e9e584149c Add support for syscall with more than 3 args 2021-11-09 14:14:06 +01:00
Mathieu Maret
08a9d7442e Add user file size before the file
As a quick fix before FS support
2021-11-08 22:33:15 +01:00
Mathieu Maret
9e528320cf syscall fix variable decl 2021-11-08 22:31:57 +01:00
Mathieu Maret
39cf7ab3ed Add atoi 2021-11-08 22:30:41 +01:00
Mathieu Maret
69d4702696 Remove debug log 2021-11-06 00:17:15 +01:00
Mathieu Maret
d3a7ab59b7 Basic shell 2021-11-06 00:13:40 +01:00
Mathieu Maret
288663ad58 Import ringbuffer implementation
From https://git.mathux.org/mathieu/ringbuffer
2021-11-05 23:31:28 +01:00
Mathieu Maret
2b32908029 load userspace from disk 2021-11-05 23:02:23 +01:00
Mathieu Maret
4ad5b58787 Userspace with a syscall 2021-11-04 11:40:53 +01:00
Mathieu Maret
a02167ad88 Reduce assert stack depth
This may cause page fault in test
2021-11-03 23:37:44 +01:00
Mathieu Maret
e94f87b798 Fix threadSwitch 2021-11-03 09:54:44 +01:00
Mathieu Maret
7b60e1bdac Fix threadSwitch context 2021-11-02 22:00:31 +01:00
Mathieu Maret
84e104d83e Implement some basic syscall 2021-11-02 21:47:05 +01:00
Mathieu Maret
98db8b8962 add context switch in thread 2021-11-02 21:24:12 +01:00
Mathieu Maret
0040fb1cda Add basic test for process 2021-10-30 15:43:40 +02:00
Mathieu Maret
5230b971b2 Add process subsystem 2021-10-30 15:30:19 +02:00
Mathieu Maret
e65a57d55d Rename kthread to thread 2021-10-30 14:29:12 +02:00
Mathieu Maret
ca4b318df6 rename struct kthread in thread 2021-10-30 14:08:12 +02:00
Mathieu Maret
e6524c7d48 Naming fix 2021-10-30 13:58:12 +02:00
Mathieu Maret
79a2bc58ae Integrate MMU context 2021-10-30 00:28:31 +02:00
Mathieu Maret
55e709adb5 allocArea: implement allocPhy failure case 2021-10-29 23:18:15 +02:00
Mathieu Maret
7081fea36d Fix areaAlloc map failing and tests 2021-10-29 17:48:06 +02:00
Mathieu Maret
d702c7b60e malloc: fix recursivity with areaAlloc 2021-10-29 12:34:33 +02:00
Mathieu Maret
ca399ee782 Modify areaAdd api to be able to do more check 2021-10-28 18:33:02 +02:00
Mathieu Maret
be080af906 Fix initial area setup
The inital kernel stack was not page aligned and thus was found in 2
area
2021-10-28 18:19:35 +02:00
Mathieu Maret
e658ea6e48 Fix upper area limit 2021-10-28 11:03:44 +02:00
Mathieu Maret
07d173a9c1 Sync PDs on modifications 2021-10-28 00:41:02 +02:00
Mathieu Maret
7b9ceba6b2 Give stack information to area 2021-10-28 00:32:35 +02:00
Mathieu Maret
7f6bb8eef3 add mmu context 2021-10-27 17:36:12 +02:00
Mathieu Maret
46e1bb0642 area alloc: mapping optionnal 2021-10-27 17:30:58 +02:00
Mathieu Maret
2c6ffe34a1 Allow to unref unrefered page 2021-10-27 17:26:49 +02:00
Mathieu Maret
4aa093034b Page fault: more information 2021-10-27 17:20:28 +02:00
Mathieu Maret
fbb51dff0f Fix Area research and init size 2021-10-27 17:17:41 +02:00
Mathieu Maret
75dbbdb53b Wrap IRQ, Exception, cpu_context to be ready for user
Fix ASM where ebp was push 2 times.
One by pushw ebp
One by pushal later
2021-10-27 00:14:22 +02:00