Commit Graph

505 Commits

Author SHA1 Message Date
aef8d219d0 Continue to add comments 2023-04-03 15:58:57 +02:00
025ede6080 Add some comments 2023-04-03 15:26:55 +02:00
8c844c3e5c Initialize sp value for each threads (temporary workaround) 2023-04-02 19:55:06 +02:00
8239079130 Add section flag support, loader now ready to run binary files 2023-04-01 00:14:09 +02:00
0a744f0f94 Add parsing of sections 2023-03-31 22:48:02 +02:00
443556b18a Refactor loader into multiple struct 2023-03-31 21:49:26 +02:00
35c81e5269 Fix get_address_point 2023-03-31 19:34:45 +02:00
453de4b704 Fix is_riscv_isa 2023-03-31 15:34:04 +02:00
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
dc33c857a6 Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler 2023-03-29 17:21:45 +02:00
Samy Solhi
2981925401 Added shutdown system call 2023-03-29 17:21:34 +02:00
Rémi Rativel
8e81358e51 Started to implement syscall.rs 2023-03-29 17:16:16 +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
703c8e5448 Loader seem to work, be seem we have a problem with jalr 2023-03-28 21:26:58 +02:00
7dff3bcdd9 Merge branch 'thread_scheduler' into bin-loader 2023-03-28 21:08:00 +02:00
cfcdce750b Change filename in thread_manager::test-thread_context 2023-03-28 19:47:42 +02:00
François Autin
2e41758a52 Merge branch 'machine_refactor' into 'thread_scheduler'
♻️ Machine.rs refactoring

See merge request simpleos/burritos!11
2023-03-28 17:46:04 +00:00
François Autin
40039eca17
♻️ Error cleanup 2023-03-28 19:37:31 +02:00
e170256c9b Fix build makefiles 2023-03-28 19:35:24 +02:00
7a32aa503c Trying to make bin tests files 2023-03-28 17:54:05 +02:00
c9792d1a1a Ignore uncomplete test 2023-03-27 22:24:46 +02:00
2f986da7ae fix save_processor_state, move test to thread_manager 2023-03-27 22:20:29 +02:00
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
François Autin
651e03a446
📝 :refactor: Form and documentation updates 2023-03-25 15:37:14 +01:00
François Autin
7ed53261a0
📝 Documentation updates 2023-03-24 19:02:50 +01:00
François Autin
4e90d9fef7
♻️ Now all machine methods are called through self 2023-03-24 18:48:07 +01:00
François Autin
a2d5b22774
♻️ Machine::write_memory is now indeed a self method 2023-03-24 18:36:02 +01:00
François Autin
b33c31ef38
♻️ Machine::read_memory is now indeed a self method 2023-03-24 18:34:06 +01:00
François Autin
88e1921b3c
♻️ Further simplified tests 2023-03-24 18:27:28 +01:00
François Autin
7bdde70989
♻️ Removed tons of casts to usize 2023-03-24 18:20:59 +01:00