Commit Graph

2785 Commits

Author SHA1 Message Date
Matheus C. França
2d94e30988 Fix clang/mingw - missing getpagesize
Based on msys2-packages patch:
https://github.com/msys2/MINGW-packages/pull/10543
2023-04-03 11:08:27 -03:00
lazymio
51a5b68b50
Merge pull request #1746 from PhilippTakacs/virtual_tlb
Virtual tlb
2023-03-28 21:17:24 +08:00
Mio
45f22085f5
Update comments 2023-03-28 21:17:01 +08:00
Mio
d403a0346e
Update FAQ 2023-03-28 21:16:19 +08:00
Mio
0ba69d6b2f Add tlb_mode for python 2023-03-28 14:20:55 +02:00
Mio
9c01d23ed3 Update bindings const 2023-03-28 14:20:55 +02:00
Takacs, Philipp
9f00bb2ed5 update faq
add How can I interact with MMU/TLB
2023-03-28 14:20:32 +02:00
Takacs, Philipp
8b2c477578 clear the TLB cache in uc_ctl_flush_tlb
uc_ctl_flush_tlb implies that the tlb is flushed. This change adds
UC_CTL_TLB_FLUSH which clears the TLB and set the uc_ctl_flush_tlb
alias to UC_CTL_TLB_FLUSH. Also adds a uc_ctl_flush_tb alias for
UC_CTL_TB_FLUSH.
2023-03-28 14:11:41 +02:00
Takacs, Philipp
e96ac42b2e Remove MMU hacks
Unicorn has included some ugly hacks to provide a envirement where vaddr == paddr.
These hacks where to use the full 64 bit mappings on x86 without init the mmu
and some memory redirect for MIPS.

The UC_TLB_CPU mode defaults to vaddr == paddr, therfor these hacks aren't
required anymore.
2023-03-28 14:02:17 +02:00
Takacs, Philipp
e25419bb2d add virtuall tlb
this virtuall tlb allows to use mmu indipendent of the architectur
2023-03-28 13:50:11 +02:00
Takacs, Philipp
759d694e24 sample to use the softmmu 2023-03-28 13:50:11 +02:00
Takacs, Philipp
901034577a i386 call internal helper on special porpese register write
Some registers writes have side effects. i.e. write to cr3 flush the tlb,
if the PG bit is set.
2023-03-28 13:50:11 +02:00
Takacs, Philipp
7f1eb4532d add basic mmu tests
Some simple tests for diffrent mmu.
Basicly add some tlb entries, enable the mmu try to read from virtual address

The aarm64 test was provided by imre-kis-arm in #1718
2023-03-28 13:50:11 +02:00
Takacs, Philipp
f2eb1f4711 i386 mmu hack: Allow emulate usermode without mmu
This basicaly mappes virtual addresses to physical addresses 1:1 when
the mmu is disabled in the cpu. So you can use the full 64 bit addressspace
without required to configure the mmu.
2023-03-28 13:50:11 +02:00
Takacs, Philipp
4b327baaf7 make unicorn use the physical addresses
This allows to emulate code witch fully uses the MMU. This is necesary
to allow full system emulation.
2023-03-28 13:50:11 +02:00
Xeonacid
f2a236126f
Add missing import const in python binding (#1807) 2023-03-27 01:15:56 +08:00
lazymio
2af821953d
Merge pull request #1809 from kassane/zig-bindgen
Zig bindings - Generator
2023-03-26 12:18:25 +08:00
lazymio
5e2074da6a
Merge pull request #1808 from kallisti5/haiku-fix-2023
build: Fixes for Haiku
2023-03-26 12:17:23 +08:00
Matheus C. França
e9e7e0b6cf
Merge branch 'dev' into zig-bindgen 2023-03-23 16:17:55 -03:00
Matheus C. França
81a8536841
Update Cargo.toml
exclude new binding on rust build
2023-03-23 16:16:18 -03:00
Matheus C. França
48ce4164b3
new binding 2023-03-23 16:15:33 -03:00
Matheus C. França
c6158b8628 zig consts 2023-03-23 10:09:41 -03:00
Alexander von Gluck IV
d504e3a004 build: Fixes for Haiku
* Haiku is fully posix, so can be lumped together with most unix cases
2023-03-22 13:58:10 -05:00
lazymio
d9dcfc1264
Merge pull request #1806 from tunz/tunz/cache
Cache index for find_memory_region
2023-03-21 19:20:50 +08:00
Choongwoo Han
0a38a0bf17 Fix test failure 2023-03-20 18:41:59 -07:00
Choongwoo Han
8f2841ecdb Cache index for find_memory_region 2023-03-20 17:07:15 -07:00
lazymio
a0ff413830
Merge pull request #1800 from PhilippTakacs/emu_stop
difference between stop_request and quit_request
2023-03-12 20:28:29 +01:00
mio
11fcbad9ff
Remove redundant printf 2023-03-12 20:28:01 +01:00
lazymio
f442203628
Merge pull request #1802 from tunz/tunz/hook-del
[dotnet] Use native binding calls whenever possible
2023-03-12 20:03:46 +01:00
lazymio
fb78016127
Merge pull request #1794 from tunz/tunz/dotnet-nuget
[dotnet] Add /MT flag for nuget package build
2023-03-12 20:02:10 +01:00
Choongwoo Han
b4b6caf57c [dotnet] Support HookDel with native bindings call 2023-03-11 08:51:01 -08:00
Takacs, Philipp
b7b1a4d6b4 difference between stop_request and quit_request
quit_request is for internal use. This means the IP register was updated and
qemu needs to rebuild the translation blocks.

stop_request is set by the user (uc_emu_stop) to indecate that unicorn sould
stop emulating.
2023-03-07 14:38:49 +01:00
lazymio
ca7e0e7f42
Merge pull request #1795 from rhelmot/dev
Use libunicorn.so.2 as fallback path
2023-03-02 20:15:52 +01:00
Audrey Dutcher
cef7d7d0fb Use libunicorn.so.2 as fallback path 2023-03-02 19:14:25 -07:00
lazymio
f7c841db84
Merge pull request #1793 from tunz/tunz/dotnet-fixes
[dotnet] Fix garbage collected hooks and wrong signature
2023-03-01 17:41:19 +01:00
Choongwoo Han
545c9ed24e [dotnet] Add /MT flag for nuget package build 2023-02-28 20:25:19 -08:00
Choongwoo Han
03a793e934 [dotnet] Fix garbage collected hooks and wrong signature 2023-02-28 19:35:38 -08:00
lazymio
c75f3743d4
Merge pull request #1790 from tunz/tunz/dotnet-binding-hook
[dotnet] Set begin > end address for hooks
2023-02-27 20:20:46 +01:00
lazymio
04d020449a
Merge pull request #1791 from PhilippTakacs/cpuid
[x86] don't hardcode cpuid results
2023-02-27 20:19:33 +01:00
Takacs, Philipp
14404ef04b [x86] don't hardcode cpuid results
The cpuid results are set by the selected cpu.

CLOSES #1787
2023-02-27 12:34:38 +01:00
Choongwoo Han
b961ebc9cb [dotnet] Set begin > end address for hooks 2023-02-26 08:41:01 -08:00
mio
a91319908d
Remove obsolete Brewfile 2023-02-20 20:57:50 +01:00
mio
8a6f4e54c2
Install pkg-config for other workflows 2023-02-20 20:53:52 +01:00
mio
2d5d72e6c7
Install deps for macos 2023-02-20 20:51:37 +01:00
mio
5e5075b4b9
Install pkg-config on macos runners 2023-02-20 20:27:31 +01:00
mio
133504b504
Fix wrong IP in x86_16 because of cs_base not substracted 2023-02-20 20:21:56 +01:00
lazymio
7b8c63dfe6
Exclude enhancement and bug issues 2023-02-07 10:44:36 +01: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
mio
3199dd88de
Detect AVX2 correctly for MSVC 2023-02-07 01:07:53 +01:00