c3b504f4c434a24513336fba2c6dff2d9ff43f28 |
|
04-Jul-2014 |
David 'Digit' Turner <digit@google.com> |
Fix emulation. The previous patch removed the memcheck feature, but a subtle bug prevented emulation from working correctly. Fix this. Change-Id: I68d16b1d4c36b2c538376fc059f068775d4201be
/external/qemu/target-arm/translate.c
|
0e5ff1bd3073e3847ac8400ba46814878beb8605 |
|
04-Jul-2014 |
David 'Digit' Turner <digit@google.com> |
memcheck: Remove feature entirely This patch removes the memcheck feature from the Android emulator code base. This is for several reasons: - Supporting the feature impacts many QEMU-specific emulation files in subtle ways, that make it difficult to refactor this code to integrate upstream changes. - The feature only works for ARM (32-bit), has no unit tests, and generates massive amounts of false positive messages coming from the platform. - Barely anyone uses it. This feature might make a comeback in the future, but this will be under a different life-form that will have adapted to the new state of the code. + As a bonus, fix the build! Change-Id: Idd19a3bc7923379cb1e82850f14499549b6a991b
/external/qemu/target-arm/translate.c
|
86b1fb06ee6ef53d8961ce96343ba4aa37518840 |
|
21-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
tcg: Upgrade to upstream version. This switches the full TCG implementation to the upstream version from the following upstream commit: 1a8e80d7e82aa385ad887dba5d039e399a18264b Note that this requires completely reqwriting the softmmu_template.h declarations to adapt to the new world order where all ld/st helpers now accepts a CPUArchState* value as their first parameter. + This also gets rid of the REGPARM macro, which means that on i386, parameters are now passed on the stack instead of using registers. As surprising as it is, this doesn't seem to affect emulation performance in significant ways when starting the emulator with -force-32bit, compared to the latest SDK emulator binary. This may be due to the improved binary translator. Note that this doesn't switch the emulation to use the new MemoryRegion API, so there are still a few minor differences with upstream softmmu_*.h headers. The target-*/ sources have been minimally modified to accomodate for the changes, and everything seems to work. However, not that CONFIG_ANDROID_MEMCHECK_MMU hasn't been tested yet. + get rid of obsolete softmmu_outside_jit.c NOTE: There are two important differences with the upstream sources: - An '#undef small' in tcg.c used to build the Windows binaries with mingw32 on Linux. - The declaration of cc_compute_all and cc_compute_c helpers in target-i386/helper.h use TCG_CALL_NO_SE instead of TCG_CALL_NO_SE_RWG. Otherwise, it's impossible to boot an x86 system image properly. Change-Id: I6ed5c58f237493d29b1cefaff3e0db6f58977fbf
/external/qemu/target-arm/translate.c
|
bf7a22f3a6c38d359d2e933dec4706d1c7375f0a |
|
25-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Move cpu_xxx functions to qom/cpu.h This patch moves a few CPU-releated function declarations to include/qom/cpu.h, while changing their signature to take a CPUState instead of a CPUOldState. Change-Id: I5f09b522dc755be334973a27f58b6704fbccc4c6
/external/qemu/target-arm/translate.c
|
fed223d2bab55eda155e3463b9cb6966e69dd73c |
|
24-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Move singlestep_enabled to CPUState. The previous patch forgot to move this field from CPU_COMMON to CPUState, so do it here. Change-Id: I71ed4605c939eb6c23d3e70b08ea89e59842cdd0
/external/qemu/target-arm/translate.c
|
0b4c9e8457959b01cd26f60ef214e9b5b7a297d4 |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-arm: Get rid of dyngen-exec.h usage. This patch modifies the helpers for the ARM target to ensure that the CPUARMState, when needed, is always passed explicitly as the first parameter, instead of relying on a global register variable. Change-Id: Ic6c588be92bd3eef3b2a2063992028bce44c8a23
/external/qemu/target-arm/translate.c
|
c4e7d8228a1f893b3a5a639da5b99b53720224bd |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-arm: Remove AREG0 usage from IWMMX helpers. This also gets us to the upstream version of iwmmxt_helper.c Change-Id: Icb94de2e69eed7177266f0c22c4e761ae8ba964c
/external/qemu/target-arm/translate.c
|
cf2ea59d58aa0a4eefd75827ce9c9cc6b718f65b |
|
19-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
target-arm: UNDEF on a VCVTT/VCVTB UNPREDICTABLE to avoid TCG assert Upstream 7ec7f28019dff4ab00ff907f7b4e7261da593279 Change-Id: I18ee6240766354a932f29388853beaa3cf5f0aab
/external/qemu/target-arm/translate.c
|
97c98d3448da9d3fad00545063fb6cd2d2980acc |
|
19-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
target-arm: Handle UNDEF and UNPREDICTABLE cases for VLDM, VSTM Upstream 31b13080462de35343e0b3eca868e7868fcb78f7 Change-Id: I2567744476fadde705ba77e7bfdaa45cedea7155
/external/qemu/target-arm/translate.c
|
60148dcfccd177ca1dd47fe5292584b44a70df87 |
|
19-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
target-arm: Support v6 barriers in linux-user mode Upstream 4ec648dd6ed97182d123e0df5bc5012c734aa858 Change-Id: I94d10fc296167f3392fde7bdfbb88782159bf2f6
/external/qemu/target-arm/translate.c
|
d9ac10a8a8351cb852c660e77dbe361365d3a8a7 |
|
19-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
target-arm: Minimal implementation of performance counters Upstream 74594c9d813e4d14e9c16cc71824d8905bedc19d Change-Id: I12de83c519f3170514771c926ea88102009c26bf
/external/qemu/target-arm/translate.c
|
3d323dda130b16c690a78f08b7f766becb84914f |
|
19-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
target-arm: Remove global env in neon_helper.c Upstream 02da0b2d7152f736b1fba95902f55db4fd7ea3a5 Change-Id: Icd74332c0e65a89110bc73471b4cec6ccfec5d61
/external/qemu/target-arm/translate.c
|
16998987568fa923e463d41735dcf5c1b28220b9 |
|
18-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
target-arm: Pass fp status pointer explicitly to neon fp helpers Upstream 5aaebd13da29a7157b757590284664dc42ea6a69 Upstream ae1857eca22b58d430941730bd097e95a484652c Upstream aa47cfdd178d8ea96b6e2f550742ddbb445fdacb Change-Id: I4a4eac8e4596f5faffb8ee3bcf39f8ef89590824
/external/qemu/target-arm/translate.c
|
26d285dfa9f482e5b2f6d6df2bcb0eaed06cb1a9 |
|
18-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
tcg: Use hash table + static table for helpers. This changes the registration of helper functions inside of TCG to: - Use a GHashTable to store the map from helpers to function names. - Move the helper registration from targets to tcg. - Merge tcg_register_helper into tcg_context_init. Note: this makes TCG more dependent on target helper.h headers, it adds significant coupling, but so be it. Upstream 7c57df0d852a9a9faf9068ff235886c8b28b113e Upstream 6e085f72c6d331fb0e9fc69e3061cd1e5893d9e4 Upstream 5cd8f6210f83db15702e81b91e40e7079608e6f3 Upstream 100b5e0170e86661aaf830869be930a1a201ed08 Upstream 84fd9dd3f78ced9d41e1160d43862bb620cb462a Change-Id: Ie0877cf9a62451d89881e882d06d04456e5abe1b
/external/qemu/target-arm/translate.c
|
eca7bc24e45fb6809582795ff88f13384b5ce7df |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
softmmu_header.h: Pass CPUArchState to helper routines. This patch modifies the functions defined in softmmu_header.h to accept a CPUArchState as their first parameter, then it adjusts every caller appropriately. This gets up closer to upstream, and remove the obsolete softmmu_outside_jit.h that was used to do the same thing. Change-Id: I9eef01e95b7233c8c6f6da43d17262b9a9ebcd99
/external/qemu/target-arm/translate.c
|
5bb450ee9cc5da0c6582e63f41c504c7861e2788 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Rename CONFIG_MEMCHECK to CONFIG_ANDROID_MEMCHECK Change-Id: I9b0edcc1e243111f86f18c22eecbebb23219c297
/external/qemu/target-arm/translate.c
|
975bba804aed54452f774cdbf79a7b4732fc7696 |
|
17-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Augment TCGContext. This moves many static buffers into the TCGContext data structure to match upstream. This shouldn't affect performance. Change-Id: Ib1fc7cf2baef155f1eaadbf9bfd9e2d381606a07
/external/qemu/target-arm/translate.c
|
171dd0bf53f93e64b71d3edc958e15f40c96748d |
|
04-Feb-2014 |
David 'Digit' Turner <digit@android.com> |
Remove CONFIG_TRACE support. It was limited to ARMv5, and didn't work correctly. Moreover, it made integrating upstream changes difficult, so remove it for now. Change-Id: I7da7a1e00b241d452c6dff5a318ccfedc5d7a8a4
/external/qemu/target-arm/translate.c
|
e2678e116c8cdb0f36b247a5bd9cfacc849362fc |
|
16-Jan-2014 |
David 'Digit' Turner <digit@android.com> |
Rename CPUState to CPUOldState. Upstream qemu has split the cpu state into two new data structures: CPUState -> is used to model the CPU state through the QEMU object model. CPUArchState -> actually a macro that aliases CPUArmState, CPUX86State or CPUMIPSState. Both were part of the "CPUState" in the current emulator sources. Previous patches introduced CPUArchState, as a simple alias to the machine-specific state. This patch renames any use of CPUState in the current code to CPUOldState, except within target-*/ directories where it is replaced by CPU${ARCH}State instead. This will allow bringing the upstream CPUState definition in the source tree, and slowly migrate everything to the right location. Change-Id: I88b79e6e89f1f36084dc2642e1cf415135e4da09
/external/qemu/target-arm/translate.c
|
0dc43a9a7d4ed798d2c53792fe30a907f81d7615 |
|
16-Jan-2014 |
David 'Digit' Turner <digit@android.com> |
disas.c: upstream integration. Change-Id: I64d91412a766abfe8ee0b530ed7cd5f2be63b91f
/external/qemu/target-arm/translate.c
|
e1e03df288d5a44bfbffbd86588395c7cbbc27df |
|
15-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move more headers. cbuffer.h, charpipe.h -> include/android/ cbuffer.c, charpipe.c -> android/ qemu_debug.h -> include/android/qemu-debug.h block.h, block_int.h -> include/block/ elf.h -> include/ hax.h -> include/exec/ qemu-lock.h -> include/exec/spinlock.h readline.h -> include/monitor/readline.h qemu-common.h - include qemu-barrier.h -> include/qemu/atomic.h qemu-log.h -> include/qemu/log.h Change-Id: I86b998932461caa35d347cd71b40bd6e4ec7d84d
/external/qemu/target-arm/translate.c
|
cc33b2d8035092608c7cba4154e9c44452727e1b |
|
15-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move disas.h to include/disas/ + dis-asm.h -> include/disas/bfd.h + arm-dis.c -> disas/arm.c ppc-dis.c -> disas/ppc.c i386-dis.c -> disas/i386.c mips-dis.c -> disas/mips.c + remove all unused .ld scripts Change-Id: Ie29662b83c09ea17d34e42dda3998691c182b10e
/external/qemu/target-arm/translate.c
|
852088c7e08182c2de563872d558309815cbfa0d |
|
14-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move headers to include/exec/ Change-Id: Ife43f9cd12a02aa98f408043b0cccb9fe45a9ff7
/external/qemu/target-arm/translate.c
|
5285864985be9077e58e42235af6582dee72e841 |
|
03-Jun-2011 |
David 'Digit' Turner <digit@android.com> |
target-arm: integrate upstream ARM translator. The new translator has the following benefits: - faster emulation of ARMv5TE code (through improved JIT) - proper support for ARMv7 and NEON - rebuilding the full-eng platform images for ARMv7-A results in additionnal speed increases (a.k.a. Thumb-2 rocks!). Note that, as an interesting side effect, NEON machine code is generally slower than the equivalent C code it is supposed to replace when run inside the emulator. This can be explained by the fact that for now the translator simply translates each NEON instruction into a series of sequential host instructions (and also requires over-head for packing/unpacking/saturation/ etc...). This change has been tested by running the "full-eng" platform image rebuilt for ARMv7-A and Neon and using an appropriate kernel image (prebuilt/android-arm/kernel/kernel-qemu-armv7). The system could boot and seems to work perfectly. Not a single issue has been experienced during testing. On a 2.4 GHz Xeon CPU, the image boots in about 25 seconds (compared to 40 seconds for a vanilla one without this emulator patch). Thanks to Peter Maydell at Linaro and ARM with his hard work to make this happen (first in upstream, and now on Android). This integration is based on the Meego git repository (git://gitorious.org/qemu-maemo/qemu.git) using the following hash: 7e2d65b0c95c865b1fa6d3d4948e8e822b9ac2fd On top of which, the following upstream patch has been applied (with recommendation from Peter): b7fa9214d8d4f57992c9acd0ccb125c54a095f00 (We chose this repository because it was the closest to the previous integrate. We will probably use the Linaro ones for future work on this part of the emulator). Change-Id: I54837e3d2e908b2380d158411d7a9813630e7e4e
/external/qemu/target-arm/translate.c
|
288208c386810fef725aa448a9f46bd2772bec8c |
|
11-May-2011 |
David 'Digit' Turner <digit@android.com> |
target-arm/translate.c: move Android-specific stuff out. Change-Id: Id14c6b106dbac9b4016b7423327e9eb22e21fe75
/external/qemu/target-arm/translate.c
|
d3d4468189618e89f74d8f51b8470f277e000938 |
|
10-May-2011 |
David 'Digit' Turner <digit@android.com> |
translate-all.c: minor integrate
/external/qemu/target-arm/translate.c
|
8ee4e5ed2bf68384cd80ec5b958da4da164652ae |
|
09-May-2011 |
David 'Digit' Turner <digit@android.com> |
trace: simplify code and avoid conflicts Change-Id: I8f93e06038bd6e35a2972e3fef351046c247e4ee
/external/qemu/target-arm/translate.c
|
6bfc5c725a5d9b23eb829a9db3c0f0a4c38b5a4e |
|
06-Jan-2011 |
David 'Digit' Turner <digit@android.com> |
Fix tracing bug when built as 64-bit program. Change-Id: I523f4464cfbbd02aff93031660d2ee2f80d54921
/external/qemu/target-arm/translate.c
|
d9b6cb97a8a9e93f1bbe5351874b03f7faa81783 |
|
20-Oct-2010 |
David 'Digit' Turner <digit@android.com> |
Fix linux-x86_64 build. Fix various 64-bitness issues in the source code to make the --try-64 option work again on Linux. Note that the generated binary is not faster than its 32-bit variant when it comes to benchmarking the boot sequence. Change-Id: Iad248e033757d4cd25524a438a5dbe1cf3aca6cf
/external/qemu/target-arm/translate.c
|
4e024bb4f5c8aa8b07459f7fbd65c35122127fd1 |
|
22-Sep-2010 |
David 'Digit' Turner <digit@android.com> |
Remove compiler warnings when building the emulator. This forces -Wall during the build. Note that this patch doesn't remove all warnings, but most of the remaining ones are from upstream anyway. Change-Id: I8808d8495e99866e156ce5780d2e3c305eab491f
/external/qemu/target-arm/translate.c
|
a5d412078b8e7478d81df03710eacc7a21096ba2 |
|
11-May-2010 |
David 'Digit' Turner <digit@android.com> |
Upstream: Replace sys-queue.h with qemu-queue.h Change-Id: I5c51f54a7fe2ea702420429bbf0c789ed6d8c534
/external/qemu/target-arm/translate.c
|
a1204591a52bf668ee72c86f98f53189621572a2 |
|
02-Apr-2010 |
Vladimir Chtchetkine <vchtchetkine@google.com> |
Revert change I7af83e21c64d217c6b28bf6cb5ee2e2f23182c95 to fix Froyo build. Apparently, that change that supposedly fixed AT-related ARMv7 bug broke DexOpt step in the build process, resulting in trashed files that crash the device. Rolling this change back to fix Froyo, until cause of the DexOpt breaking has been found and fixed Change-Id: I33b417fcbd65767f7cfe60f5fb5ffa32610b4852
/external/qemu/target-arm/translate.c
|
ca52b2260ba9f9bac07092c3d8260ed523de1fe1 |
|
24-Mar-2010 |
Vladimir Chtchetkine <vchtchetkine@google.com> |
Make return address table independent from process context. Use physical addresses (instead of emulated ones) for registered return addresses. This way addresses will be independent from process context, as even if virtual addresses may overlap, the physical ones will not. Change-Id: If5be5174286be0a456c47c48812d7cc9bf19bc1f
/external/qemu/target-arm/translate.c
|
01e9608cb62901d13b330f851a260a2082e81a06 |
|
23-Mar-2010 |
Vladimir Chtchetkine <vchtchetkine@google.com> |
Fixes for obvious ARMv7 bugs in emulator. This CL doesn't fix ARMv7 problems in the emulator (emulated system still crashes, although with these fixes it crashes much later than without them), however, this CL fixes real bugs related to IT block translations. In particular, it fixes: - Wrong ITSTATE calculation on condition that gen_intermediate_code_internal is called with search_pc parameter set to 1. In the original code ITSTATE was blindly inherited from the CPU's condexec_bits field, without consideration that translation could be performed starting from an address that has nothing to do with the current ITSTATE. Change-Id: I7af83e21c64d217c6b28bf6cb5ee2e2f23182c95
/external/qemu/target-arm/translate.c
|
5389aa19033153c09556d1362a8b8a56abccb8f5 |
|
16-Feb-2010 |
Vladimir Chtchetkine <vchtchetkine@google.com> |
Merge memory checking from sandbox Change-id: Ibce845d0
/external/qemu/target-arm/translate.c
|
a577fcadc0b365ee629aec313f57a65d54fe5d89 |
|
16-Oct-2009 |
David 'Digit' Turner <digit@google.com> |
Fix the -trace emulator option. A critical test in the execution loop was missed in the latest huge integration. Also optimize slightly the basic-block start recording helper interface.
/external/qemu/target-arm/translate.c
|
3af4f6ae1fa6e06de1284fa1143cb8a485ac6437 |
|
09-Oct-2009 |
David 'Digit' Turner <digit@google.com> |
Fix upstream ARM emulation bug that broke singlestep mode. This fixes a really bad bug in the Thumb/Thumb2 ARM emulation related to conditional instructions execution. The issue was that the previous implementation did break badly if a page fault occured during the conditional instruction's emulation. Giving an example if probably the best way to demonstrate this. Consider the following two instructions: itt eq streq r0,[r4, #0] These two instructions mean, respectively: - If the Z flag is set, execute the next instruction. Otherwise ignore it - Store the value of r0 at the address pointed to by r4 In single-step mode (used when debugging the emulator), each instruction is separately JIT-ed and executed in a different pass. The 'condexec_bits' field of the CPU state if used to store flags corresponding to the conditional execution of up to 4 next instructions. When the first instruction is executed, it simply sets 'condexec_bits' to a specific value (4). When the second instruction is executed, things get slightly bit more funky because what happened was the following: - the JIT-ed code started by clearing the 'condexec_bits' right at the start of its sequence (a comment says "to avoid complications trying to do it at the end of the block", famous last words...) - a conditional test, based on the current value of the Z flag was added to skip over the rest of the instruction sequence - the store itself is implemented through a call to the __stl_mmu helper function. The thing is that __stl_mmu may implement a *page fault* (i.e. when the address in r4 hasn't been commited to memory yet) which requires a switch to kernel mode (to populate the page), then going back to the instruction's execution. This is done in the current implementation by re-running the JIT-er for the same instruction, however, since 'condexec_bits' was already cleared to 0, the new JIT-ed code sequence doesn't have the conditional test to skip over the store. The conditional instruction has been transformed into a non-conditional one due to the page fault ! This results in either bad behaviour or, even a crash in the emulator. The patch fixes the clearing of condexec_bits to happen as it should, i.e. only when execution has really cleared it. This is preliminary work to fix the -trace option. Also, disable the IO Thread when running the standalone emulator. This makes debugging much easier since everything happens in a single thread.
/external/qemu/target-arm/translate.c
|
ddf49e53df97a349f42c733059165dc73c9907dc |
|
05-Oct-2009 |
David 'Digit' Turner <digit@google.com> |
Workaround ARMv7 emulation issues. This patch is used to disable the code generator's liveness analysis pass when we emulate an ARMv7 CPU. This is required to properly run the dex preoptimization pass during the build of -user system images. Also includes: - a fix for a sad typo in target-arm/translate.c related to NEON instruction emulation - upstream improvements to the x86 and x86_64 backends to generate better goto branches at runtime - upstream fixes for 64-bit swap and shift operations in TCG After this patch is applied, re-enabling the ARMv7 memcpy should allow to run the dex preopt pass succesfully. Anything else is untested though. WE STILL NEED TO FIX THE CODE GENERATOR.
/external/qemu/target-arm/translate.c
|
5d8f37ad78fc66901af50c762029a501561f3b23 |
|
14-Sep-2009 |
David 'Digit' Turner <digit@google.com> |
Merge upstream QEMU 10.0.50 into the Android source tree. This change integrates many changes from the upstream QEMU sources. Its main purpose is to enable correct ARMv6 and ARMv7 support to the Android emulator. Due to the nature of the upstream code base, this unfortunately also required changes to many other parts of the source. Note that to ensure easier integrations in the future, some source files and directories that have heavy Android-specific customization have been renamed with an -android suffix. The original files are still there for easier integration tracking, but *never* compiled. For example: net.c net-android.c qemu-char.c qemu-char-android.c slirp/ slirp-android/ etc... Tested on linux-x86, darwin-x86 and windows host machines.
/external/qemu/target-arm/translate.c
|
80562525ca945d9e921eb49f96d52f1b5a0e693d |
|
20-May-2009 |
David 'Digit' Turner <digit@google.com> |
This should fix bad QADD/QDADD/QSUB/QDSUB emulation in the Android emulator
/external/qemu/target-arm/translate.c
|
013978687addfae64dbb8e8a179af10922bd2802 |
|
19-May-2009 |
Jack Veenstra <veenstra@android.com> |
Fix critical bug with emulator tracing where the basic block addresses were wrong. One of the calls to trace_add_insn() was missing a parameter and was passing in garbage. This parameter "is_thumb" is expected to be 0 or 1 and is OR-ed with the basic block address to distinguish ARM and Thumb instruction blocks.
/external/qemu/target-arm/translate.c
|
8b23a6c7e1aee255004dd19098d4c2462b61b849 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/external/qemu/target-arm/translate.c
|
f721e3ac031f892af46f255a47d7f54a91317b30 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/external/qemu/target-arm/translate.c
|
c27f813900a3c114562efbb8df1065e94766fc48 |
|
11-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@130745
/external/qemu/target-arm/translate.c
|
55f4e4a5ec657a017e3bf75299ad71fd1c968dd3 |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/external/qemu/target-arm/translate.c
|
413f05aaf54fa08c0ae7e997327a4f4a473c0a8d |
|
12-Jan-1970 |
Upstream <upstream-import@none> |
external/qemu 0.8.2
/external/qemu/target-arm/translate.c
|