Commit Graph

163 Commits

Author SHA1 Message Date
b27e987932 Add target_page_size member to uc_struct to track TARGET_PAGE_SIZE 2015-08-31 01:00:44 -07:00
410e317e92 dont use explicit page size, use TARGET_PAGE_SIZE 2015-08-30 21:24:14 -07:00
9e4e96ff47 final updates for uc_mem_unmap, uc_mem_protect, and support ro UC_PROT_EXEC permission 2015-08-30 19:50:18 -07:00
6aa2b73bea removed ifdef for x64 in fpu saving 2015-08-30 19:39:46 -07:00
e1ab761e8a fixed typo 2015-08-30 19:32:39 -07:00
2b6f806759 removed testing printf 2015-08-30 19:22:41 -07:00
4cd5fa3811 fpip x64 fxsave working with using hflags to check CPU mode 2015-08-30 18:56:55 -07:00
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