Commit Graph

96 Commits

Author SHA1 Message Date
Amaan Qureshi
3a7bde03b8 feat(arm): add an ESR register (#2155)
This allows users to read/write from the ARM syndrome value like in
AArch64.
2025-04-12 21:46:37 +08:00
mio
df75effba3 Generate m68k consts 2025-03-10 11:32:14 +08:00
mio
64c72267ae No version suffix for dotnet 2025-03-07 22:37:36 +08:00
mio
8dcaa33c66 Bump 2.1.3 2025-02-17 20:26:31 +08:00
mio
b8e19b6eef CI(release): Bump 2.1.2 2025-02-10 22:11:12 +08:00
Martin Atkins
7d8fe2ab11 riscv: Expose privilege level as pseudo-register PRIV (#1989)
Unlike some other architectures, RISC-V does not expose the current
privilege mode in any architecturally-defined register. That is intentional
to make it easier to implement virtualization in software, but a Unicorn
caller operates outside of the emulated hart and so it can and should be
able to observe and change the current privilege mode in order to properly
emulate certain behaviors of a real CPU.

The current privilege level is therefore now exposed as a new
pseudo-register using the name "priv", which matches the name of the
virtual register used by RISC-V's debug extension to allow the debugger
to read and change the privilege mode while the hart is halted. Unicorn's
use of it is conceptually similar to a debugger.

The bit encoding of this register is the same as specified in RISC-V Debug
Specification v1.0-rc3 Section 4.10.1. It's defined as a "virtual"
register exposing a subset of fields from the dcsr register, although here
it's implemented directly inside the Unicorn code because QEMU doesn't
currently have explicit support for the CSRs from the debug specification.
If it supports "dcsr" in a future release then this implementation could
change to wrap reading and writing that CSR and then projecting the "prv"
and "v" bitfields into the correct locations for the virtual register.
2024-11-11 21:09:45 +08:00
mio
867770c7ef Tag and release 2.1.1 2024-09-26 18:44:51 +08:00
mio
67f08b1c27 Bump version and generate bindings 2024-09-21 23:00:57 +08:00
Mio
9c01d23ed3 Update bindings const 2023-03-28 14:20:55 +02:00
Choongwoo Han
b4b6caf57c [dotnet] Support HookDel with native bindings call 2023-03-11 08:51:01 -08:00
Choongwoo Han
03a793e934 [dotnet] Fix garbage collected hooks and wrong signature 2023-02-28 19:35:38 -08:00
Choongwoo Han
b961ebc9cb [dotnet] Set begin > end address for hooks 2023-02-26 08:41:01 -08:00
mio
9c9356da6c Bump to 2.0.2-rc1 for csharp 2023-02-07 10:40:30 +01:00
mio
3af2775039 Merge branch 'cs_dev' into dev 2023-02-07 10:08:09 +01:00
Nguyen Anh Quynh
7ca4769f2a bindings: update version to 2.0.2 2023-02-04 13:01:33 +08:00
TSR Berry
2e6a888052 dotnet: Add native unicorn libraries to nuget package 2022-11-05 02:40:50 +01:00
TSR Berry
1d12e8778b bindings: Rename dotnet project to UnicornEngine
Add a few more properties to prepare a nuget package
2022-11-02 14:46:08 +01:00
mio
db9ddabf9e Update bindings 2022-11-01 10:06:34 +01:00
c30a712058 Merge pull request #1723 from TSRBerry/update-dotnet
bindings: Refactor and update .NET bindings
2022-10-20 22:01:22 +02:00
TSR Berry
040146e059 dotnet: Target .NET 6.0 2022-10-20 21:31:46 +02:00
TSR Berry
0522f728b6 dotnet: Remove faulty property groups 2022-10-20 20:35:54 +02:00
TSR Berry
7b8b75b9f8 bindings: Adjust consts 2022-10-14 17:33:07 +02:00
TSR Berry
b1af49f72b dotnet: Adapt README.md to recent changes 2022-10-14 17:16:57 +02:00
TSR Berry
ff1f0a5c1a dotnet: Refactor .NET bindings for .NET5.0 2022-10-14 16:57:46 +02:00
TSR Berry
c787fa8e64 bindings: Update Arm64 consts 2022-10-14 15:18:16 +02:00
Nguyen Anh Quynh
1ec1352995 bindings: update consts 2022-07-07 23:48:01 +08:00
Mio
af1c661a12 Update bindings 2022-07-06 09:33:45 +08:00
Eric Poole
cfee2139a0 TriCore Support (#1568)
* TriCore Support

python sample

* Update sample_tricore.py

Correct attribution

* Update sample_tricore.py

Fixed byte code to execute properly.

* Update sample_tricore.py

Removed testing artifact

* Added tricore msvc config-file.h

* Added STATIC to tricore config and added helper methods to symbol file generation.

* Update op_helper.c

Use built in crc32

* Fix tricore samples and small code blocks are now handled properly

* Add CPU types

* Generate bindings

* Format code

Co-authored-by: lazymio <mio@lazym.io>
2022-04-29 23:11:34 +02:00
cdae57fb3d Generate bindings 2022-04-26 01:17:58 +02:00
185a6fec9e Bump bindings version to 2.0.0-rc7 2022-04-17 16:48:12 +02:00
5a79d7879c Generate bindings 2022-04-16 17:50:32 +02:00
Ilya Leoshkevich
28c4c665f0 Add "holes" to where the removed x86 registers used to be
A number of x86 registers were removed for #1440, causing a change in
numbering for many other registers. This is causing inconveniences at
the moment, e.g. it's not possible to use the Unicorn2 shared library
as a drop-in replacement for the Unicorn1 one.

Restore the old numbering.

Fixes #1492.
2022-03-22 11:31:58 +01:00
dd96cab9bf Update bindings 2022-02-27 15:28:32 +01:00
Bet4
504b31b928 Update constants of bindings 2022-02-19 21:24:40 +08:00
3ed9dbda13 Update bindings 2022-02-15 22:08:27 +01:00
c10639fd46 Bump version in bindings 2022-02-13 11:03:57 +01:00
89a1da9a33 Update bindings 2022-02-11 22:42:31 +01:00
mio
f57467e7ed Generate bindings 2022-01-19 20:10:09 +01:00
459a595a98 Merge branch 'dev' into s390x
Mostly for bindings update.
2022-01-15 20:56:39 +01:00
dfb0446137 Update bindings 2022-01-15 20:56:24 +01:00
71f044ca50 Merge branch 'dev' into s390x 2022-01-10 15:17:42 +01:00
c671efe798 Update bindings 2022-01-05 22:00:59 +01:00
c4b4189857 Update bindings 2022-01-04 21:12:52 +01:00
Nguyen Anh Quynh
6813e4a042 bindings: update const_generator.py, and update all binding constants 2022-01-01 09:24:28 +08:00
b9c0066a47 Format and naming 2021-11-04 20:04:57 +01:00
db90f39ac6 Generate bindings 2021-11-04 20:01:19 +01:00
090686f8ed uc_ctl proposal (#1473)
* Add uc_ctl

* Add comments

* Slightly changed for bindings generation

* Generate bindings
2021-10-30 10:45:32 +08:00
e695686c15 Remove AFL Integration by reverting 2021-10-26 11:22:21 +02:00
f08b7d6b5b Make gen_const work and updates constants 2021-10-25 00:57:32 +02:00
Nguyen Anh Quynh
e8bd7ca087 bindings: update X86 register constants 2021-10-04 19:41:41 +08:00