Commit Graph

247 Commits

Author SHA1 Message Date
Sasha Lopoukhine
07265f26c9
allow for infinite registers in sw/lw instructions (#31) 2023-07-04 09:57:48 +01:00
Alban Dutilleul
801b165e70
fix various semantic mismatchs in RV32F (#27) 2023-07-04 09:56:26 +01:00
Anton Lydike
2ec134f612 bump version to 2.1.0 2023-06-06 15:22:18 +01:00
Anton Lydike
be90879f86
Add support for floats (#22)
Adding a `Float32` datatype is necessary, since python makes no guarantees to the bitwidth of `float` (it's often a double)

Also adding the `RV32F` extension with most operations implemented, and support for floating point registers.
2023-06-06 15:08:09 +01:00
Sasha Lopoukhine
5a23804ad8
add py.typed file for riscemu to declare itself as a typed python package (#21)
* add py.typed to setup.py package_data

* create py.typed file

* move py.typed
2023-06-05 10:12:50 +01:00
Sasha Lopoukhine
a217705d1f add a couple of type annotations in parser.py 2023-06-01 22:54:08 +01:00
Anton Lydike
d508e01a6b misc: test python 3.8 in CI, add cfg arg to RiscemuRunner 2023-05-30 09:21:24 +01:00
Anton Lydike
47a9b12263 misc: improve typing and structure 2023-05-30 09:13:55 +01:00
Anton Lydike
1c2dad94e2 main: major overhaul of how __main__ works 2023-05-29 16:04:55 +01:00
Anton Lydike
41d17daeaf syscall: reformat and fix exit() for signed integers 2023-05-29 14:24:01 +01:00
Anton Lydike
283bb1ae14 core: refactor how launch() works in preperation for libc integration 2023-05-29 14:23:37 +01:00
Anton Lydike
270c3e7090 assembler: fix bug with zero-termination of strings 2023-05-29 14:21:59 +01:00
Anton Lydike
86250157b7 regs: add __repr__ 2023-05-29 14:21:39 +01:00
Anton Lydike
207cf918ef syscall: add partial support for mmap2 syscall 2023-05-29 11:29:04 +01:00
Anton Lydike
c7e14a3b42 misc: annotations and dead code removal 2023-05-29 11:26:26 +01:00
Anton Lydike
7a4972d48f fix jalr instruction to take arguments in the form of rd, rs, imm 2023-05-29 11:25:04 +01:00
Sasha Lopoukhine
25d059da09
add some typing annotations (#20)
* add some typing annotations

* minor additions

* import Optional

* format with black

* review comments

---------

Co-authored-by: Anton Lydike <me@antonlydike.de>
2023-05-05 17:22:58 +01:00
Anton Lydike
d6d3a18aa6 minor additions 2023-05-02 16:46:22 +01:00
Anton Lydike
1ea5bb2edc more filechecks? 2023-05-01 18:27:19 +01:00
Anton Lydike
a51681811f fix ci (pt2) ? 2023-05-01 16:57:49 +01:00
Anton Lydike
5515c7795c format black 2023-05-01 16:39:27 +01:00
Anton Lydike
e1fbe4f11d fix testing infra 2023-05-01 16:36:58 +01:00
Anton Lydike
dd77d1b387 minor cleanup 2023-05-01 13:33:52 +01:00
Anton Lydike
1b26497e4c base: add debug instructions 2023-02-03 16:45:29 +00:00
Anton Lydike
b5ebe13528 release 2.0.5 2023-01-27 16:16:30 +00:00
Anton Lydike
636e06f243 add an unlimited register mode 2023-01-27 15:35:04 +00:00
Anton Lydike
86063d64d7 version update: 2.0.4 2023-01-26 17:00:18 +00:00
Anton Lydike
5caf0d604d rv32i: respect conf.debug_instruction setting 2023-01-24 18:37:15 +00:00
Anton Lydike
36e8c9c9ce misc: fixed a typo in a docstring 2023-01-24 18:37:15 +00:00
K-W-Li
1d65b236f4
Fix sign issue in parse_rd_rs_rs (#16) 2023-01-17 20:28:49 +00:00
Anton Lydike
be0591ed25 release of 2.0.3 2022-04-18 22:17:23 +02:00
Anton Lydike
ce5b01d463 Parser: fixed error when labels where used outside of sections 2022-04-18 20:26:19 +02:00
Anton Lydike
204d2c9a5b Syscalls: cleaned up formatting and added instructions for extensions 2022-04-18 20:25:35 +02:00
Anton Lydike
10a3c4201e cleaned up and improved memory dumping code 2022-04-17 12:34:07 +02:00
Anton Lydike
5a07770427 fixed a bug with hex literal recognition 2022-04-17 12:32:36 +02:00
Anton Lydike
39e759ae9b fixed bug where wrong parts of section would be printed in mmu.dump() 2022-04-17 12:32:15 +02:00
Anton Lydike
629786931e fixed address translation error for sections without symbols 2022-04-17 11:14:03 +02:00
Anton Lydike
bb770ab43c Logging: Changed verbosity levels at which things are logged for the CPU 2022-04-17 10:42:08 +02:00
Anton Lydike
8dea2036c5 added changelog - release of 2.0.2 2022-04-08 21:10:08 +02:00
Anton Lydike
0c39a9eefb fixes #12 - exit program with code from cpu.exit_code 2022-04-08 21:00:56 +02:00
Anton Lydike
761799c17a Parser: fixes #13 - implicit start of text section when parsing assembly
When an assembly file starts with instructions without explicitly
declaring any section beforehand, a .text section will be created
implicitly.
2022-04-08 20:54:40 +02:00
Anton Lydike
baf4485143 release of 2.0.1 2022-04-01 14:46:20 +02:00
Anton Lydike
4d2d65a10d fixed type annotations type in parsers 2022-04-01 13:30:55 +02:00
Anton Lydike
d18843a88b release of 2.0.0 2022-03-31 22:49:45 +02:00
Anton Lydike
fe4b3efb6f fixes #10 - fixed how preconfigured memory is handled 2022-03-31 22:46:23 +02:00
Anton Lydike
663721b306 pre-release 2.0.0a4 2022-03-28 00:04:50 +02:00
Anton Lydike
4004c5ee6d squashing bugs related to Int32 wrapping and sign extension 2022-03-27 23:50:28 +02:00
Anton Lydike
c2b6385523 version 2.0.0a3 2022-03-27 22:10:20 +02:00
Anton Lydike
b7f1365155 ported syscalls to Int32 usage and removed unecessary prints 2022-03-27 22:00:22 +02:00
Anton Lydike
fa4a9b92f3 fixed imports in types/instruction_memory_section 2022-03-27 20:26:09 +02:00