Commit Graph
100 Commits
Author SHA1 Message Date
Quentin Legot fc3237c4ad Adding test to loader, update ci (hope it work) 2023-04-04 11:50:29 +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
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
Quentin Legot e170256c9b Fix build makefiles 2023-03-28 19:35:24 +02:00
Quentin Legot 7a32aa503c Trying to make bin tests files 2023-03-28 17:54:05 +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
Quentin Legot 5963759141 Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler 2023-03-22 18:31:05 +01:00
Quentin Legot 6d0477153b First iteration (not complete) of a test in thread_manager 2023-03-22 18:30:31 +01:00
Quentin Legot ca9f458a7e Add test module to tm 2023-03-22 15:52:48 +01:00
Quentin Legot 1b44949842 remove machine from system 2023-03-22 15:48:29 +01:00
Quentin Legot da37e0657c Merge branch 'thread_rework' into thread_scheduler 2023-03-22 15:08:38 +01:00
Quentin Legot b104bcc6da Fix memory leak 2023-03-22 14:33:56 +01:00
Quentin Legot b9c329219a Added 2 tests to list.rs, improve semantic and using Default trait instant of function new 2023-03-21 22:40:49 +01:00
Quentin Legot d3b2d0bac6 List is now a fifo list 2023-03-21 22:03:48 +01:00
Quentin Legot 977cb2bf96 kernel now build
I commented out semaphore code too cause it need to be updated
and having some error cause the compiler to not check for borrow errors
2023-03-16 14:52:53 +01:00
Quentin Legot fa64d4314d decrease some dependencies 2023-03-15 17:57:53 +01:00
Quentin Legot 9c3501eb40 Merge branch 'thread_scheduler' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into thread_scheduler 2023-03-15 11:09:41 +01:00
Quentin Legot c8df1e5053 use of system in parameters in synch 2023-03-15 11:09:34 +01:00
Quentin Legot 88a0b31300 Add thread_finish 2023-03-14 22:01:52 +01:00
Quentin Legot 7de7f2e007 Fix scheduler switch_to by making a lot of change(use smart pointers in place of lifetime reference) 2023-03-13 21:47:06 +01:00
Quentin Legot 39e26e61bb Add thread_sleep 2023-03-13 20:55:46 +01:00
Quentin Legot 5a6a70f1b7 Force the compiler and clippy to return a warning when a function isn't documented 2023-03-13 14:51:32 +01:00
Quentin Legot 1f54ed35db Implement thread#t_yield() 2023-03-11 14:48:56 +01:00
Quentin Legot 45fea708fc Changed all reference to thread with an RefCell to enforce mutability 2023-03-10 19:11:16 +01:00
Quentin Legot 26b75ffe8d Add thread save and restore processor context 2023-03-10 19:11:13 +01:00
Quentin Legot 0c3af96b78 Fix start_thread 2023-03-10 19:04:23 +01:00
Quentin Legot 6820086579 Added thread manager 2023-03-10 19:04:23 +01:00
Quentin Legot 3406544e3b Remove old static vars in scheduler, doesn't work 2023-03-10 19:04:23 +01:00
Quentin Legot 75e5c17f28 Fix thread 2023-03-10 19:04:23 +01:00
Quentin Legot bf4be44676 Add list.remove(T) 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 3457f67a7c Add ucontext_t 2023-03-10 19:02:38 +01:00
Quentin Legot e4db7ec96b Implement interrupt 2023-03-10 19:02:37 +01:00
Quentin Legot 621b0568b0 Move system to the right location 2023-03-10 19:01:22 +01:00
Quentin Legot 83df053dc6 Implement Thread::start and join 2023-03-10 19:01:22 +01:00
Quentin Legot c140830faa Adding some content to thread 2023-03-10 19:01:22 +01:00
Quentin Legot 99fc514720 Change var name to fit with rust conventions 2023-03-10 19:01:22 +01:00
Quentin Legot cf1c7aad5a Fix global var 2023-03-10 19:01:22 +01:00
Quentin Legot e3e217c57f scheduler done 2023-03-10 19:01:22 +01:00
Quentin Legot adce79aaa8 Add scheduler structure 2023-03-10 19:01:21 +01:00
Quentin Legot 336ccd1425 Add thread structure 2023-03-10 19:01:21 +01:00
Quentin Legot 958407ab77 Improve list by adding iterator trait 2023-03-10 19:01:21 +01:00
Quentin Legot 407480bcd4 Add double linked list 2023-03-10 19:01:21 +01:00
Quentin Legot a38251c111 Add kernel mod 2023-03-10 19:01:20 +01:00
Quentin Legot e1ba3f6078 Changed all reference to thread with an RefCell to enforce mutability 2023-03-09 14:00:42 +01:00
Quentin Legot d392c69535 Add thread save and restore processor context 2023-03-09 12:08:33 +01:00
Quentin Legot fe4bbb2fc2 Fix start_thread 2023-03-08 21:43:03 +01:00
Quentin Legot 4ca85b54d4 Added thread manager 2023-03-08 21:10:51 +01:00
Quentin Legot 0f5eb84c7b Remove old static vars in scheduler, doesn't work 2023-03-08 16:05:05 +01:00
Quentin Legot f15d782916 Fix thread 2023-03-08 15:54:10 +01:00
Quentin Legot 99be85acf5 Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler 2023-03-08 15:47:19 +01:00
Quentin Legot 62b60186e9 Add list.remove(T) 2023-03-08 15:46:53 +01:00
Quentin Legot 8c6ef4e131 Implemente finish (not finished yet), fix ucontext for windows 2023-03-08 13:21:08 +01:00
Quentin Legot 6ca0b564c5 Add ucontext_t 2023-03-06 16:31:35 +01:00
Quentin Legot 4dae299008 Implement interrupt 2023-03-01 17:18:45 +01:00
Quentin Legot b39e56b9c4 Move system to the right location 2023-03-01 17:01:02 +01:00
Quentin Legot 68ee179e12 Implement Thread::start and join 2023-03-01 16:55:17 +01:00
Quentin Legot 77e6d74b3b Adding some content to thread 2023-03-01 15:45:49 +01:00
Quentin Legot 792497b14c Change var name to fit with rust conventions 2023-03-01 11:16:21 +01:00
Quentin Legot 4c8062905c Fix global var 2023-03-01 11:10:15 +01:00
Quentin Legot 6f98224da1 scheduler done 2023-03-01 10:11:19 +01:00
Quentin Legot 013a2968cd Add scheduler structure 2023-02-28 16:39:40 +01:00
Quentin Legot e422e65767 Add thread structure 2023-02-28 14:43:40 +01:00
Quentin Legot fd6b22a2f3 Improve list by adding iterator trait 2023-02-17 09:45:47 +01:00
Quentin Legot bd0b6e17a5 Add double linked list 2023-02-15 18:10:08 +01:00
Quentin Legot f1f57a76e1 Add kernel mod 2023-02-15 14:56:11 +01:00
Quentin Legot eab9d1c749 Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-08 14:50:01 +01:00
Quentin Legot 5af3a7e738 Remove instructions in favor of memory 2023-02-08 14:48:33 +01:00
Quentin Legot 3762547402 Added OPIW OPs and made some fix (see description)
Fix some warning which appear on clippy
Fix print with 2 OPIW operations
Fix doc in mod.rs
2023-02-04 18:16:52 +01:00
Quentin Legot 4302b9ce23 Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-01 17:32:19 +01:00
Quentin Legot bce7047c5c Convert some fp reg from array to struct call 2023-02-01 17:32:17 +01:00
Quentin Legot 658502d353 Convert some fp reg from array to struct call 2023-02-01 17:26:34 +01:00
Quentin Legot 0e89061a03 Fix errors preventing compiling 2023-02-01 17:10:11 +01:00
Quentin Legot 2508cd408f Merge branch 'register_impl' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into register_impl 2023-02-01 17:04:13 +01:00
Quentin Legot 67ebff7ad0 Update registers access on RISCV_OP 2023-02-01 17:04:10 +01:00
Quentin Legot 069a8e5741 Using a struct for registers instead of an array 2023-02-01 16:39:40 +01:00
Quentin Legot 5ad42a7073 Revert "Add tests to machine"
This reverts commit 72b2a105f0.
2023-02-01 14:30:36 +01:00
Quentin Legot 72b2a105f0 Add tests to machine 2023-01-27 11:15:39 +01:00
Quentin Legot 86ab1161e7 function name more consistent 2023-01-26 00:08:49 +01:00
Quentin Legot 46752df2c9 Add a first implementation to fix register zero issue 2023-01-26 00:02:22 +01:00
Quentin Legot 40374bf26f F extension documentation done 2023-01-23 14:29:37 +01:00
Quentin Legot 0c04f4bf6d All some fp instruction documentation 2023-01-23 12:52:32 +01:00
Quentin Legot 55f5726197 Move const to simulator/mod.rs 2023-01-20 18:21:32 +01:00
Quentin Legot f7f66d31e0 Add a lot of comments, fix SRLI instruction in print, 2023-01-18 22:15:06 +01:00
Quentin Legot 559f94ca21 Fi write_memory 2023-01-18 17:42:56 +01:00
Quentin Legot 66eeb8f2b7 Add tests momery 2023-01-18 17:01:48 +01:00
Quentin Legot b75c7b2d96 Add support for RISCV_ST instructions 2023-01-18 15:26:44 +01:00
Quentin Legot 1701e9b7d5 Fix RISCV_LD instructions 2023-01-18 15:12:25 +01:00