901efc4bd4
fix some oss-fuzz ( #1200 )
...
* fix oss-fuzz 10419.
* fix oss-fuzz 10427.
* fix oss-fuzz 10421.
* fix oss-fuzz 10422.
* fix oss-fuzz 10425.
* fix oss-fuzz 10426.
* fix oss-fuzz 10426.
* fix oss-fuzz 10422.
* fix oss-fuzz 10426.
* fix oss-fuzz 10456.
* fix oss-fuzz 10428.
* fix oss-fuzz 10429.
* fix oss-fuzz 10431.
* fix oss-fuzz 10435.
* fix oss-fuzz 10430.
* fix oss-fuzz 10436.
* remove unused var.
* fix oss-fuzz 10449.
* fix oss-fuzz 10452.
* fix oss-fuzz 11792.
* fix oss-fuzz 10457.
* fix oss-fuzz 11737.
* fix oss-fuzz 10458.
* fix oss-fuzz 10565.
* fix oss-fuzz 11651.
* fix oss-fuzz 10497.
* fix oss-fuzz 10515.
* fix oss-fuzz 10586.
* fix oss-fuzz 10597.
* fiz oss-fuzz 11721.
* fix oss-fuzz 10718.
* fix oss-fuzz 15610.
* fix oss-fuzz 10512.
* fix oss-fuzz 10545.
* fix oss-fuzz 10598.
* fix oss-fuzz 11112.
* fix oss-fuzz 11589.
* fix oss-fuzz 10674.
* git fix oss-fuzz 19610.
* fix oss-fuzz 19848.
* fix oss-fuzz 19851.
* fix oss-fuzz 19852.
* fix oss-fuzz 10878.
* fix oss-fuzz 11655.
* fix oss-fuzz 19849.
* fix oss-fuzz 11765.
* fix oss-fuzz 10337.
* fix oss-fuzz 10575.
* fix oss-fuzz 19877.
* fix oss-fuzz 19895.
* fix oss-fuzz 19896.
* fix oss-fuzz 19897.
* remove verbose fprintf output.
* fix oss-fuzz 19943.
* fix oss-fuzz 20026.
* fix oss-fuzz 20027.
* fix oss-fuzz 19967.
* fix oss-fuzz 19946.
* fix oss-fuzz 20069.
* fix oss-fuzz 20071.
* fix oss-fuzz 20073.
* fix oss-fuzz 20075.
* fix oss-fuzz 20076.
* fix a operation mistake.
* fix oss-fuzz 20101.
* fix oss-fuzz 20152.
* fix oss-fuzz 20101.
* fix oss-fuzz 20154.
* fix oss-fuzz 20166.
* fix oss-fuzz 14042.
* fix oss-fuzz 10578.
* fix oss-fuzz 11328.
* fix oss-fuzz 10602.
2020-02-10 22:33:00 +08:00
1eabe2ffaa
Fixes LM flag for CPUID extended feature mask ( #1202 )
2020-02-10 10:57:46 +08:00
6398248534
fix some oss-fuzz ( #1191 )
...
* fix oss-fuzz 10419.
* fix oss-fuzz 10427.
* fix oss-fuzz 10421.
* fix oss-fuzz 10422.
* fix oss-fuzz 10425.
* fix oss-fuzz 10426.
* fix oss-fuzz 10426.
* fix oss-fuzz 10422.
* fix oss-fuzz 10426.
* fix oss-fuzz 10456.
* fix oss-fuzz 10428.
* fix oss-fuzz 10429.
* fix oss-fuzz 10431.
* fix oss-fuzz 10435.
* fix oss-fuzz 10430.
* fix oss-fuzz 10436.
* remove unused var.
* fix oss-fuzz 10449.
* fix oss-fuzz 10452.
* fix oss-fuzz 11792.
* fix oss-fuzz 10457.
* fix oss-fuzz 11737.
* fix oss-fuzz 10458.
* fix oss-fuzz 10565.
* fix oss-fuzz 11651.
* fix oss-fuzz 10497.
* fix oss-fuzz 10515.
* fix oss-fuzz 10586.
* fix oss-fuzz 10597.
* fiz oss-fuzz 11721.
* fix oss-fuzz 10718.
* fix oss-fuzz 15610.
* fix oss-fuzz 10512.
* fix oss-fuzz 10545.
* fix oss-fuzz 10598.
* fix oss-fuzz 11112.
* fix oss-fuzz 11589.
* fix oss-fuzz 10674.
* git fix oss-fuzz 19610.
* fix oss-fuzz 19848.
* fix oss-fuzz 19851.
* fix oss-fuzz 19852.
* fix oss-fuzz 10878.
* fix oss-fuzz 11655.
* fix oss-fuzz 19849.
* fix oss-fuzz 11765.
* fix oss-fuzz 10337.
* fix oss-fuzz 10575.
* fix oss-fuzz 19877.
* fix oss-fuzz 19895.
* fix oss-fuzz 19896.
* fix oss-fuzz 19897.
* remove verbose fprintf output.
* fix oss-fuzz 19943.
* fix oss-fuzz 20026.
* fix oss-fuzz 20027.
* fix oss-fuzz 19967.
* fix oss-fuzz 19946.
* fix oss-fuzz 20069.
* fix oss-fuzz 20071.
* fix oss-fuzz 20073.
* fix oss-fuzz 20075.
* fix oss-fuzz 20076.
* fix a operation mistake.
* fix oss-fuzz 20101.
* fix oss-fuzz 20152.
* fix oss-fuzz 20101.
* fix oss-fuzz 20154.
2020-01-17 17:23:39 +08:00
2776bc1db7
fix some oss-fuzz ( #1189 )
...
* fix oss-fuzz 10419.
* fix oss-fuzz 10427.
* fix oss-fuzz 10421.
* fix oss-fuzz 10422.
* fix oss-fuzz 10425.
* fix oss-fuzz 10426.
* fix oss-fuzz 10426.
* fix oss-fuzz 10422.
* fix oss-fuzz 10426.
* fix oss-fuzz 10456.
* fix oss-fuzz 10428.
* fix oss-fuzz 10429.
* fix oss-fuzz 10431.
* fix oss-fuzz 10435.
* fix oss-fuzz 10430.
* fix oss-fuzz 10436.
* remove unused var.
* fix oss-fuzz 10449.
* fix oss-fuzz 10452.
* fix oss-fuzz 11792.
* fix oss-fuzz 10457.
* fix oss-fuzz 11737.
* fix oss-fuzz 10458.
* fix oss-fuzz 10565.
* fix oss-fuzz 11651.
* fix oss-fuzz 10497.
* fix oss-fuzz 10515.
* fix oss-fuzz 10586.
* fix oss-fuzz 10597.
* fiz oss-fuzz 11721.
* fix oss-fuzz 10718.
* fix oss-fuzz 15610.
* fix oss-fuzz 10512.
* fix oss-fuzz 10545.
* fix oss-fuzz 10598.
* fix oss-fuzz 11112.
* fix oss-fuzz 11589.
* fix oss-fuzz 10674.
* git fix oss-fuzz 19610.
* fix oss-fuzz 19848.
* fix oss-fuzz 19851.
* fix oss-fuzz 19852.
* fix oss-fuzz 10878.
* fix oss-fuzz 11655.
* fix oss-fuzz 19849.
* fix oss-fuzz 11765.
* fix oss-fuzz 10337.
* fix oss-fuzz 10575.
* fix oss-fuzz 19877.
* fix oss-fuzz 19895.
* fix oss-fuzz 19896.
* fix oss-fuzz 19897.
* remove verbose fprintf output.
* fix oss-fuzz 19943.
* fix oss-fuzz 20026.
* fix oss-fuzz 20027.
* fix oss-fuzz 19967.
* fix oss-fuzz 19946.
* fix oss-fuzz 20069.
* fix oss-fuzz 20071.
* fix oss-fuzz 20073.
* fix oss-fuzz 20075.
* fix oss-fuzz 20076.
2020-01-15 22:18:00 +08:00
ec2e454481
fix some oss-fuzz ( #1188 )
...
* fix oss-fuzz 10419.
* fix oss-fuzz 10427.
* fix oss-fuzz 10421.
* fix oss-fuzz 10422.
* fix oss-fuzz 10425.
* fix oss-fuzz 10426.
* fix oss-fuzz 10426.
* fix oss-fuzz 10422.
* fix oss-fuzz 10426.
* fix oss-fuzz 10456.
* fix oss-fuzz 10428.
* fix oss-fuzz 10429.
* fix oss-fuzz 10431.
* fix oss-fuzz 10435.
* fix oss-fuzz 10430.
* fix oss-fuzz 10436.
* remove unused var.
* fix oss-fuzz 10449.
* fix oss-fuzz 10452.
* fix oss-fuzz 11792.
* fix oss-fuzz 10457.
* fix oss-fuzz 11737.
* fix oss-fuzz 10458.
* fix oss-fuzz 10565.
* fix oss-fuzz 11651.
* fix oss-fuzz 10497.
* fix oss-fuzz 10515.
* fix oss-fuzz 10586.
* fix oss-fuzz 10597.
* fiz oss-fuzz 11721.
* fix oss-fuzz 10718.
* fix oss-fuzz 15610.
* fix oss-fuzz 10512.
* fix oss-fuzz 10545.
* fix oss-fuzz 10598.
* fix oss-fuzz 11112.
* fix oss-fuzz 11589.
* fix oss-fuzz 10674.
* git fix oss-fuzz 19610.
* fix oss-fuzz 19848.
* fix oss-fuzz 19851.
* fix oss-fuzz 19852.
* fix oss-fuzz 10878.
* fix oss-fuzz 11655.
* fix oss-fuzz 19849.
* fix oss-fuzz 11765.
* fix oss-fuzz 10337.
* fix oss-fuzz 10575.
* fix oss-fuzz 19877.
* fix oss-fuzz 19895.
* fix oss-fuzz 19896.
* fix oss-fuzz 19897.
* remove verbose fprintf output.
* fix oss-fuzz 19943.
* fix oss-fuzz 20026.
* fix oss-fuzz 20027.
* fix oss-fuzz 19967.
* fix oss-fuzz 19946.
2020-01-14 10:08:58 +08:00
7e4ac9e86e
fix some oss-fuzz ( #1184 )
...
* fix oss-fuzz 10419.
* fix oss-fuzz 10427.
* fix oss-fuzz 10421.
* fix oss-fuzz 10422.
* fix oss-fuzz 10425.
* fix oss-fuzz 10426.
* fix oss-fuzz 10426.
* fix oss-fuzz 10422.
* fix oss-fuzz 10426.
* fix oss-fuzz 10456.
* fix oss-fuzz 10428.
* fix oss-fuzz 10429.
* fix oss-fuzz 10431.
* fix oss-fuzz 10435.
* fix oss-fuzz 10430.
* fix oss-fuzz 10436.
* remove unused var.
* fix oss-fuzz 10449.
* fix oss-fuzz 10452.
* fix oss-fuzz 11792.
* fix oss-fuzz 10457.
* fix oss-fuzz 11737.
* fix oss-fuzz 10458.
* fix oss-fuzz 10565.
* fix oss-fuzz 11651.
* fix oss-fuzz 10497.
* fix oss-fuzz 10515.
* fix oss-fuzz 10586.
* fix oss-fuzz 10597.
* fiz oss-fuzz 11721.
* fix oss-fuzz 10718.
* fix oss-fuzz 15610.
* fix oss-fuzz 10512.
* fix oss-fuzz 10545.
* fix oss-fuzz 10598.
* fix oss-fuzz 11112.
* fix oss-fuzz 11589.
* fix oss-fuzz 10674.
* git fix oss-fuzz 19610.
* fix oss-fuzz 19848.
* fix oss-fuzz 19851.
* fix oss-fuzz 19852.
* fix oss-fuzz 10878.
* fix oss-fuzz 11655.
* fix oss-fuzz 19849.
* fix oss-fuzz 11765.
* fix oss-fuzz 10337.
* fix oss-fuzz 10575.
* fix oss-fuzz 19877.
* fix oss-fuzz 19895.
* fix oss-fuzz 19896.
* fix oss-fuzz 19897.
* remove verbose fprintf output.
2020-01-10 23:05:44 +08:00
8621bca537
fix some oss-fuzz bugs ( #1182 )
...
* fix oss-fuzz 10419.
* fix oss-fuzz 10427.
* fix oss-fuzz 10421.
* fix oss-fuzz 10422.
* fix oss-fuzz 10425.
* fix oss-fuzz 10426.
* fix oss-fuzz 10426.
* fix oss-fuzz 10422.
* fix oss-fuzz 10426.
* fix oss-fuzz 10456.
* fix oss-fuzz 10428.
* fix oss-fuzz 10429.
* fix oss-fuzz 10431.
* fix oss-fuzz 10435.
* fix oss-fuzz 10430.
* fix oss-fuzz 10436.
* remove unused var.
* fix oss-fuzz 10449.
* fix oss-fuzz 10452.
* fix oss-fuzz 11792.
* fix oss-fuzz 10457.
* fix oss-fuzz 11737.
* fix oss-fuzz 10458.
* fix oss-fuzz 10565.
* fix oss-fuzz 11651.
* fix oss-fuzz 10497.
* fix oss-fuzz 10515.
* fix oss-fuzz 10586.
* fix oss-fuzz 10597.
* fiz oss-fuzz 11721.
* fix oss-fuzz 10718.
* fix oss-fuzz 15610.
* fix oss-fuzz 10512.
* fix oss-fuzz 10545.
2020-01-05 19:20:29 +08:00
68eb357984
fix some oss-fuzz bugs ( #1180 )
...
* fix oss-fuzz 10419.
* fix oss-fuzz 10427.
* fix oss-fuzz 10421.
* fix oss-fuzz 10422.
* fix oss-fuzz 10425.
* fix oss-fuzz 10426.
* fix oss-fuzz 10426.
* fix oss-fuzz 10422.
* fix oss-fuzz 10426.
* fix oss-fuzz 10456.
* fix oss-fuzz 10428.
* fix oss-fuzz 10429.
* fix oss-fuzz 10431.
* fix oss-fuzz 10435.
* fix oss-fuzz 10430.
* fix oss-fuzz 10436.
* remove unused var.
2020-01-04 23:42:02 +08:00
95890d593f
fix oss-fuzz issue 10578. ( #1159 )
2019-12-29 00:14:05 +08:00
c03f929c75
fix oss-fuzz issue 10334. ( #1149 )
2019-10-08 10:44:50 +08:00
ca6516ff79
Remove warnings ( #1140 )
...
* remove warnings on windows with vs2019.
* remove warnings.
2019-09-08 16:44:16 +08:00
23a426625f
check arguments, return error instead of raising exceptions. ( #1125 )
...
* check arguments, return error instaed of raising exceptions. close #1117 .
* remove empty lines. remove thr underscore prefix in function name.
2019-08-23 17:05:13 +08:00
ae6e3c193d
Fixes register reading and writing for XMM8-15 on x86-64 ( #1090 )
2019-06-03 19:04:41 +08:00
55d8d073bd
support for YMM registers ymm8-ymm15 ( #1079 )
2019-04-01 11:00:34 +08:00
5bf6d77e4e
Fixed the decoding of opcodes after getting vex2 using 0xc5 ( #1064 )
...
* Fixed the decoding of opcodes after getting vex2 using 0xc5
* Added testcase for vex. Can and should be expanded
* Fixed warning of testcase for vex (parentheses for assignment)
2019-02-25 21:14:20 +08:00
256e7782ce
Added MXCSR register, fixed writing to FPUCW. ( #1059 )
...
* Added MXCSR register for reading and writing
* Changed writing for fpucw register, now the qemu rounding status is updated as well
2019-02-15 12:59:49 +08:00
360e9c60e1
changed cpu_compue_eflags to use the updated eflags variable. Otherwise, cli/sti and popfl may break, as we get the non-updated eflags ( #1057 )
2019-02-07 23:10:01 +08:00
536c4e77c4
i386: set MSR IA32_EFER to correct value at init for IA32e Mode ( #1047 )
2018-11-30 11:42:19 +08:00
a2493a0d41
[Fix] Fix a problem that use uc_reg_write to write fs, gs has no effets in x86 64-bit mode. ( #984 )
2018-11-10 21:24:11 +08:00
4a86318cf4
Initializes i386 prefix value ( #1013 )
2018-09-16 21:50:00 +08:00
0f14c47344
Makes SYSENTER hookable again on x86 ( #996 )
...
Adds SYSENTER to the whitelist of supported hookable instructions in unicorn
as well as fixes up the existing sysenter_hook_x86 regression test which was
previously failing
Fixes unicorn-engine/unicorn#995
2018-08-09 23:32:31 +08:00
4d0157eb4a
x86: fix #968 . also fix potential bug of not clearing high bytes when updateing EIP
2018-07-26 15:19:23 +08:00
2a240079d8
[Fix] Add feature support for CMPXCHG16B instruction. ( #983 )
2018-07-25 15:00:41 +08:00
3e0d0cfab7
i386: fix signed int overflow in #923 & #924
2017-12-16 10:28:45 +08:00
d7735487f7
Use the qemu helpers to get/set the x86 eflags ( #878 )
2017-09-15 22:18:38 +07:00
ad767abda8
x86::trans: handle illegal case for opc c6/c7
...
Reference Intel software developer manual vol2 Appendix A Table A-6 for
detailed decoding information.
Signed-off-by: vardyh <vardyh.dev@gmail.com >
2017-05-25 15:22:45 +08:00
4b9efdc986
Adding INSN hook checks for x86 ( #833 )
...
* adding INSN hook checking for x86
* tabs to spaces
* need to return bool not uc_err
* fixed conditional after switching to bool
2017-05-14 00:16:17 +07:00
5385baba39
Implemented read and write access to the YMM registers ( #819 )
2017-05-05 09:02:58 +08:00
1b00d3f89a
remove slow cpu QOM casts ( #815 )
2017-05-02 14:56:39 +08:00
c01dcf0a14
fix merge conflicts
2017-03-10 21:04:33 +08:00
02e6c14e12
x86: add MSR API via reg API ( #755 )
...
Writing / reading to model specific registers should be as easy as
calling a function, it's a bit stupid to write shell code and run them
just to write/read to a MSR, and even worse, you need more than just a
shellcode to read...
So, add a special register ID called UC_X86_REG_MSR, which should be
passed to uc_reg_write()/uc_reg_read() as the register ID, and then a
data structure which is uc_x86_msr (12 bytes), as the value (always), where:
Byte Value Size
0 MSR ID 4
4 MSR val 8
2017-02-24 21:37:19 +08:00
6ea39f7d5a
merge msvc with master
2017-02-24 10:39:36 +08:00
a03e908611
Fix initial state of segment registers ( #751 )
...
* Remove glib from samples makefile
* changes to 16 bit segment registers needs to update segment base as well as segment selector
* change how x86 segment registers are set in 16-bit mode
* more appropriate solution to initial state of x86 segment registers in 16-bit mode
* remove commented lines
2017-02-09 23:49:54 +08:00
f05984961b
Fix 16-bit address computations ( #747 )
...
* Remove glib from samples makefile
* changes to 16 bit segment registers needs to update segment base as well as segment selector
* change how x86 segment registers are set in 16-bit mode
2017-02-08 09:37:41 +08:00
0680b85920
cleanup Monitor related code
2017-01-23 10:07:01 +08:00
55d472c62c
cleanup Monitor related code
2017-01-23 00:53:31 +08:00
e46f86c80b
Merging with current msvc.
2017-01-23 01:07:06 +11:00
72a497bc14
Added MIPS support and projects for all samples.
2017-01-23 01:05:08 +11:00
206819bd98
cleanup after msvc port
2017-01-22 21:27:17 +08:00
770c5616e2
Automated leading tab to spaces conversion.
2017-01-21 12:28:22 +11:00
df41c49e2d
Fixed warning about {} initialisers.
2017-01-21 11:41:11 +11:00
429bfca48e
Fixes for MSVC native support to still work with GCC/GNU.
2017-01-21 01:07:10 +11:00
fac6a66860
platform.h move #3
2017-01-21 00:13:21 +11:00
b0ae2138fb
Merge remote-tracking branch 'unicorn-engine/master' into msvc_native
2017-01-20 22:37:51 +11:00
42771848d6
no more spinlock
2017-01-20 14:57:33 +08:00
002151874a
Unicorn interface working with test app in 32bit and 64bit builds.
2017-01-20 17:27:22 +11:00
1aeaf5c40d
This code should now build the x86_x64-softmmu part 2.
2017-01-19 22:50:28 +11:00
7512ff57de
more cleanup
2017-01-10 16:29:47 +08:00
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
e46545f722
remove glib dependency by provide compatible replacements
2016-12-18 14:56:58 -08:00