103 Commits

Author SHA1 Message Date
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
72f560f3ec
♻️ Simplified fp_instruction 2023-03-29 15:25:58 +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
François Autin
928628c305
📝 Documentation updates 2023-03-24 18:11:37 +01:00
François Autin
03cc8e17c6
♻️ Simplified imports and moved Register struct to own file 2023-03-24 17:44:24 +01:00
François Autin
c74c99499e
♻️ Removed loads of casts to usize 2023-03-24 17:32:04 +01:00
François Autin
bee0e8ce71
📝 Documentation updates for machine.rs 2023-03-23 21:55:46 +01:00
François Autin
cc6aab7c3f
Documented ExceptionType 2023-03-23 20:58:10 +01:00
François Autin
21159d3d98
Renamed exceptions to follow CamlCase convention 2023-03-23 20:54:05 +01:00
François Autin
43de76bd72
♻️ Started work on machine.rs refactoring
# Current changes

 - Crude error management
 - Readability improvements
 - Broke down one_instruction into smaller, more manageable methods
 - Added crude documentation
2023-03-23 20:05:46 +01:00
François Autin
c6ea3a0cb3
♻️ Refacted machine tests with macros 2023-03-23 17:42:36 +01:00
amaury
8577076f14 added the unsigned_addition test and memory mock 2023-03-15 15:35:28 +01:00
Baptiste
897903344b remove println in test 2023-03-15 15:14:45 +01:00
Baptiste
2533883ea7 machine tests ok 2023-03-15 15:12:47 +01:00
Baptiste
84d8bcc84f div 8 2023-03-15 14:04:25 +01:00
François Autin
e5242aab0c Ignored machine tests for now 2023-03-15 10:53:22 +01:00
Moysan Gabriel
77f28d029d impl translate 2023-03-15 00:32:58 +01:00
Moysan Gabriel
ea309ab124 taille de la memoire recalculée 2023-03-14 22:55:48 +01:00
Moysan Gabriel
3391d3cb65 impl translation table + debut impl mmu 2023-03-13 22:52:27 +01:00
amaury
c0765270d7 ajout de fichiers mémoire et des registre en cours d'execution 2023-03-13 19:00:54 +01:00
Moysan Gabriel
be19031c32 enum visibility 2023-03-13 18:01:02 +01:00
Moysan Gabriel
5f798edb94 enum d'erreurs dans machine, du code pour gerer les erreurs dans le futur 2023-03-13 17:49:48 +01:00
François Autin
c75e2995e7
Reworked unit tests for machine and renamed test_programs directory 2023-03-12 00:22:16 +01:00
François Autin
177abfe846
Renamed Machine::init_machine and fixed stack overflow by allocating main_memory to the heap 2023-03-11 23:49:20 +01:00
François Autin
e1283c9c42
Fixed missing crate import 2023-03-10 19:17:41 +01:00
François Autin
61c9300c6a
Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler 2023-03-10 19:14:03 +01:00
Quentin Legot
26b75ffe8d
Add thread save and restore processor context 2023-03-10 19:11:13 +01:00
François Autin
95e0ac4499
Added partialeq trait where relevant 2023-03-10 19:04:22 +01:00
Quentin Legot
dc49951bab
Implemente finish (not finished yet), fix ucontext for windows 2023-03-10 19:03:49 +01:00
Quentin Legot
c140830faa
Adding some content to thread 2023-03-10 19:01:22 +01:00