Paolo Bonzini
3fbda890df
exec: introduce cpu_reload_memory_map
...
This for now is a simple TLB flush. This can change later for two
reasons:
1) an AddressSpaceDispatch will be cached in the CPUState object
2) it will not be possible to do tlb_flush once the TCG-generated code
runs outside the BQL.
Backports commit 76e5c76f2e2e0d20bab2cd5c7a87452f711654fb from qemu
2018-02-12 15:09:49 -05:00
Andrew Dutcher
363cbacee4
Only set eip to the instruction pointer after an interrupt if the interrupt was user-generated ( #875 )
2017-08-29 17:14:36 +07:00
xorstream
b0ae2138fb
Merge remote-tracking branch 'unicorn-engine/master' into msvc_native
2017-01-20 22:37:51 +11:00
Nguyen Anh Quynh
42771848d6
no more spinlock
2017-01-20 14:57:33 +08:00
xorstream
1aeaf5c40d
This code should now build the x86_x64-softmmu part 2.
2017-01-19 22:50:28 +11:00
Hoang-Vu Dang
9a2a5b15d8
Rename unhandled CPU exception
2016-07-05 11:10:39 -05:00
Hoang-Vu Dang
9cdca5a32b
Unhandled interrupt will halt execution
2016-07-04 17:07:57 -05:00
Nguyen Anh Quynh
c8569d8128
arm: fix change PC feature. now tests/regress/callback-pc.py passes
2016-01-28 16:03:19 +08:00
Nguyen Anh Quynh
5a04bcb115
allow to change PC during callback. this solves issue #210
2016-01-28 14:06:17 +08:00
Ryan Hileman
93052f6566
refactor to allow multiple hooks for one type
2016-01-22 18:41:43 -08:00
farmdve
c9f4bd27cc
Reset env->invalid_error before executing a translation block.
2016-01-11 18:12:57 +02:00
Nguyen Anh Quynh
9099755ca1
flush JIT cache before finishing emulation. this fixes issue #263 . TODO: optimize this for better performance
2015-11-13 23:57:03 +08:00
Nguyen Anh Quynh
938d0b89eb
x86: check for exit request after every hooked instruction. this should fix issue #232
2015-11-07 01:02:45 +08:00
Nguyen Anh Quynh
9e64cba6ec
Rename some hook related enums:
...
- UC_ERR_READ_INVALID -> UC_ERR_READ_UNMAPPED
- UC_ERR_WRITE_INVALID -> UC_ERR_WRITE_UNMAPPED
- UC_ERR_FETCH_INVALID -> UC_ERR_FETCH_UNMAPPED
- UC_MEM_READ_INVALID -> UC_MEM_READ_UNMAPPED
- UC_MEM_WRITE_INVALID -> UC_MEM_WRITE_UNMAPPED
- UC_MEM_FETCH_INVALID -> UC_MEM_FETCH_UNMAPPED
- UC_HOOK_MEM_READ_INVALID -> UC_HOOK_MEM_READ_UNMAPPED
- UC_HOOK_MEM_WRITE_INVALID -> UC_HOOK_MEM_WRITE_UNMAPPED
- UC_HOOK_MEM_FETCH_INVALID -> UC_HOOK_MEM_FETCH_UNMAPPED
- UC_HOOK_MEM_INVALID -> UC_HOOK_MEM_UNMAPPED
This also renames some newly added macros to use _INVALID postfix:
- UC_HOOK_MEM_READ_ERR -> UC_HOOK_MEM_READ_INVALID
- UC_HOOK_MEM_WRITE_ERR -> UC_HOOK_MEM_WRITE_INVALID
- UC_HOOK_MEM_FETCH_ERR -> UC_HOOK_MEM_FETCH_INVALID
- UC_HOOK_MEM_ERR -> UC_HOOK_MEM_INVALID
Fixed all the bindings Java, Go & Python.
2015-09-30 14:46:55 +08:00
Nguyen Anh Quynh
2b0b4169bc
mips: advance PC for SYSCALL instruction. this fixes issue #157
2015-09-28 10:58:43 +08:00
Nguyen Anh Quynh
886946dcf4
do not use syscall to quit emulation. this can fix issues #147 & #148
2015-09-26 16:49:00 +08:00
Nguyen Anh Quynh
a166c24f8e
x86: correct EIP of INT instruction by updating it only after calling interrupt handler
2015-09-06 14:58:11 +08:00
Jonathon Reinhart
2c802a3e4b
Merge remote-tracking branch 'upstream/master' into change-handle-based-api
...
# Conflicts:
# qemu/target-i386/unicorn.c
2015-09-01 13:17:03 -04:00
Nguyen Anh Quynh
bea73ef213
stop emulation when hitting invalid code address. this fixes issue #82
2015-09-01 00:17:55 +08:00
Jonathon Reinhart
3bd705a060
Merge remote-tracking branch 'upstream/master' into change-handle-based-api
2015-08-30 00:23:51 -04:00
Nguyen Anh Quynh
4a1c5ff071
x86: verify until address early when translating block in frontend. this should fix issue #63
2015-08-28 16:06:06 +08:00
Jonathon Reinhart
fcb099805f
change uch to uc_struct (qemu)
2015-08-26 09:02:16 -04:00
Nguyen Anh Quynh
344d016104
import
2015-08-21 15:04:50 +08:00