Commit Graph

203 Commits

Author SHA1 Message Date
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
35fdb1e0b0
📝 ♻️ Doc updates & Registers are now sized from consts 2023-03-24 18:13:18 +01:00
François Autin
928628c305
📝 Documentation updates 2023-03-24 18:11:37 +01:00
François Autin
228d58655a
🐛 Fixed missing check for position 0 2023-03-24 17:56: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
87d90c394f
Added MachineError struct 2023-03-23 20:04:21 +01:00
François Autin
c6ea3a0cb3
♻️ Refacted machine tests with macros 2023-03-23 17:42:36 +01:00
amaury
f6ec9ff60f oups sorry les boys 2023-03-15 15:48:58 +01:00
amaury
b011f75e50 remove an ignore test 2023-03-15 15:45:53 +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
Moysan Gabriel
539b3f6802 mmu_(read/write)_mem impl 2023-03-15 12:17:37 +01:00
c8df1e5053 use of system in parameters in synch 2023-03-15 11:09:34 +01:00
François Autin
e5242aab0c Ignored machine tests for now 2023-03-15 10:53:22 +01:00
François Autin
0047b7d762 Fixed incorrect length and address readouts because of an incorrectly configured radix 2023-03-15 10:45:02 +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
François Autin
d1935e9399
Fully documented mem_cmp.rs 2023-03-14 14:49:58 +01:00
François Autin
eeb0e336c7 what the fuck was that 2023-03-14 00:33:53 +01:00
François Autin
9318871c31 Fixed tests from mem_cmp 2023-03-13 23:55:35 +01:00
Moysan Gabriel
3391d3cb65 impl translation table + debut impl mmu 2023-03-13 22:52:27 +01:00
39e26e61bb Add thread_sleep 2023-03-13 20:55:46 +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
Moysan Gabriel
172dad6598 mmu & translation table def 2023-03-13 17:42:03 +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
26b75ffe8d
Add thread save and restore processor context 2023-03-10 19:11:13 +01:00
0c3af96b78
Fix start_thread 2023-03-10 19:04:23 +01:00
François Autin
95e0ac4499
Added partialeq trait where relevant 2023-03-10 19:04:22 +01:00
dc49951bab
Implemente finish (not finished yet), fix ucontext for windows 2023-03-10 19:03:49 +01:00
e4db7ec96b
Implement interrupt 2023-03-10 19:02:37 +01:00
c140830faa
Adding some content to thread 2023-03-10 19:01:22 +01:00
336ccd1425
Add thread structure 2023-03-10 19:01:21 +01:00
François Autin
6ee74ba126
Fixed more clippy complaining 2023-03-10 11:03:54 +01:00
François Autin
be8435cf83
Cleaned clippy lint warnings from machine.rs 2023-03-10 10:59:14 +01:00
François Autin
44e3f586e2
Fixed some clippy complaining 2023-03-10 10:38:58 +01:00
François Autin
6db52669b4
Removed useless variable 2023-03-10 10:34:13 +01:00
François Autin
5155b62b06
Added proper error handling to extract_memory_method 2023-03-10 10:32:20 +01:00
d392c69535 Add thread save and restore processor context 2023-03-09 12:08:33 +01:00
fe4bbb2fc2 Fix start_thread 2023-03-08 21:43:03 +01:00
Baptiste
075d6cb737 add tests run programs 2023-03-08 17:58:38 +01:00
François Autin
5e265ab27b
Added partialeq trait where relevant 2023-03-08 15:48:33 +01:00
Rémi Rativel
de0013ad3e remade compare_machine_memory 2023-03-08 13:34:12 +01:00
8c6ef4e131 Implemente finish (not finished yet), fix ucontext for windows 2023-03-08 13:21:08 +01:00
François Autin
58890d85d1
Fixed naming conventions not followed 2023-03-08 13:05:59 +01:00
Rémi Rativel
e60ca57bc7 Warning fix 2023-03-08 13:04:03 +01:00
Rémi Rativel
da30122c87 Added documentation for from function 2023-03-08 11:15:13 +01:00
Baptiste
1e2e537ec9 compare mem_checker and machine 2023-03-07 17:32:59 +01:00
Baptiste
d352f5dcd2 fix jal, branch instr & LD. + better print for machine status 2023-03-06 13:50:45 +01:00
Baptiste
6f6191ea3c memory.txt can be execute 2023-03-05 23:49:28 +01:00
Baptiste
6072ba97d6 update memory 2023-03-03 12:21:37 +01:00
4dae299008 Implement interrupt 2023-03-01 17:18:45 +01:00
Baptiste
5a90419ebb change memory to a vector, it can now be fill 2023-03-01 16:12:46 +01:00
77e6d74b3b Adding some content to thread 2023-03-01 15:45:49 +01:00
Baptiste
73c49414ff print_memory dans Machine 2023-03-01 15:11:35 +01:00
e422e65767 Add thread structure 2023-02-28 14:43:40 +01:00
Samy Solhi
0530d980be Merge conflicts 2023-02-15 18:12:15 +01:00
Samy Solhi
82c9282f0e debug loader 2023-02-15 18:09:18 +01:00
Baptiste
c1e2676f01 merging 2023-02-15 18:02:51 +01:00
Baptiste
39b7db864a calling mem_checker in main 2023-02-15 18:01:50 +01:00
Samy Solhi
6c08ed24b1 Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2023-02-15 17:21:25 +01:00
Samy Solhi
6507b601e7 Added loader 2023-02-15 17:20:10 +01:00
Rémi Rativel
4a201268e7 Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-15 16:14:45 +01:00
Rémi Rativel
9fab99e31f make struct and function public 2023-02-15 16:14:27 +01:00
Baptiste
4425ac747e debuging mem_checker::from 2023-02-15 15:45:37 +01:00
Samy Solhi
b5690a7f57 Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2023-02-15 14:34:10 +01:00
Samy Solhi
06f0be9ece Fixed R32F 2023-02-15 14:33:40 +01:00
Rémi Rativel
619b67f7ec Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-15 14:22:49 +01:00
Rémi Rativel
d76047e48b changed Mem_Checker method 2023-02-15 14:22:31 +01:00
Samy Solhi
a9a86b674b Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2023-02-15 13:56:08 +01:00
Samy Solhi
e3c6917486 Added RV32F Standard Extension 2023-02-15 13:55:16 +01:00
Rémi Rativel
3269fa353f Implemented extract_memory 2023-02-13 11:08:24 +01:00
Moysan Gabriel
54a20296f9 bruh 2023-02-08 15:51:55 +01:00
Moysan Gabriel
297a4d1d0a memory context load 2023-02-08 15:50:14 +01:00
Baptiste
8b84dee271 pc - 8 in one instruction 2023-02-08 15:05:02 +01:00
eab9d1c749 Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-08 14:50:01 +01:00
5af3a7e738 Remove instructions in favor of memory 2023-02-08 14:48:33 +01:00
Moysan Gabriel
027e91119b waiting for machine update 2023-02-08 14:34:09 +01:00
Moysan Gabriel
6945128f72 test create mem check 2023-02-08 12:37:21 +01:00
Moysan Gabriel
b29cd7cc82 Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-08 01:18:42 +01:00