Commit Graph

392 Commits

Author SHA1 Message Date
fc3237c4ad Adding test to loader, update ci (hope it work) 2023-04-04 11:50:29 +02:00
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
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
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
François Autin
a223c14f36 Merge branch 'ci_update' into 'thread_scheduler'
💚 Switched to fully qualified rust image version number

See merge request simpleos/burritos!10
2023-03-23 15:17:23 +00:00
François Autin
cdb52bc9de 💚 Switched to fully qualified rust image version number 2023-03-23 15:17:23 +00:00