François Autin
5c66577989
Cleanup of clippy warnings
2023-04-19 23:38:58 +02:00
François Autin
fe519555cc
Removed thread_to_be_destroyed field and associated methods
...
This used to exist in NachOS' source code as memory management is manual in C++.
Here, simply dropping the Thread from the thread list allows the borrow checker to
automatically destroy the thread.
2023-04-19 23:33:37 +02:00
François Autin
8b13cc6ef6
♻️ Clean-up of some nasty nesting in sem_v and sem_p
2023-04-19 23:24:51 +02:00
François Autin
5734e02b30
♻️ Refactored lock_acquire
2023-04-19 23:13:27 +02:00
François Autin
f55189f1fe
♻️ Refactored lock_release
2023-04-19 21:30:28 +02:00
François Autin
73ac8d3083
BurritOS now read configuration file
2023-04-19 18:09:08 +02:00
Rémi Rativel
32c1237c26
Tests lock
...
Signed-off-by: Rémi Rativel <remi.rativel@etudiant.univ-rennes1.fr>
2023-04-19 15:52:31 +02:00
Rémi Rativel
35b2949243
implemented lock_release in thread_manager.rs, for this, I derived the clone function for lock in synch.rs and list in list.rs
2023-04-18 12:13:56 +02:00
Rémi Rativel
ec2f50f7d3
implemented sc_lock_release
...
TODO : to implement lock_release in thread_manager
2023-04-13 14:45:57 +02:00
Quentin Legot
3244584da9
Add debug message and debug_assert
2023-04-13 02:10:09 +02:00
Quentin Legot
232617c32e
Add debug field to thread_manager and tried to fix sc_join (not worked :-( )
2023-04-13 02:05:21 +02:00
Quentin Legot
f144438490
loader now return better understanable errors, fix when compiler when to use bss section, add join exception, fix get_string_param, add support for thread in obbAddr, add a test
2023-04-13 00:18:51 +02:00
Samy Solhi
05f72af035
added lock acquire system call
2023-04-13 00:17:34 +02:00
Samy Solhi
6e6d3424f5
added lock create and destroy system calls
2023-04-12 23:10:26 +02:00
Samy Solhi
6c3655bd78
write semaphore id in machine on creation
2023-04-12 23:03:38 +02:00
Samy Solhi
c419926a4c
added sc_sem_remove
2023-04-12 23:00:12 +02:00
Samy Solhi
19356a36d9
add new semaphore to obj_addrs in sc_sem_create
2023-04-12 22:54:40 +02:00
Quentin Legot
35736821c0
lint: remove some warning
2023-04-12 15:32:46 +02:00
Quentin Legot
752b70e448
Remove old P and V semaphore function and moved tests
2023-04-12 15:22:22 +02:00
Quentin Legot
21f3a72a3d
Fix exceptions with semaphore
2023-04-12 14:49:08 +02:00
Quentin Legot
134e2bd2cc
Fix a lot of errors
2023-04-12 14:01:39 +02:00
Quentin Legot
e8629b1ebf
Moving sc_new_thread to it own function
2023-04-12 13:55:32 +02:00
François Autin
0d70751279
Moved sc_sem_create to own function
2023-04-12 13:50:54 +02:00
François Autin
355071a2f1
Added sc_p call
2023-04-12 13:28:55 +02:00
François Autin
729eba656c
Added sc_v call
2023-04-12 13:25:33 +02:00
François Autin
afce2c66c9
Synch now public mod
2023-04-12 13:16:04 +02:00
Quentin Legot
a36e470ea1
Add new thread exception (untested)
2023-04-11 17:47:36 +02:00
Quentin Legot
6c19f66d62
use setter instead of modifying the field itself
2023-04-06 13:48:37 +02:00
Quentin Legot
66d6daf0b9
Lint: remove some warnings
2023-04-06 13:46:59 +02:00
Quentin Legot
9cc57e7f03
Add launch argument parser, add debug parameter to machine
...
burritos now launch binary
2023-04-06 13:27:03 +02:00
François Autin
2f0b9e6592
Tests now point to the correct locations
2023-04-05 17:07:58 +02:00
Quentin Legot
01ac29160b
Fix test
2023-04-05 16:57:37 +02:00
Quentin Legot
b804117127
Fix loader test, only use one bin file in test_thread_context
2023-04-05 16:51:32 +02:00
Rémi Rativel
f79b63e930
implemented getter for objaddr
2023-04-05 16:43:09 +02:00
François Autin
91f5c6054c
Added trait SynchObj to relevant structs
2023-04-05 16:12:15 +02:00
Rémi Rativel
586c077002
fixed get_string_param
2023-04-05 16:09:39 +02:00
Quentin Legot
02dd1f5ccf
Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler
2023-04-05 16:05:31 +02:00
Quentin Legot
44cfb828fb
Remove useless libc, elf and ucontext, add comments to exceptions
...
improve propagation of errors in raise_exception
2023-04-05 16:02:54 +02:00
Samy Solhi
7060098809
Merge remote-tracking branch 'origin/thread_scheduler' into thread_scheduler
...
# Conflicts:
# src/kernel/exception.rs
2023-04-05 16:00:06 +02:00
Samy Solhi
a151bef7ef
added fn get string param
2023-04-05 15:57:34 +02:00
Rémi Rativel
77086155b5
started to implement sc_sem_create and auxiliar function
2023-04-05 15:47:57 +02:00
François Autin
2756477e67
Project now builds
2023-04-05 13:49:32 +02:00
François Autin
b96808b55f
Fixed incorrect flow control
2023-04-05 13:44:43 +02:00
François Autin
69f91170f6
Optimized to avoid cloning heap values
2023-04-05 13:34:06 +02:00
Quentin Legot
8b3a3bebe7
Fix list::remove when trying to remove first element of the list (SIGSEGV)
2023-04-05 13:07:10 +02:00
Quentin Legot
24be35547e
Add Exit Exception
2023-04-05 12:01:31 +02:00
Quentin Legot
0fd2815a59
Improve test in thread_manager, increase memory size to make it fit
2023-04-04 22:01:49 +02:00
Legot Quentin
0c3a254296
Merge branch 'bin-loader' into 'thread_scheduler'
...
Binary loader
See merge request simpleos/burritos!12
2023-04-04 13:35:10 +00:00
Quentin Legot
4480212ab0
Merge branch 'thread_scheduler' into bin-loader
2023-04-04 15:28:24 +02:00
Samy Solhi
655bf9eab7
added tests for SC_SHUTDOWN and SC_WRITE (print)
2023-04-03 23:08:13 +02:00