lazymio
a07a83ac75
Merge pull request #1767 from PhilippTakacs/rustcallback
...
rust only add mmio callback funktion, if callback is requested
2023-01-24 21:46:40 +01:00
Takacs, Philipp
ed9164e47a
rust only add mmio callback funktion, if callback is requested
...
The C function uc_mmio_map() allows to add seperate callback functions
and userdata for read and write. When the callback functions are NULL
unicorn don't try to call this functions.
Previous this patch, when i.e. read_callback was None the callback was set
to mmio_read_callback_proxy and the userdata was set to NULL. On a callback
the mmio_read_callback_proxy then tried to dereference the userdata and
caused a segfault.
fixes #1762
2023-01-23 13:22:55 +01:00
Luca Gladiator
aded30f5a8
Fix insn_in_hook_proxy return type
2023-01-21 13:50:11 +01:00
Luca Gladiator
014cee5bd1
Fix Rust binding memory leak
2023-01-18 10:52:35 +01:00
Dominik Maier
549f34f098
Fix warning for ./setup.py ( #1756 )
2023-01-06 01:10:09 +08:00
deadash
ca74497911
Add arch list feature control in Rust
...
Signed-off-by: deadash <dead.ash@hotmail.com>
2022-12-29 15:13:31 +08:00
Eli
7414177672
Merge branch 'dev' into uc-py-next
2022-12-25 14:59:22 +02:00
lazymio
5625102285
Merge pull request #1736 from ks0777/dev
...
add riscv constants to python binding module
2022-11-22 14:31:36 +01:00
mio
e9c1c17f6d
Fix endianess detection
2022-11-16 15:16:49 +01:00
Kevin Schneider
8edffe048e
add riscv constants to python binding module
2022-11-14 19:59:38 +01: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
Nguyen Anh Quynh
a16f4ff911
python: update list of supported archs in setup.py
2022-11-02 00:28:40 +08:00
mio
db9ddabf9e
Update bindings
2022-11-01 10:06:34 +01:00
mio
bdd9f4fa9a
Bump version to 2.0.1
2022-11-01 10:06:22 +01:00
Nguyen Anh Quynh
8ac20e2012
python: add some more comments for samples
2022-10-31 12:37:18 +08:00
lazymio
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
elicn
9179ef5db3
Remove unused type aliases
2022-10-20 14:19:02 +03:00
elicn
99d6745461
Release mmio callbacks on a best-effort basis
2022-10-20 14:18:49 +03:00
elicn
d6e5e6a19f
Improve annotation around uccallback
2022-10-20 14:17:43 +03:00
elicn
647832b01b
Make special regs definitions generic
2022-10-20 14:16:53 +03: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
elicn
0e63841628
Minor PEP8 and linter-friendly changes
2022-10-14 00:01:26 +03:00
mio
50a0b59d0d
Use dockcross for aarch64 wheel
2022-10-01 01:31:13 +02:00
mio
6ca077d139
Build aarch64 wheel
2022-10-01 01:01:22 +02:00
Eli
1b3d22c06a
Merge branch 'dev' into uc-py-next
2022-09-29 12:34:24 +03:00
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
Eli
7cc2409ce0
Merge branch 'dev' into uc-py-next
2022-09-18 19:03:11 +03:00
elicn
5b1f7dfb69
Final touches
2022-09-18 17:59:00 +03:00
elicn
765ec5ffe4
Allow subclassing Uc using the ucsubclass decorator
2022-09-18 17:58:36 +03:00
elicn
950b0fa2b0
Merge _catch_hook_exception and _cast_func into uccallback decorator
2022-09-14 21:06:28 +03:00
elicn
36d4264f15
Minor code quality tweaks
2022-09-14 13:35:58 +03:00
elicn
9290c7f277
Add support for AArch Q regs
2022-09-13 16:33:43 +03:00
elicn
b8e656ae0d
Fix and simplify Uc deallocation
2022-09-13 15:13:35 +03: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
elicn
2fad2316e5
Fix lib search
2022-06-09 17:56:13 +03:00
elicn
4ac282dfc1
Final touches
2022-06-08 17:25:22 +03:00
elicn
8b233f99fe
Adjust ctl_remove_cache usage to signature
2022-06-08 16:59:54 +03:00
elicn
78731e38aa
Implement a reg state manager mixin class
2022-06-08 16:59:14 +03:00
elicn
df47e2395f
Eliminate UcGeneric
2022-06-08 16:58:19 +03:00
elicn
d65b418239
Adjust samples
2022-06-03 14:23:03 +03:00
elicn
4f13e14227
Initial refactoring stage
2022-06-03 14:23:03 +03: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
lazymio
ec02eccb85
Fixup Rust CI
2021-11-09 00:58:13 +01:00
lazymio
0714fb5760
Bump bindings version
2021-11-09 00:23:19 +01:00
Dominik Maier
0dfc0cba1f
removed duplicate
2021-11-08 19:39:15 +01:00
Dominik Maier
a8f9655189
lifetime
2021-11-08 19:37:38 +01:00
Dominik Maier
f8f0d4471f
Unicorn rust bindings improvements
2021-11-08 19:34:53 +01:00