Commit Graph

61 Commits

Author SHA1 Message Date
Chris Eagle
2da46caef7 smooth out split_region related code 2015-09-03 12:26:36 -07:00
Nguyen Anh Quynh
6ca85a72ed simplify uc_mem_protect() & uc_mem_unmap() 2015-09-04 01:02:38 +08:00
Nguyen Anh Quynh
9f9d57e84f cleaning & indentation 2015-09-03 18:16:49 +08:00
Nguyen Anh Quynh
b8d4240240 solve merging conflict 2015-09-03 18:05:21 +08:00
Nguyen Anh Quynh
03683a7960 fix an warning caused by _hook_mem_access() 2015-09-03 01:18:41 +08:00
Nguyen Anh Quynh
be659d201d fix confusion betweet UC_MEM_xxx & UC_HOOK_MEM_xxx. fix issue #93 2015-09-03 01:13:57 +08:00
Nguyen Anh Quynh
8b39ec5b0c initial support to remove a static variable in qemu-thread-win32.c 2015-09-02 16:13:12 +08:00
Chris Eagle
ad877e6af0 Add error value UC_ERR_INVAL and rename UC_ERR_OOM to UC_ERR_NOMEM to provide more error specificity 2015-09-01 13:40:19 -07:00
Chris Eagle
2c4f3769d4 clean up mem_protect related constants and error codes 2015-09-01 12:10:09 -07:00
Chris Eagle
658e399776 clean up mem_protect related constants 2015-08-31 19:08:48 -07:00
Chris Eagle
b27e987932 Add target_page_size member to uc_struct to track TARGET_PAGE_SIZE 2015-08-31 01:00:44 -07:00
Chris Eagle
410e317e92 dont use explicit page size, use TARGET_PAGE_SIZE 2015-08-30 21:24:14 -07:00
Chris Eagle
394461b941 section splitting complete for uc_mem_protect 2015-08-30 14:01:07 -07:00
Chris Eagle
0a60fa4c8a fix perms 2015-08-30 00:22:49 -07:00
Chris Eagle
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
Chris Eagle
4a680b9277 Merge branch 'master' into mem_map_ex_cse 2015-08-29 21:22:33 -07:00
Chris Eagle
6beb1b8a13 intermediate commit, working unmap of complete blocks, still need sub-blocks, and cross block 2015-08-29 21:17:30 -07:00
Nguyen Anh Quynh
b4d7347fa8 wait for the timer thread to finish at the end of uc_emu_start(). this may fix the issue #78 2015-08-30 05:12:04 +08:00
Chris Eagle
592cbc6eaf conflict resolution with merge master 2015-08-28 23:51:56 -07:00
Chris Eagle
8e2848c9d5 Merge branch 'master' into api_update 2015-08-28 20:05:53 -07:00
Chris Eagle
94ac0f02e6 file permissions changes 2015-08-28 20:03:36 -07:00
Chris Eagle
65787d415a rename uc_mem_map_ex to uc_mem_map and all associated changes 2015-08-28 20:02:21 -07:00
Nguyen Anh Quynh
810054ca6d uc_mem_read() & uc_mem_write() now can work on adjacent memory areas. this fixes issue #38 2015-08-29 10:23:53 +08:00
Chris Eagle
eab6167241 Merge branch 'master' into mem_map_ex_cse 2015-08-28 19:00:39 -07:00
Chris Eagle
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
Nguyen Anh Quynh
c0c24db4c6 chmod -x uc.c 2015-08-29 09:27:24 +08:00
Nguyen Anh Quynh
0db7d9ea4e reset emulation_done in uc_emu_start() 2015-08-29 09:22:53 +08:00
Nguyen Anh Quynh
ab27c6aa04 return immediately if emulation is already done. this fixes issue #65 2015-08-29 09:10:18 +08:00
Chris Eagle
3452b47f7c Add code to handle non-readable memory 2015-08-28 03:42:25 -07:00
Chris Eagle
aa509cc00f delete redundant function 2015-08-28 02:20:56 -07:00
Chris Eagle
adc254cc74 Roll back uc_mem_protect changes 2015-08-28 01:37:49 -07:00
Chris Eagle
b31bb9638c cleanup for pull request 2015-08-28 00:00:09 -07:00
Chris Eagle
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
Chris Eagle
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
Chris Eagle
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
Nguyen Anh Quynh
b6dd516977 fix a bug on releasing mapped_blocks in uc_close() 2015-08-26 23:41:30 +08:00
Chris Eagle
5d8d251085 Free uc->mapped_blocks in uc_close 2015-08-26 08:23:36 -07:00
Chris Eagle
9023e77201 Fixed bug introduced in uc_mem_map 2015-08-26 00:26:42 -07:00
Chris Eagle
e11c0629f9 Change allocation strategy for memory block tracking and track begin/end rather than begin/size 2015-08-25 23:08:18 -07:00
Chris Eagle
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
Nguyen Anh Quynh
70cdbf8c69 uc_mem_map(): enforce address & size to be aligned to 4KB. this fixes bunch of regress tests in regress/ 2015-08-26 11:29:14 +08:00
Nguyen Anh Quynh
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
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
Chris Eagle
f221195bf6 Merge remote-tracking branch 'upstream/master' 2015-08-24 09:15:23 -07:00
Nguyen Anh Quynh
9d9c0d1a25 uc_emu_start() report error on illegal instruction at the output 2015-08-25 00:02:31 +08:00
pancake
c5d99777f4 Use const in uc_mem_write and derivates 2015-08-24 17:02:14 +02:00
Chris Eagle
2998c125de Merge remote-tracking branch 'upstream/master' 2015-08-24 00:50:59 -07:00
Chris Eagle
73bc268036 Fix 8k alignment mask computation 2015-08-24 00:41:56 -07:00
mothran
2516de7ed8 renamed m68k enum constants 2015-08-23 21:56:24 -07:00