Commit Graph

506 Commits

Author SHA1 Message Date
912faf2c3c after closer review, in x64 the the op size is 32 so data32 is set, can removed the unicorn dependency and regress/fpu_ip64.py still works 2015-08-30 18:04:28 -07:00
2febbb6021 Merge branch 'master' of github.com:unicorn-engine/unicorn into fpip_update 2015-08-30 11:13:23 -07:00
0a60fa4c8a fix perms 2015-08-30 00:22:49 -07:00
942de0f2ae implemented basic block splitting, uc_mem_unmap should work for sub=blocks or across contiguous blocks 2015-08-30 00:22:18 -07:00
3bd705a060 Merge remote-tracking branch 'upstream/master' into change-handle-based-api 2015-08-30 00:23:51 -04:00
4a680b9277 Merge branch 'master' into mem_map_ex_cse 2015-08-29 21:22:33 -07:00
6beb1b8a13 intermediate commit, working unmap of complete blocks, still need sub-blocks, and cross block 2015-08-29 21:17:30 -07:00
c23d387e2f remove redundant uc_struct.ram 2015-08-30 10:51:28 +08:00
b7d60313b5 added 64 bit mode to the fstenv helper function, also a fpu_ip64.py regress script 2015-08-29 01:56:36 -07:00
592cbc6eaf conflict resolution with merge master 2015-08-28 23:51:56 -07:00
79184ff23d Merge branch 'master' of github.com:unicorn-engine/unicorn into fpip_update 2015-08-28 23:40:25 -07:00
986096d443 fix file perms 2015-08-28 21:05:38 -07:00
94ac0f02e6 file permissions changes 2015-08-28 20:03:36 -07:00
eab6167241 Merge branch 'master' into mem_map_ex_cse 2015-08-28 19:00:39 -07:00
9ba59e4988 Step one towards uc_mem_protect, uc_mem_unmap, and support for UC_PROT_EXEC and NX regions 2015-08-28 18:59:45 -07:00
6bd5e2efa7 chmod -x qemu/softmmu_template.h 2015-08-29 09:28:32 +08:00
feb8ced027 fixed the FPIP updates to correctly only work with non-control instructions and make sure the pc addr is correct 2015-08-28 10:39:11 -07:00
b69180ad5a Merge branch 'mem_map_ex' of https://github.com/cseagle/unicorn into cseagle-mem_map_ex 2015-08-28 18:47:18 +08:00
3452b47f7c Add code to handle non-readable memory 2015-08-28 03:42:25 -07:00
933ef379b4 restricted fpip updates to only non-control instructions 2015-08-28 03:19:10 -07:00
3b5df362d7 chmod -x <some source code> 2015-08-28 18:12:56 +08:00
96a274c4aa Merge branch 'mem_map_ex' of https://github.com/cseagle/unicorn into cseagle-mem_map_ex 2015-08-28 18:11:10 +08:00
4a1c5ff071 x86: verify until address early when translating block in frontend. this should fix issue #63 2015-08-28 16:06:06 +08:00
9530b2daff Remove MemoryBlock struct by consolidating in MemoryRegion. add new API uc_mem_protect. Add regress/mem_protect.c. Drop UC_PROT_EXEC for time being 2015-08-27 23:19:32 -07:00
59b09a71bf first shot at getting FPIP working, need to remove all FP control instructions from being updated 2015-08-27 21:54:23 -07:00
bf32753c29 Merge branch 'master' into mem_map_ex 2015-08-27 19:17:06 -07:00
686acb7e6e Detect all occurences of write to read only page. Add callback capability on write to read only. Add new error type UC_ERR_MEM_WRITE_RO and new access type UC_MEM_WRITE_RO for use in callback 2015-08-27 18:03:17 -07:00
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
4b529bc56c Free up all MemoryRegion* when uc is closed 2015-08-26 14:09:46 -07:00
00944b6cde Add ability to mark memory are read only. Add new API uc_mem_map_ex to allow permissions to be passed. Change MemoryBlock to track created MemoryRegions. Add regress/ro_mem_test.c 2015-08-26 13:29:54 -07:00
b39f5d2a91 When checking for invalid memory always do the faster check of whether we are hooking env->uc->hook_mem_idx before doing the expensive check of scanning the memory map 2015-08-26 08:55:19 -07:00
095cdb5f9d Merge remote-tracking branch 'upstream/master' 2015-08-26 08:25:37 -07:00
8918deb1b2 change uch to uc_struct (target-m68k) 2015-08-26 09:02:16 -04:00
fcb099805f change uch to uc_struct (qemu) 2015-08-26 09:02:16 -04:00
b57662e43d change uch to uc_struct (target-i386) 2015-08-26 09:02:16 -04:00
e7a8eb8976 change uch to uc_struct (target-sparc) 2015-08-26 09:02:16 -04:00
15a774ac90 change uch to uc_struct (target-mips) 2015-08-26 09:02:16 -04:00
622d5cd5f9 change uch to uc_struct (target-arm) 2015-08-26 09:02:16 -04:00
6c4726c88e change uch to uc_struct (ioport.c) 2015-08-26 09:02:16 -04:00
192f07c503 reset invalid_error after callbacks decide to continue after invalid memory accesses 2015-08-26 16:15:38 +08:00
03e8b28d71 First cut at cleaning up uc_mem_map, eliminate map_begin and map_end, move tracking inside uc struct 2015-08-25 21:52:18 -07:00
cc5d28e112 mips: fix issue #39 2015-08-26 09:39:09 +08:00
2fac7fc2e4 x86: better support for 16bit mode 2015-08-26 00:39:46 +08:00
39d3856871 when block size is unknown because the translation cache is full, assign it value 0 2015-08-25 16:10:05 +08:00
c3e95ec34e x86: do not generate basic-block callback when translation is broken in the middle due to full cache 2015-08-25 14:50:55 +08:00
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
5c3b681945 Add const to uc_reg_write and derivitives 2015-08-24 09:42:50 -07:00
9d9c0d1a25 uc_emu_start() report error on illegal instruction at the output 2015-08-25 00:02:31 +08:00
c5d99777f4 Use const in uc_mem_write and derivates 2015-08-24 17:02:14 +02:00
2516de7ed8 renamed m68k enum constants 2015-08-23 21:56:24 -07:00