Commit Graph
88 Commits
Author SHA1 Message Date
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
Quentin Legot 89cc9423bd Fix read_memory and implemented write_memory 2023-01-18 15:03:58 +01:00
Quentin Legot 547abd001b Update some println to panic, fix RISCV_OP_M_MULH (line 270), add write_memory structure 2023-01-16 19:12:20 +01:00
Quentin Legot 94c49de2ae Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-01-11 15:36:27 +01:00
Quentin Legot ee8762fdb8 read_memory now panic instead of just displaying the error and continue the execution 2023-01-11 15:34:51 +01:00
Quentin Legot b1909e3280 Moving files to simulator module 2023-01-11 14:58:12 +01:00
Quentin Legot ad960a46e0 Comments has been standardized, remove some warnings 2022-11-23 16:04:21 +01:00
Quentin Legot 9a233f3c12 Remove ~60 warnings 2022-11-16 15:48:46 +01:00
Quentin Legot a559bea039 Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2022-11-09 17:31:34 +01:00
Quentin Legot 2a3f0b3bb3 Fix decode to allow overflow in certains cases, add a case in test for riscv_lui where imm is negative 2022-11-09 17:31:14 +01:00
Quentin Legot 2a708ce335 Fix machine.rs 2022-11-09 16:45:00 +01:00
Quentin Legot 31faa6501e Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2022-11-09 16:39:10 +01:00
Quentin Legot 4e44c5a9ec Add test for opi, fix func3 sltiu 2022-11-09 16:38:50 +01:00
Quentin Legot 42221a26c3 Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2022-11-09 15:57:10 +01:00
Quentin Legot 3b17ffcaa6 add addi print test 2022-11-09 15:54:01 +01:00
Quentin Legot 9430fb04d1 Amélioration de la documentation: explication des tests 2022-10-19 17:50:56 +02:00
Quentin Legot 89a4f5b4d9 Ajout explication d'utilisation de la doc et ajout d'un warning quand les fonctions ne sont pas commentées 2022-10-19 17:05:50 +02:00