Lioncash
0273e6ae18
tcg: Put opcodes in a linked list
...
The previous setup required ops and args to be completely sequential,
and was error prone when it came to both iteration and optimization.
2018-02-09 12:54:05 -05:00
Richard Henderson
a41b9acc0c
tcg: Introduce tcg_op_buf_count and tcg_op_buf_full
...
The method by which we count the number of ops emitted
is going to change. Abstract that away into some inlines.
Backports commit fe700adb3db5b028b504423b946d4ee5200a8f2f from qemu.
2018-02-09 09:31:17 -05:00
Richard Henderson
78378289e3
tcg: Move emit of INDEX_op_end into gen_tb_end
...
Backports commit 0a7df5da986bd7ee0789f2d7b8611f2e8eee5046 from qemu
2018-02-09 08:51:01 -05:00
Richard Henderson
6b4b493dae
tcg: Change tcg_global_mem_new_* to take a TCGv_ptr
...
Thus, use cpu_env as the parameter, not TCG_AREG0 directly.
Update all uses in the translators.
Backports commit e1ccc05444676b92c63708096e36582be27fbee1 from qemu
2018-02-08 12:33:33 -05:00
Ryan Hileman
1b00d3f89a
remove slow cpu QOM casts ( #815 )
2017-05-02 14:56:39 +08:00
xorstream
a40921ce32
Sparc support added. ( #734 )
...
* Fix for MIPS issue.
* Sparc support added.
2017-01-23 13:29:41 +08:00
Nguyen Anh Quynh
2ecbe89cc1
cleanup Sparc unused code
2017-01-23 12:34:00 +08:00
xorstream
fac6a66860
platform.h move #3
2017-01-21 00:13:21 +11:00
xorstream
1aeaf5c40d
This code should now build the x86_x64-softmmu part 2.
2017-01-19 22:50:28 +11:00
Chris Eagle
fccbcfd4c2
revert to use of g_free to make future qemu integrations easier ( #695 )
...
* revert to use of g_free to make future qemu integrations easier
* bracing
2016-12-21 22:28:36 +08:00
Chris Eagle
e46545f722
remove glib dependency by provide compatible replacements
2016-12-18 14:56:58 -08:00
Nguyen Anh Quynh
b7cdbe7a88
Merge branch 'feat/reg_save_restore' of https://github.com/rhelmot/unicorn into rhelmot-feat/reg_save_restore
2016-10-07 09:57:07 +08:00
danghvu
84d99412bc
memleak: Fix Sparc memory leak
2016-10-03 14:23:27 -05:00
Ryan Hileman
cb615fdba7
remove uc->cpus
2016-09-23 07:38:21 -07:00
Andrew Dutcher
0ef2b5fd71
New feature: registers can be bulk saved/restored in an opaque blob
2016-08-20 04:14:07 -07:00
Andrew Dutcher
97b10da133
Undo the disaster that was the patch to unicorn github issue #266 and fix it correctly. makes normal self-modifying code work.
2016-08-09 19:35:20 -07:00
Ryan Hileman
acd88856e1
add batched reg access
2016-04-04 20:51:38 -07:00
Hiroyuki UEKAWA
c5888e5670
move macros in qemu/target-*/unicorn*.c
to uc_priv.h
2016-03-02 12:43:02 +09:00
Nguyen Anh Quynh
8962adc9c5
sparc: use power_down to terminate emulation, rather than using trap. this fix hangup issue of tests/regress/sparc_reg.py
2016-02-15 15:51:14 +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
0886ae8ede
rework code/block tracing
2016-01-22 18:42:27 -08:00
Ryan Hileman
93052f6566
refactor to allow multiple hooks for one type
2016-01-22 18:41:43 -08:00
Nguyen Anh Quynh
b72671c6d5
sparc, arm, m68k: check for exit request after every hooked instruction
2015-12-20 12:28:15 +08:00
Nguyen Anh Quynh
a142611f56
sparc: set compute functions for icc_table[] & xcc_table[]. this fixes issue #289
2015-12-12 00:41:09 +08:00
Nguyen Anh Quynh
2f297bdd3a
handle some errors properly so avoid exit() during initialization. this fixes issue #237
2015-11-12 01:43:41 +08:00
Nguyen Anh Quynh
600a1af710
Merge branch 'master' of https://github.com/unicorn-engine/unicorn
2015-10-03 15:46:19 +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
15f087be74
Merge branch 'master' of https://github.com/unicorn-engine/unicorn
2015-09-26 10:44:15 +08:00
Nguyen Anh Quynh
d6b9c31dc9
sparc: more cleanup
2015-09-16 16:04:12 +07:00
mothran
893e6abcbd
first atttempt at SPARC64 fixes, no longer SEGV's, set CPU model to: Sun UltraSparc IV
2015-09-15 23:12:03 -07:00
mothran
f4894a1c77
removed unneed cases in the switch statement
2015-09-14 20:44:50 -07:00
mothran
6b521e9e9b
update the sparc reg read/write to include o/l/i registers
2015-09-14 20:03:32 -07:00
mothran
7dc41a8e4e
update the regwptr upon reset
2015-09-13 18:10:28 -07:00
mothran
657a6c3e25
modified the sparc reg get/set functions to use the current reg window ptr
2015-09-12 10:29:35 -07:00
mothran
afecfee565
added SPARC sp / fp registers, also updated uint32_t's to uint64_t's in SPARC64
2015-09-10 23:20:52 -07:00
Nguyen Anh Quynh
2929138c99
sparc: do not call INSN handler on until-address, and verify until-address early when translating block in JIT frontend.
2015-09-08 13:26:53 +08:00
Nguyen Anh Quynh
84e3b5c897
cast all the values to write to registers in uc_reg_write() to unsigned type. this fixes issue #98
2015-09-04 11:17:08 +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
b335cf016c
do not generate basic-block callback when translation is broken in the middle due to full cache (all the remaining archs)
2015-08-27 21:09:00 +08:00
Jonathon Reinhart
e7a8eb8976
change uch to uc_struct (target-sparc)
2015-08-26 09:02:16 -04:00
Jonathon Reinhart
9163bba812
restore mode of .[ch] files
...
These were marked as executable in 5c3b6819
, likely due to a Windows
filesystem being involved. This can be avoided:
http://stackoverflow.com/q/1580596/119527
2015-08-24 21:19:12 -04:00
Chris Eagle
5c3b681945
Add const to uc_reg_write and derivitives
2015-08-24 09:42:50 -07:00
mothran
a167f7c456
renames the register constants so unicorn and capstone can compile together
2015-08-23 21:36:33 -07:00
Nguyen Anh Quynh
344d016104
import
2015-08-21 15:04:50 +08:00