Peter Maydell
9d02c52b8a
cpu_ldst.h: Allow NB_MMU_MODES to be 7
...
Support guest CPUs which need 7 MMU index values.
Add a comment about what would be required to raise the limit
further (trivial for 8, TCG backend rework for 9 or more).
Backports commit 8f3ae2ae2d02727f6d56610c09d7535e43650dd4 from qemu
2018-02-12 11:21:19 -05:00
Richard Henderson
a5d6a31d69
host-utils: Add revbit functions
...
Backports commit 652a4b7e736f432a6809d1d2b52d169ab0b9aa3b from qemu.
2018-02-11 02:57:55 -05:00
Richard Henderson
232632e76c
tcg: Change translator-side labels to a pointer
...
This is improved type checking for the translators -- it's no longer
possible to accidentally swap arguments to the branch functions.
Note that the code generating backends still manipulate labels as int.
With notable exceptions, the scope of the change is just a few lines
for each target, so it's not worth building extra machinery to do this
change in per-target increments.
Backports commit 42a268c241183877192c376d03bd9b6d527407c7 from qemu
2018-02-09 14:17:56 -05:00
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
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
Nguyen Anh Quynh
c01dcf0a14
fix merge conflicts
2017-03-10 21:04:33 +08:00
Nguyen Anh Quynh
d52f85d16e
add back missing ELF symbols reported in #766
2017-02-26 09:39:11 +08:00
Nguyen Anh Quynh
6ea39f7d5a
merge msvc with master
2017-02-24 10:39:36 +08:00
Nguyen Anh Quynh
736d9857d2
recover some ELF symbols for building on Arm, PPC, Sparc & S390. issue #752
2017-02-20 15:16:50 +08:00
vardyh
7f9251511e
MSVC port (vardyh) ( #746 )
...
* unicorn: use waitable timer to implement usleep() on Windows
Signed-off-by: vardyh <vardyh.dev@gmail.com>
* atomic: implement barrier() for msvc
Signed-off-by: vardyh <vardyh.dev@gmail.com>
2017-02-07 21:31:35 +08:00
Nguyen Anh Quynh
ef52d9a9d1
cleanup qemu/include/qemu/module.h
2017-01-25 00:20:08 +08:00
xorstream
69ae8f7987
Fix for MIPS issue. ( #733 )
2017-01-23 12:39:34 +08:00
Nguyen Anh Quynh
2ecbe89cc1
cleanup Sparc unused code
2017-01-23 12:34:00 +08:00
Nguyen Anh Quynh
e4c7c3dbe4
cleanup Sparc unused code
2017-01-23 12:33:39 +08:00
Nguyen Anh Quynh
0680b85920
cleanup Monitor related code
2017-01-23 10:07:01 +08:00
Nguyen Anh Quynh
55d472c62c
cleanup Monitor related code
2017-01-23 00:53:31 +08:00
Nguyen Anh Quynh
a95fdbc5aa
cleanup qemu/include/exec/memory.h
2017-01-22 23:21:47 +08:00
Nguyen Anh Quynh
5de0785a1b
cleanup qemu/memory.c
2017-01-22 23:07:17 +08:00
xorstream
e46f86c80b
Merging with current msvc.
2017-01-23 01:07:06 +11:00
xorstream
72a497bc14
Added MIPS support and projects for all samples.
2017-01-23 01:05:08 +11:00
Nguyen Anh Quynh
206819bd98
cleanup after msvc port
2017-01-22 21:27:17 +08:00
xorstream
1a9ebbecde
isnan() fix for msvc2013 onwards ( #729 )
...
* Changed some MSVC compatibility defines based on MSVC version.
* Added prebuild_script.bat to remove leftover configure generated files before building.
Also added project files and MSVC copies of configure generated files for all supported CPUs.
* Moved ./bindings/msvc_native into ./msvc
* Remove old project dir.
* isnan() fix for msvc2013 onwards
2017-01-22 16:14:05 +08:00
xorstream
03dcce40b2
isnan() fix for msvc2013 onwards
2017-01-22 18:13:28 +11:00
xorstream
9fac29d154
Changed some MSVC compatibility defines based on MSVC version. ( #724 )
2017-01-21 20:21:27 +08:00
xorstream
80bb7835a8
Changed some MSVC compatibility defines based on MSVC version.
2017-01-21 22:33:11 +11:00
Nguyen Anh Quynh
0d51163abc
cleanup qemu/util/qemu-timer-common.c
2017-01-21 14:55:35 +08:00
Nguyen Anh Quynh
45717c61ba
cleanup qemu/util/qemu-timer-common.c
2017-01-21 14:53:33 +08:00
Nguyen Anh Quynh
647c97ddc3
ffs() is redundant
2017-01-21 11:11:22 +08:00
Nguyen Anh Quynh
5d0797afe7
ffs() is redundant
2017-01-21 11:10:48 +08:00
Nguyen Anh Quynh
c8550b86f0
fix conflicts
2017-01-21 11:06:05 +08:00
Nguyen Anh Quynh
fa12120d75
termios.h & strings.h are not needed
2017-01-21 11:02:17 +08:00
xorstream
770c5616e2
Automated leading tab to spaces conversion.
2017-01-21 12:28:22 +11:00
xorstream
8840d5b42b
Save copies of generated qapi files.
2017-01-21 00:30:50 +11:00
xorstream
fac6a66860
platform.h move #3
2017-01-21 00:13:21 +11:00
xorstream
b0ae2138fb
Merge remote-tracking branch 'unicorn-engine/master' into msvc_native
2017-01-20 22:37:51 +11:00
Nguyen Anh Quynh
ac68745a9c
we dont need to handle VGA & Migration memories
2017-01-20 17:03:39 +08:00
Nguyen Anh Quynh
fff532fc20
timer is redundant
2017-01-20 16:46:58 +08:00
Nguyen Anh Quynh
c6de7930c9
remove mutex code
2017-01-20 15:44:03 +08:00
xorstream
92392e0f57
Merge with current master.
2017-01-20 18:22:28 +11:00
Nguyen Anh Quynh
42771848d6
no more spinlock
2017-01-20 14:57:33 +08:00
Nguyen Anh Quynh
a7fca49f7a
delete qemu/include/qemu/notify.h
2017-01-20 14:47:41 +08:00
xorstream
002151874a
Unicorn interface working with test app in 32bit and 64bit builds.
2017-01-20 17:27:22 +11:00
Nguyen Anh Quynh
b887c3bb25
delete qemu/include/exec/poison.h
2017-01-20 13:58:50 +08:00
Nguyen Anh Quynh
94e55f45c1
del qemu/target-m68k/m68k-semi.c
2017-01-20 11:52:31 +08:00
xorstream
1aeaf5c40d
This code should now build the x86_x64-softmmu part 2.
2017-01-19 22:50:28 +11:00
Nguyen Anh Quynh
b9b82591a1
cleanup
2017-01-19 18:07:30 +08:00
Nguyen Anh Quynh
8a5b12c6f9
more cleanup in qemu/include/hw/
2017-01-19 15:20:06 +08:00
Nguyen Anh Quynh
287e047fdb
delete sparc32_dma.h & arm-semi.c
2017-01-19 15:10:41 +08:00
Nguyen Anh Quynh
f4f756e6dd
cleanup qemu/include/qemu/module.h
2017-01-19 15:00:25 +08:00
Nguyen Anh Quynh
9735c6e28e
cleanup qemu/include/elf.h
2017-01-19 13:46:17 +08:00
Nguyen Anh Quynh
a6fa35430a
del qemu/include/qapi/opts-visitor.h
2017-01-19 13:23:48 +08:00
Nguyen Anh Quynh
d836ec62fc
del qemu/include/hw/irq.h
2017-01-19 13:14:15 +08:00
Nguyen Anh Quynh
a154b251e3
cleanup
2017-01-19 12:18:46 +08:00
Nguyen Anh Quynh
7512ff57de
more cleanup
2017-01-10 16:29:47 +08:00
Nguyen Anh Quynh
c1f39c3db2
cleanup qemu/util code
2017-01-10 12:57:12 +08:00
Nguyen Anh Quynh
16894fdb6c
cleanup some qemu/util code
2017-01-09 15:48:21 +08:00
Nguyen Anh Quynh
52cb0ba78e
cleanup more synchronization code
2017-01-09 14:05:39 +08:00
Nguyen Anh Quynh
d7ead1135d
cleanup
2017-01-09 13:28:28 +08:00
Nguyen Anh Quynh
2e8fa1dbf6
glib_compat: add guint64 type
2017-01-02 01:24:54 +08:00
Nguyen Anh Quynh
520f335a2a
glib_compat: lift string functions from glib. remove unused API g_win32_error_message()
2016-12-26 22:36:47 +08:00
Nguyen Anh Quynh
c5b8fbfbc6
glib_compat: FALSE = 0
2016-12-26 22:02:34 +08:00
Nguyen Anh Quynh
e4382c0467
glib_compat: lift hash functions from glib
2016-12-26 20:12:01 +08:00
Nguyen Anh Quynh
fba6046fd0
glib_compat: lift g_list_sort() & g_slist_sort() from glib code
2016-12-26 18:32:02 +08:00
Nguyen Anh Quynh
6b57da1fc2
glib_compat: make the API compatible with glib
2016-12-26 01:35:42 +08:00
Nguyen Anh Quynh
5777c4f3fd
Merge branch 'noglib' of https://github.com/unicorn-engine/unicorn into noglib
2016-12-22 12:13:53 +08:00
Nguyen Anh Quynh
9371ae7dd7
cleanup glib_compat
2016-12-22 12:13:31 +08: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
bfaf8f3441
add g_free to make future integration easier
2016-12-20 12:27:15 -08:00
Chris Eagle
f8f9e993a8
merge upstream/noglib and update some glib related types
2016-12-19 12:32:06 -08:00
Chris Eagle
e07e57a862
battling git
2016-12-19 12:10:02 -08:00
Chris Eagle
71bda8e012
stick to gint/guint rather than int32_t/uint32_t
2016-12-19 09:43:35 -08:00
Chris Eagle
e46545f722
remove glib dependency by provide compatible replacements
2016-12-18 14:56:58 -08:00
Fish
ad7ae63e92
Remove unmapped/freed memory regions from the object property list.
...
This commit fixes the following issues:
- Any unmapped/free'd memory regions (MemoryRegion instances) are not
removed from the object property linked list of its owner (which is
always qdev_get_machine(uc)). This issue makes adding new memory
mapping by calling mem_map() or mem_map_ptr() slower as more and more
memory pages are mapped and unmapped - yes, even if those memory pages
are unmapped, they still impact the speed of future memory page
mappings due to this issue.
- FlatView is not reconstructed after a memory region is freed during
unmapping, which leads to a use-after-free the next time a new memory
region is mapped in address_space_update_topology().
2016-10-20 03:48:58 -07:00
Nguyen Anh Quynh
8b030ae51a
fix for issue #523
2016-08-27 21:49:11 +08:00
Andrew Dutcher
1f5d14df4d
Port patch from upstream to check for invalid long double encodings
2016-08-20 11:31:46 -07:00
Chris Eagle
9467254fc0
strip out per cpu thread code
2016-03-25 17:24:28 -07:00
Ryan Hileman
230cbd5330
add permissions to map_ptr api
2015-11-28 11:28:31 -08:00
Ryan Hileman
6d21ebabea
implement host-controlled memory mapping for #261
2015-11-27 23:30:36 -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
cherepanov74
2fc483ec47
Fixes crash on Windows 64bit
2015-09-14 20:42:29 +02:00
Nguyen Anh Quynh
b8d4240240
solve merging conflict
2015-09-03 18:05:21 +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
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
3b5df362d7
chmod -x <some source code>
2015-08-28 18:12:56 +08: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
344d016104
import
2015-08-21 15:04:50 +08:00