Commit Graph

128 Commits

Author SHA1 Message Date
f6364278d0 implement guard pages for stack 2022-04-13 17:15:11 +02:00
Jan Schär
42d51de0b1 Fix for page fault while disabled 2022-04-13 15:47:38 +02:00
Sparchatus
e5a5ec13bb Even more effective multu thred testing and dirty fix for paging slab stealing issue 2022-04-13 13:38:35 +00:00
Sparchatus
fca2584d89 fine grained paging locking to avoid deadlocks 2022-04-13 12:55:56 +00:00
Sparchatus
1b37ebbb13 Bugfix: ignored error return in slab allocator 2022-04-13 12:38:12 +00:00
Sparchatus
8aec2a8ce3 Bugfix: page faults during root cnode refill 2022-04-13 10:58:26 +00:00
Sparchatus
54ff71f710 More strict locking for aos_rpc.c 2022-04-13 10:56:55 +00:00
2b04f8a82e add multiple threads to mallocator test 2022-04-12 13:33:37 +02:00
Sparchatus
d0f9e8dfcf Fix a deadlock during paging 2022-04-12 10:56:09 +00:00
53369ab564 alloc and free many small buffers 2022-04-11 18:27:16 +02:00
3e2ee555f8 spawn many mallocators 2022-04-11 00:40:01 +02:00
070b2fe8e4 add mallocator module 2022-04-11 00:16:14 +02:00
148b2a02ad add test_threads file 2022-04-10 22:40:42 +02:00
4eb6b2de56 remove unnecessary slot_alloc 2022-04-10 22:27:29 +02:00
Jan Schär
d8f2439b7b Implement heap allocation on page fault 2022-04-07 18:42:58 +02:00
Sparchatus
0c224f9066 locked rpc for thread safety 2022-04-06 14:05:44 +00:00
Sparchatus
3c8987f5f3 locked paging for thread safety? hope this suffices 2022-04-06 12:35:00 +00:00
Jan Schär
51ccc7e3a0 Enable SELF_PAGING_WORKS 2022-04-06 11:31:31 +02:00
Jan Schär
8e56ac9244 Merge remote-tracking branch 'handout/main' 2022-04-05 16:15:08 +02:00
Daniel Schwyn
a7a01f8ea1 Bug fixes
Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>
2022-04-04 15:16:17 +02:00
Sparchatus
d3ada884d7 Bugfix as per Forum
https://moodle-app2.let.ethz.ch/mod/forum/discuss.php?d=102070
2022-04-04 13:15:48 +00:00
Sparchatus
5f9ce34445 Added simple exception handler that prints stuff 2022-04-04 13:05:32 +00:00
Sparchatus
ec591bbb54 Bugfix for root slot allocator refill as in Q&A Forum
https://moodle-app2.let.ethz.ch/mod/forum/discuss.php?d=100538
2022-03-31 20:39:59 +00:00
Sparchatus
62af3cbd65 Bugfixes for serial read rpc. Using kernel sys_getchar for dummy terminal read. Added silly shell to hello.c 2022-03-31 20:29:43 +00:00
d4a5a904dd remove debug prints 2022-03-31 17:50:05 +02:00
Sparchatus
c060cb8498 Fix bug in child spawning causing incomplete paging state passing 2022-03-31 15:42:56 +00:00
04803f06f8 maybe finish memory server 2022-03-31 17:19:47 +02:00
Sparchatus
12ee3bb5b6 Added arbitrary length terminal write and read with early return 2022-03-31 13:12:33 +00:00
Sparchatus
69feeaf9d0 Revert "Fix kernel bug in INIT_LX_SIZE"
This reverts commit 16f26e8aa0.
2022-03-31 12:53:38 +00:00
Sparchatus
16f26e8aa0 Fix kernel bug in INIT_LX_SIZE
https://moodle-app2.let.ethz.ch/mod/forum/discuss.php?d=100480
2022-03-31 12:52:00 +00:00
Jan Schär
da6dbaaff7 Use default waitset on server 2022-03-31 11:47:38 +02:00
Jan Schär
042a4187ed Fix bugs 2022-03-31 10:24:28 +02:00
Sparchatus
9750a752c3 Added: Terminal RPC, Spawn RPC, small abstraction fixes, automatic recv slot allocation in aos_rpc 2022-03-31 07:59:00 +00:00
Jan Schär
14063e60be Implement RPC 2022-03-30 20:12:19 +02:00
f2fb4d5d01 start memory server 2022-03-30 16:23:39 +02:00
Sparchatus
6b77ee35e4 test_ipc: fix memeater spawn 2022-03-30 14:07:21 +00:00
Sparchatus
ac171a2851 Fixed oupsie in init chanel setup 2022-03-30 13:26:49 +00:00
d05b40fdc8 add memeater to tests 2022-03-30 13:14:01 +02:00
Sparchatus
50c75ed361 Working Init Channel 2022-03-28 15:33:53 +00:00
Sparchatus
24c9fa55a9 Pass init EP to spawn child 2022-03-28 07:58:55 +00:00
Sparchatus
22401e4cb0 Add PIDs and Milestone 3 preparation 2022-03-25 15:51:38 +00:00
Sparchatus
f46cf6d66a fix paging test 2022-03-25 10:25:22 +00:00
Jan Schär
d58ae46282 Make it possible to use caps in child 2022-03-24 21:50:08 +01:00
Jan Schär
c835aa477b Revert ram_alloc_set prototype
Rather than changing the prototype of an existing function, we should
create a new function and make the old function a wrapper around that.
2022-03-24 18:28:31 +01:00
Sandro Rüegge
0224bc8fd2 Extra/pass paging state 2022-03-24 14:18:15 +00:00
Sparchatus
ba1eaa12dc Added test for paging_unmap 2022-03-24 08:05:03 +00:00
Jan Schär
24b4c54978 paging: Unmap and free 2022-03-23 23:15:15 +01:00
Sparchatus
f2f7c37442 Added time_wait_ms function to stdlib 2022-03-23 15:55:20 +00:00
Sparchatus
0e3c365e4d Implemented killing a process + test 2022-03-23 15:24:37 +00:00
Sparchatus
f2a5dae163 Merge branch 'main' of gitlab.ethz.ch:rueegges/aos into main 2022-03-23 13:51:29 +00:00
Sparchatus
55b3b80b16 Added tests for paging_map_frame_attr and spawn multiple processes 2022-03-23 13:50:09 +00:00
2a4e34ed8d implement invoke_dispatcher_stop 2022-03-23 14:50:04 +01:00
Sparchatus
a8700b9734 Fixed process list 2022-03-23 13:35:02 +00:00
Jan Schär
b6287225a0 spawn: Fix arguments 2022-03-23 14:24:22 +01:00
Jan Schär
bd1b3bed8d spawn: Start process 2022-03-23 14:19:49 +01:00
86907b831d set up arguments 2022-03-23 14:14:47 +01:00
Sparchatus
6c74f8fd18 store spawned processes in list for now 2022-03-23 09:59:00 +00:00
Jan Schär
3f60fdbb72 spawn: Map dispatcher into child 2022-03-23 10:31:13 +01:00
Sparchatus
c62530f230 Add translation from elf to paging flags 2022-03-23 09:27:54 +00:00
Sparchatus
e682cbc0b8 Merge branches 'main' and 'main' of gitlab.ethz.ch:rueegges/aos into main 2022-03-23 09:04:55 +00:00
Sparchatus
3493884ecc Map ELF into child address space 2022-03-23 09:02:07 +00:00
Jan Schär
2dbebcd684 spawn: Setup dispatcher 2022-03-23 09:45:08 +01:00
Sparchatus
fdf72890f1 Add foreign state init 2022-03-23 08:29:02 +00:00
c83edbb696 setup child vspace 2022-03-22 22:36:38 +01:00
Jan Schär
e5632b050f spawn: Move code to correct function 2022-03-22 22:24:58 +01:00
8bd3bd5f55 Merge branch 'main' of gitlab.ethz.ch:rueegges/aos into main
merge
2022-03-22 21:50:57 +01:00
68c6df0238 create cspace 2022-03-22 20:49:42 +00:00
Jan Schär
07a20776de spawn: Parse the ELF 2022-03-22 21:18:36 +01:00
Jan Schär
6b911752f0 spawn: Find and map module, print magic, add test 2022-03-22 19:37:14 +01:00
Jan Schär
ec5ccea70c Clean up tests 2022-03-22 19:35:03 +01:00
Sparchatus
54c9c5d73b fix paging SEG 2022-03-22 16:12:52 +00:00
Sparchatus
2dd4f8d45f Store mapping size in page table metadata 2022-03-22 16:01:05 +00:00
Sparchatus
9173726d68 Added virtual address handling and speed up paging 2022-03-22 15:51:23 +00:00
Sparchatus
07a861ea61 Fixed leaking of allocated stuff in paging (but not partially completed mapping) 2022-03-22 13:58:13 +00:00
Sparchatus
347f3a1155 Fix paging_map_fixed_attr precondition 2022-03-22 11:02:11 +00:00
Sparchatus
292ca0b63b Merge rueegges paging into jschaer code 2022-03-22 10:56:57 +00:00
Jan Schär
10138df397 Implement Milestone 1 2022-03-17 17:29:59 +01:00
Daniel Schwyn
6d444bf552 Main handout
Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>
2022-03-03 14:57:51 +01:00