Commit Graph

617 Commits

Author SHA1 Message Date
lazymio
2a3cc7a1b3
Merge pull request #1714 from Sh4ww/fix-type-hint-in-python-bindings
Fix type hint of reg_write in Python bindings. (#1706)
2022-09-27 23:52:24 +02:00
mio
7fb6264d02
Also copy glib_compat and samples 2022-09-25 18:46:04 +02:00
mio
97b2e44c77
Also copy cmake files 2022-09-25 18:43:09 +02:00
Sh4w
a98cd25747
Fix type hint of reg_write in Python bindings 2022-09-26 00:18:31 +08:00
mio
e76b2db434
Support build in a sdist 2022-09-25 18:09:41 +02:00
Mio
5b5905695d
Fix wrong location of UC_ARM64_REG_CP_REG in python bindings 2022-07-23 19:21:31 +08: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
lazymio
ac73e6b9d3
Fix #1623
The reg_id is left out
2022-05-23 20:23:55 +02:00
lazymio
e5126f17f1
Bump version in bindings 2022-05-23 12:34:09 +02:00
lazymio
720c61344f
Use UC_MMIO_READ/WRITE_TYPE 2022-05-18 13:18:17 +02:00
Eric Kilmer
a92bbd068f
Add CPUID hook to possible callback types 2022-05-17 17:47:57 -04:00
Eric Kilmer
cf0a6ffd68
python: Support CPUID hooks 2022-05-17 17:29:50 -04:00
Bet4
3cc9005a47 Add TriCore constants to Rust bindings 2022-05-11 17:29:03 +08:00
lazymio
15aa4ed53a
Fix typo 2022-05-10 23:06:14 +02:00
lazymio
aab035e8c3
Annotate uc_hook_add and import annotations for forward reference 2022-05-10 23:03:06 +02:00
lazymio
3ea5d8885d
Better annotation 2022-05-10 22:30:55 +02:00
Lowly Worm
1d13a25320
check pkg-config for unicorn libraries
allow for non-standard install locations of unicorn engine
2022-05-08 19:17:36 -04:00
lazymio
64050aafb1
Fix python setup.py on macOS 2022-05-07 15:48:28 +02:00
lazymio
a221e378bf
Add typing 2022-05-07 15:46:32 +02:00
lazymio
20c0a4b643
Remove use_system_unicorn and build_with_cmake 2022-05-06 14:47:15 +02:00
lazymio
a54dfda14d
Depend on SONAME dylib 2022-05-06 14:47:14 +02:00
Bet4
dafdcd3f06 Fix outdated version 2022-05-04 21:31:53 +08:00
lazymio
8fec2f6992
Fetch static archive in the root dir 2022-05-03 11:11:29 +02:00
lazymio
a8e602801d
Merge pull request #1569 from AfoHT/rustbindreadme
Fix Rust bindings readme example code
2022-04-30 11:12:31 +02:00
lazymio
6d5000fe42
Format code 2022-04-30 11:07:48 +02:00
lazymio
b9e7c78ae8
Revert to rc7 behaviour 2022-04-30 11:07:23 +02:00
lazymio
ba132b974d
Move tests to root directory
Reference: https://doc.rust-lang.org/stable/cargo/guide/project-layout.html
2022-04-29 23:40:03 +02: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
lazymio
f49f62ecef
Add dynamic_linage feature 2022-04-28 15:35:06 +02:00
lazymio
f9bb1ba505
Add python bindings for ctl_flush_tb 2022-04-26 01:17:59 +02:00
lazymio
cdae57fb3d
Generate bindings 2022-04-26 01:17:58 +02:00
lazymio
fbf4078d65
Fix wrong python binding for UC_CTL_TB_REMOVE_CACHE 2022-04-26 01:17:57 +02:00
JeroenRobbenFirmalyzer1
36011e145c
Add Java binding for ctl set_cpu_model (#1600)
Add Java binding for ctl set_cpu_model
2022-04-24 13:29:48 +02:00
lazymio
1cce884c40
Format 2022-04-23 22:41:59 +02:00
lazymio
f4ab42d930
By default try to find global installed unicorn if not specified 2022-04-23 22:41:34 +02:00
lazymio
185a6fec9e
Bump bindings version to 2.0.0-rc7 2022-04-17 16:48:12 +02:00
lazymio
8fd9ee3dd0
Bump unicorn version 2022-04-17 16:47:37 +02:00
lazymio
5a79d7879c
Generate bindings 2022-04-16 17:50:32 +02:00
shuffle2
2912cd1e29
fix rust bindings build on windows (#1584)
Refine rust bindings.
2022-04-16 13:40:04 +02:00
lazymio
a6f9fd17d5
Search cmake build root directory 2022-04-12 21:05:46 +02:00
lazymio
e26953c06c
Fix rust static build 2022-04-12 19:15:14 +02:00
Henrik Tjäder
d1372c28eb Make README code example compile 2022-04-06 13:31:12 +02:00
lazymio
2f113b11d1
Fix symbol clash on bunlded static libs 2022-04-04 11:24:59 +02:00
lazymio
ca81d46ad5
Merge pull request #1574 from nviennot/dev
Rust bindings for insn_invalid_hook
2022-04-03 10:27:00 +02:00
lazymio
ec808c94a7
Merge pull request #1575 from n1tram1/dev
Fix rust binding for insn_in hook callback
2022-04-03 00:42:45 +02:00
Martin Schmidt
9702e657a2 rust: return u32 from insn_in_hook callback 2022-03-26 15:41:37 +01:00
Nicolas Viennot
af8a409141 Rust bindings for insn_invalid_hook 2022-03-25 21:49:26 -04: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
David Zimmer
b1739c6a62
vb6 bindings: clarify Apache license as v2.0 (#1563) 2022-03-03 09:35:02 +08:00
lazymio
7f8ff1af6a
Update sample for MRS hook 2022-02-27 15:28:32 +01:00
lazymio
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
lazymio
3ed9dbda13
Update bindings 2022-02-15 22:08:27 +01:00
lazymio
c10639fd46
Bump version in bindings 2022-02-13 11:03:57 +01:00
lazymio
16e9efa4f5
Bump version 2022-02-13 09:56:10 +01:00
lazymio
d503a69239
Merge pull request #1511 from bet4it/use_system_unicorn
Add use_system_unicorn feature in rust bindings
2022-02-12 22:57:01 +01:00
lazymio
9bf074d824
Remove armeb-softmmu and aarch64eb-softmmu for rust bindings 2022-02-12 14:18:01 +01:00
lazymio
15f3b58d9b
Implement coprocessor register read/write for python bindings 2022-02-11 23:03:56 +01:00
lazymio
89a1da9a33
Update bindings 2022-02-11 22:42:31 +01:00
Bet4
394f25b1fa rust: Add get_handle to expose unicorn handle 2022-01-23 08:22:09 +08:00
Bet4
2977c9ca47 Support to pass unicorn handle to rust through FFI 2022-01-21 22:37:15 +08:00
mio
f57467e7ed
Generate bindings 2022-01-19 20:10:09 +01:00
mio
c5ad3c318c
Sync with dev and resolve conflicts 2022-01-19 20:09:25 +01:00
Duncan Ogilvie
d200eb4be6 Fix rust bindings 2022-01-18 21:33:22 +01:00
mio
7095605607
Merge branch 'dev' into systemz 2022-01-18 21:10:55 +01:00
mio
c84dbac9a8
Rename build dir for python bindings 2022-01-18 20:15:28 +01:00
mio
28e791a37f
Add debug tracing feature
It's disabled by default, use -DUNICORN_TRACER=on to enable it
2022-01-18 19:35:43 +01:00
Bet4
5559c097d5 rust: Allow to remove self inside a hook 2022-01-17 21:56:33 +08:00
lazymio
06be6fdc24
Merge pull request #1537 from gerph/clear-pending-hook-exception-before-emulation
Clear Python pending hook exception before we enter the emulation.
2022-01-15 22:13:24 +01:00
lazymio
459a595a98
Merge branch 'dev' into s390x
Mostly for bindings update.
2022-01-15 20:56:39 +01:00
lazymio
dfb0446137
Update bindings 2022-01-15 20:56:24 +01:00
Charles Ferguson
1ba59ed70a Clear Python pending hook exception before we enter the emulation.
The pending exception hook is set when the hook raised an exception
and wants to report it outside the emulation loop. However, it is
never cleared back to None. This means that after an exception is
raised in a hook, all subsequent execution (even if successful) will
raise the exception.

This change clears the exception before we start another emulation,
which should ensure that if we have _hook_exception set, it really
is from hooks in this emulation run.
2022-01-15 17:45:45 +00:00
lazymio
71f044ca50
Merge branch 'dev' into s390x 2022-01-10 15:17:42 +01:00
lazymio
c671efe798
Update bindings 2022-01-05 22:00:59 +01:00
lazymio
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
mio
8b0285e135
Add python support for s390x 2022-01-01 00:58:10 +01:00
mio
d5e0bff7d5
Fix rust build for s390x 2022-01-01 00:41:59 +01:00
lazymio
3184d3fcdf
Update python bindings 2021-12-22 20:46:14 +01:00
Bet4
3e9ae003b7 Add use_system_unicorn feature in rust bindings 2021-12-10 19:44:39 +08:00
Brandon Miller
2cc15c7260 Added SetCPUModel go binding
Go cannot use C macros directly, so I followed existing convention and
added a helper to uc.c to call the uc_ctl_set_cpu_model macro
2021-12-04 16:25:23 -05:00
Sven Bartscher
59fb8a2733 rust: Add RISCV CSR registers
The addition of these registers in the C base caused the rust values
for all floating point registers and the PC to point to some of the
CSR registers instead.
2021-11-30 16:09:24 +01:00
lazymio
10d88e89a5
Fix uc_version and bump again 2021-11-25 18:19:46 +01:00
lazymio
9a4d5d0be8
Bump bindings version to 2.0.0-rc5 2021-11-25 14:29:41 +01:00
Sven Bartscher
a237505adb rust: Implement deallocation of MMIO callbacks
Previously the user data of MMIO callbacks would live until the end of
the containing Unicorn engine. Now they are deallocated once all
memory referencing those callbacks has been unmapped.
2021-11-24 12:15:20 +01:00
Sven Bartscher
20d97a0c00 Add map_mmio to rust bindings 2021-11-24 12:15:20 +01:00
mid-kid
2d665aa752 Accomodate for setting a different CMAKE_GENERATOR in the environment.
This makes sure the right build utility is called, depending on the
value of the CMAKE_GENERATOR environment.
2021-11-13 13:34:11 +01:00
lazymio
fafec703e1
Merge pull request #1480 from domenukk/rust_bindings
Rust bindings improvements
2021-11-10 07:52:31 +01:00
lazymio
7f43e1de3e
Rename rust env to decide build dir 2021-11-10 07:51:07 +01:00
Dominik Maier
67cd9b1c2f fixed doc tests 2021-11-10 04:49:27 +01:00
Dominik Maier
7adcced19b cleanup 2021-11-10 04:26:56 +01:00
Dominik Maier
7873e60740 reverted unfinished commit 2021-11-10 04:21:30 +01:00
Dominik Maier
a231440cf8 reverted build.rs 2021-11-10 04:14:56 +01:00
Dominik Maier
177b21c2af removed need for extra api; no_std 2021-11-10 04:11:14 +01:00
Dominik Maier
492779d7d4 fixed context 2021-11-09 16:19:27 +01:00
Dominik Maier
3b0ce89a7a missing pcs 2021-11-09 16:09:02 +01:00
Dominik Maier
a3e139847d reapply missing changes 2021-11-09 16:04:59 +01:00
Dominik Maier
1f90734b12 No longer redownloads unicorn each cargo build 2021-11-09 15:51:11 +01:00
Dominik Maier
d7ead41a51 fixed testcases 2021-11-09 14:49:18 +01:00