Commit Graph

360 Commits

Author SHA1 Message Date
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
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
3685bb6590
Added general failure case in raise exception and removed break in main loop for system exceptions 2023-04-05 13:41:56 +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
Quentin Legot
fc3237c4ad Adding test to loader, update ci (hope it work) 2023-04-04 11:50:29 +02:00
Samy Solhi
655bf9eab7 added tests for SC_SHUTDOWN and SC_WRITE (print) 2023-04-03 23:08:13 +02:00
Quentin Legot
aef8d219d0 Continue to add comments 2023-04-03 15:58:57 +02:00
Quentin Legot
025ede6080 Add some comments 2023-04-03 15:26:55 +02:00
Quentin Legot
8c844c3e5c Initialize sp value for each threads (temporary workaround) 2023-04-02 19:55:06 +02:00
Quentin Legot
8239079130 Add section flag support, loader now ready to run binary files 2023-04-01 00:14:09 +02:00
Quentin Legot
0a744f0f94 Add parsing of sections 2023-03-31 22:48:02 +02:00
Quentin Legot
443556b18a Refactor loader into multiple struct 2023-03-31 21:49:26 +02:00
Quentin Legot
35c81e5269 Fix get_address_point 2023-03-31 19:34:45 +02:00
Quentin Legot
453de4b704 Fix is_riscv_isa 2023-03-31 15:34:04 +02:00
Quentin Legot
b4b7eb69c2 Add elf header parsing 2023-03-31 15:18:58 +02:00
Samy Solhi
5c7979b746 Added Write system call 2023-03-29 17:52:25 +02:00
Samy Solhi
2981925401 Added shutdown system call 2023-03-29 17:21:34 +02:00
Samy Solhi
e117ec2132 Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler 2023-03-29 17:01:44 +02:00
Samy Solhi
06f6137852 Added MachineOk to one_instruction 2023-03-29 17:01:28 +02:00
François Autin
8629d859e4
♻️ Documentation updates and fn renaming 2023-03-29 16:42:08 +02:00
François Autin
45a2ee952c
Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler 2023-03-29 16:26:35 +02:00
François Autin
2d241e4dd5
♻️ Started refactoring instruction.rs 2023-03-29 16:26:27 +02:00
Samy Solhi
ac1f2287a2 Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler 2023-03-29 16:15:53 +02:00
Samy Solhi
15f3608b63 Start syscall 2023-03-29 16:13:57 +02:00
François Autin
3fa3ce0e99
♻️ Consolidated instruction definition and manipulation in instruction.rs 2023-03-29 16:08:06 +02:00
François Autin
d77c2448e3
📝 Commented trait RegisterNum 2023-03-29 15:40:35 +02:00
François Autin
72f560f3ec
♻️ Simplified fp_instruction 2023-03-29 15:25:58 +02:00
Quentin Legot
703c8e5448 Loader seem to work, be seem we have a problem with jalr 2023-03-28 21:26:58 +02:00
Quentin Legot
7dff3bcdd9 Merge branch 'thread_scheduler' into bin-loader 2023-03-28 21:08:00 +02:00
Quentin Legot
cfcdce750b Change filename in thread_manager::test-thread_context 2023-03-28 19:47:42 +02:00
François Autin
40039eca17
♻️ Error cleanup 2023-03-28 19:37:31 +02:00
Quentin Legot
c9792d1a1a Ignore uncomplete test 2023-03-27 22:24:46 +02:00
Quentin Legot
2f986da7ae fix save_processor_state, move test to thread_manager 2023-03-27 22:20:29 +02:00
Quentin Legot
08ba0154f7 Add a bin loader 2023-03-27 18:10:11 +02:00
François Autin
7f37965ed4
♻️ Implement From<&str> and From<String> traits to MachineError, and simplified opiw_instruction 2023-03-27 15:56:23 +02:00
François Autin
2162232199
♻️ Simplified branch_instruction 2023-03-27 15:37:30 +02:00
François Autin
ff93fab832
♻️ Amend of previous commit 2023-03-27 15:01:34 +02:00
François Autin
288703321e
♻️ OPI instruction done 2023-03-27 14:59:22 +02:00
François Autin
ba8e36ea90
:rotating_lights: Small lint fixes 2023-03-27 11:35:04 +02:00
François Autin
939e23883e
♻️ Simplified OPI 2023-03-27 11:22:53 +02:00
François Autin
a8bbc13142
🐛 Readded check for system instructions in order to pass tests 2023-03-27 10:34:10 +02:00
François Autin
8ba63d38a3
♻️ Main loop now panics on error 2023-03-27 10:21:18 +02:00
François Autin
e77e125f96
♻️ Error management and simplification
Modified methods
 - load_instruction
  - store_instruction
2023-03-25 15:57:28 +01:00
François Autin
3dfeca4c42
♻️ simplified store_instruction using closure 2023-03-25 15:43:33 +01:00