Commit Graph

429 Commits

Author SHA1 Message Date
François Autin
3971fb0630
Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler 2023-03-09 14:03:39 +01:00
François Autin
ecff299b28
added comments to macros 2023-03-09 14:03:35 +01:00
Quentin Legot
e1ba3f6078 Changed all reference to thread with an RefCell to enforce mutability 2023-03-09 14:00:42 +01:00
François Autin
f586c56a0b
Put default thread name in a const 2023-03-09 13:33:00 +01:00
François Autin
bfef7254d8
Added debug attributes to structs pertaining to thread in order to allow for applying assertions upon Thread 2023-03-09 13:24:04 +01:00
François Autin
8bf7a452f3
Added macro to get new thread easily and started writing test 2023-03-09 13:07:50 +01:00
François Autin
0f339dd936
Changed constructor to allow any string slice as parameter + started writing unit tests 2023-03-09 12:44:03 +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
Baptiste
075d6cb737 add tests run programs 2023-03-08 17:58:38 +01:00
Samy Solhi
82731cabcf synch.rs implemented 2023-03-08 16:39:00 +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
François Autin
f4edac230e
Added partialeq trait to Node 2023-03-08 15:49:31 +01:00
François Autin
5e265ab27b
Added partialeq trait where relevant 2023-03-08 15:48:33 +01:00
François Autin
ed5b760758
Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler 2023-03-08 15:48:08 +01:00
François Autin
7520fd4458
Added partialeq trait to List struct 2023-03-08 15:48:03 +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
Rémi Rativel
a29f410a66 small fix 2023-03-08 15:46:27 +01:00
Rémi Rativel
d03bb47131 Merge remote-tracking branch 'origin/thread_scheduler' into thread_scheduler 2023-03-08 15:45:47 +01:00
Rémi Rativel
cf65688566 Sarting synch.rs implementation 2023-03-08 15:45:35 +01:00
François Autin
a11ca01368
Main now initializes System object 2023-03-08 15:38:19 +01:00
François Autin
de502973c7
Added System initializer method 2023-03-08 15:34:13 +01:00
François Autin
06be5c9796
Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler 2023-03-08 15:16:27 +01:00
François Autin
0309614396
New system structure 2023-03-08 15:16:10 +01:00
Moysan Gabriel
4c79f86b89 dataTypes definition 2023-03-08 14:38:02 +01:00
François Autin
8889d43f9d
Fixed ucontext & libc 2023-03-08 14:09:07 +01:00
Rémi Rativel
de0013ad3e remade compare_machine_memory 2023-03-08 13:34:12 +01:00
Quentin Legot
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
Quentin Legot
6ca0b564c5 Add ucontext_t 2023-03-06 16:31:35 +01:00
Baptiste
d352f5dcd2 fix jal, branch instr & LD. + better print for machine status 2023-03-06 13:50:45 +01:00
amaury
cef082bfd5 ajout des mémoires nachos de tous les tests 2023-03-06 11:19:00 +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
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
Baptiste
5a90419ebb change memory to a vector, it can now be fill 2023-03-01 16:12:46 +01:00
Quentin Legot
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
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
Samy Solhi
0530d980be Merge conflicts 2023-02-15 18:12:15 +01:00
Quentin Legot
bd0b6e17a5 Add double linked list 2023-02-15 18:10:08 +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
Quentin Legot
f1f57a76e1 Add kernel mod 2023-02-15 14:56:11 +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
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
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
Moysan Gabriel
f8a7607ea8 conversion + creation MemChecker from a file path 2023-02-08 01:17:46 +01:00
Samy Solhi
420fef84ba Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2023-02-07 23:16:11 +01:00
Samy Solhi
3e8d68be54 Added mul support. Fixed SLLIW 2023-02-07 23:14:29 +01:00
Moysan Gabriel
70210699a4 squelette Mem_Checker 2023-02-07 22:50:55 +01:00
Moysan Gabriel
8adee1b42b Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-07 22:42:03 +01:00
Moysan Gabriel
9978818444 test creation section + conversion hexa 2023-02-07 22:40:53 +01:00
Samy Solhi
4438218d33 Removed wrong spaces 2023-02-07 22:05:35 +01:00
Samy Solhi
89aaa4e821 Changed hexa format to lowercase 2023-02-07 22:00:53 +01:00
Samy Solhi
f9046f411a Fixed print for BR 2023-02-07 21:58:02 +01:00
Moysan Gabriel
2d9c3f4ea3 squelette mem_cmp 2023-02-07 15:19:38 +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
Samy Solhi
83c212199e Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2023-02-01 17:33:07 +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
Samy Solhi
e6b9828e20 Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2023-02-01 17:31:33 +01:00
Baptiste
29c1cbd388 Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-01 17:31:31 +01:00
Samy Solhi
32a08caec2 Fixed JAL 2023-02-01 17:30:18 +01:00
Baptiste
1c6606eb35 impl register for floating point (from bottom) 2023-02-01 17:29:31 +01:00
Quentin Legot
658502d353 Convert some fp reg from array to struct call 2023-02-01 17:26:34 +01:00
Baptiste
d04072c89a Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-01 17:14:05 +01:00
Legot Quentin
25d2a23c91 Merge branch 'register_impl' into 'decode_print'
Register impl

See merge request simpleos/burritos!4
2023-02-01 16:13:49 +00:00
Baptiste
ab182436a4 Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-01 17:13:23 +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
Baptiste
1efcd73ae7 OPW & OP for funct7 == -1 2023-02-01 17:02:19 +01:00
Samy Solhi
4d2e92021c Added a test on a small program and removed unnecessary spaces 2023-02-01 16:57:40 +01:00
Baptiste
b3fa8599ad Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-02-01 16:41:57 +01:00
Baptiste
ff0d10edb5 add floating point instructions 2023-02-01 16:41:49 +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
François Autin
c4aede5371
🚨 Removed more clippy warnings from decode.rs 2023-01-11 15:39:40 +01:00
Aelbahri
b6d494781e Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2023-01-11 15:37:38 +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
François Autin
5c37563322
🚨 Cleaned up clippy warnings for machine.rs 2023-01-11 15:34:12 +01:00
Aelbahri
7649fae750 warrning fixed 2023-01-11 15:33:22 +01:00
François Autin
fe2fe40a75
Cleaned up cargo clippy warnings on print.rs 2023-01-11 15:31:52 +01:00
François Autin
f4b6cb3137
Merge branch 'delinted_machine_rs' into decode_print 2023-01-11 15:05:46 +01:00
François Autin
022388963b
Fixed clippy errors 2023-01-11 15:04:54 +01:00
Quentin Legot
b1909e3280 Moving files to simulator module 2023-01-11 14:58:12 +01:00
Baptiste
27cd7d35c7 fix ADD_ADD 2022-12-07 17:09:53 +01:00
Baptiste
4fa691a568 LOAD and BRANCH instructions 2022-11-23 18:04:35 +01:00
Baptiste
24353ea0ef Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2022-11-23 16:29:13 +01:00
Baptiste
f897276c43 change to 64bit 2022-11-23 16:29:02 +01:00
Quentin Legot
ad960a46e0 Comments has been standardized, remove some warnings 2022-11-23 16:04:21 +01:00
Rémi Rativel
bb46fae06b added some commentaries 2022-11-21 13:21:48 +01:00
Rémi Rativel
233d928b6f implemented run function to use one-instruction for several instruction 2022-11-21 13:17:42 +01:00
Baptiste
adf7f0a02e Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2022-11-16 18:01:08 +01:00
Baptiste
d021fc3565 OPW instructions 2022-11-16 17:59:09 +01:00
Moysan Gabriel
c494a6fa16 Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2022-11-16 17:52:01 +01:00
Moysan Gabriel
a4230cd357 RISC OP MUL and DIV + changement prototype OneInstruction 2022-11-16 17:48:55 +01:00
Samy Solhi
802f80e96a Align with tabulations 2022-11-16 17:37:04 +01:00
Samy Solhi
dcd2012c64 Register name convention 2022-11-16 17:24:20 +01:00
Moysan Gabriel
98f4c0b67e base 2022-11-16 16:52:52 +01:00
Quentin Legot
9a233f3c12 Remove ~60 warnings 2022-11-16 15:48:46 +01:00
Moysan Gabriel
f9dba1ac11 machine : Instruction type RISCV_OP 2022-11-15 21:21:24 +01:00
AmauryBrodu
c7bf66f210 add of the test function for br instructions 2022-11-10 00:47:32 +01:00
AmauryBrodu
3b9a23948a add of the test function for opwi instructions 2022-11-10 00:39:11 +01:00
AmauryBrodu
5a5afda8be ajout des test des instructions opw 2022-11-10 00:16:21 +01:00
AmauryBrodu
c1e188df22 ajout de l'instruction andi 2022-11-10 00:08:06 +01:00
Baptiste
632702421b Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2022-11-09 17:35:22 +01:00
Baptiste
240f029881 simulate some instructions 2022-11-09 17:35:16 +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
Baptiste
c5291b7a3b Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2022-11-09 16:47:39 +01:00
Baptiste
a341493526 first instruction in oneInstruction() 2022-11-09 16:47:26 +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
Samy Solhi
a5dce2013e Merge branch 'decode_print' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into decode_print 2022-11-09 16:12:23 +01:00
Samy Solhi
c920f71c45 tests lui and ld 2022-11-09 16:08:51 +01:00
Rémi Rativel
f9af5c138f Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2022-11-09 16:00:07 +01:00
Rémi Rativel
c377929ce1 Creating machine.rs file 2022-11-09 15:59:05 +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
Baptiste
3cbe1c0601 Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print 2022-11-09 15:10:39 +01:00
Baptiste
b685c198b3 change Instruction to 32bits 2022-11-09 15:10:03 +01:00
Samy Solhi
756410e5b4 Added some tests 2022-11-09 15:06:22 +01:00
Samy Solhi
7a89d06f36 RISCV_OP fixed 2022-11-09 14:37:19 +01:00
Samy Solhi
673c2c8d20 Added hex conversion 2022-10-26 15:10:21 +02:00
Baptiste
7f9fb76513 import Instruction and use print in main 2022-10-26 15:06:37 +02:00
Keizaal
f67bd4a5a8 imported decode.rs in print.rs to use structure Instruction 2022-10-26 14:59:37 +02:00
Keizaal
0fae719c4c Merge remote-tracking branch 'origin/decode' into print 2022-10-26 14:44:44 +02:00
Samy Solhi
0c5012c162 add print.rs file 2022-10-26 13:31:40 +02:00
Baptiste
cfb0a8e176 decode (recquire tests) 2022-10-19 17:23:41 +02:00
Baptiste
9748b0f2dc decode & struct Instruction 2022-10-19 16:39:38 +02:00
François Autin
8a59a9341c
Initialized cargo project 2022-10-05 16:30:21 +02:00