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-mips/op_helper.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-mips/op_helper.c
|
6657678c3d86395084f6a699e73614195f06c445 |
|
24-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Introduce CPUState. This patch splits the definitions previously found in CPUArchState, to place some of them in a common data structure called CPUState, to mirror upstream. Note that upstream also makes CPUState a complete QOM object that derives from DeviceState / DeviceClass, but this patch doesn't do that. That's why the target-*/cpu-qom.h files, as well as include/qom/cpu.h are not the real ones from upstream yet. Future patches will get rid of CPUOldState, which is currently used as an alias for CPUArchState, but will be replaced entirely by CPUState, requiring changing the signature of many functions to match upstream. QOM-ification will probably happen after that, but may require a few more patches due to layering / coupling issues. Change-Id: Ifc33f8abe2aa80b20da13f5c83c109e37aff7e11 Conflicts: cputlb.c target-arm/op_helper.c target-i386/op_helper.c target-mips/op_helper.c
/external/qemu/target-mips/op_helper.c
|
e6125dec823c2725c6b494378a7acd5b6c33aa4f |
|
04-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
softmmu: Pass env to load/store routines. Also define __ldl_mmu et al. in cputlb.c because the TCG-generated code still calls these directly. Note that these will go once we actually upgrade TCG to a more recent version. Change-Id: Id1983a9f16f64a28c089e458c79f74ac065bf66c
/external/qemu/target-mips/op_helper.c
|
6cca40ecfdecbf496d5f07681e4b619f48db2f4d |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Remove dyngen-exec.h usage. Change-Id: I9986666898ba14fb5e9a36805385e6f687f74e4f
/external/qemu/target-mips/op_helper.c
|
cd35ed2793febb8f8fa19ad4e0052dba915d7c88 |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Pass env to atomic load/store helpers. IMPORTANT NOTE: This contains a gross hack to route around a very nasty GCC 4.6 compiler bug (on Linux), that prevented helper_ll() from being compiled correctly, resulting in failure to boot a valid MIPS system image!! Change-Id: I20f084e3966a7160cd283f2aa4d391799abc667c
/external/qemu/target-mips/op_helper.c
|
65b44d50a84dd1272547c001ea5ecca62879e9aa |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Pass env to internal helpers. Change-Id: Ia57cbacb7520d8747a844f74826879ea40265cb1
/external/qemu/target-mips/op_helper.c
|
26efe758c079d8be435ec74470731237cd777c1d |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Pass env to MIPS MT helpers. Change-Id: Id238063e31dd54f8c7e7ae5f5b9c054136c4d87f
/external/qemu/target-mips/op_helper.c
|
06978cc902013686f4443582e55361f0d86fbc2e |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Pass env to coprocessor helpers. Change-Id: Ia673b0a09e966e3f8ccbab7ab27ec799d102ae88
/external/qemu/target-mips/op_helper.c
|
5c5a6e13ddb15cd1178071c60f0f22d265819021 |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Pass env to multiplication helpers. Change-Id: I1b1b534a9e231743ad258c9ff132d64c1ca390e6
/external/qemu/target-mips/op_helper.c
|
87350d189097667bf170a57ee54347498511dfb6 |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Pass env to FPU helpers. Change-Id: Iac18a07f8ad4400932395973c03e6ff5b0a0dacd
/external/qemu/target-mips/op_helper.c
|
d62e538a5a9627bb1306ba14130699aaba9b585f |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Pass env to non-atomic load/store helpers. Change-Id: Ia652eb3212eb05e4bf726b1372fbee9624aa05a3
/external/qemu/target-mips/op_helper.c
|
d5b76c63cc364a51cfd4ba45e2449c907a0a2e97 |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Pass env to special functions #2 Change-Id: I1105f12059a25542503478fde35253709354f867
/external/qemu/target-mips/op_helper.c
|
6480c96e71da41f7600478bc0d809f737090b35f |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Pass env to special helpers. Change-Id: I269c53d4d26a60dd1b311ffcc58c3ec2d890207b
/external/qemu/target-mips/op_helper.c
|
758fa08712c9b1075c49adf86fd0a24c8fdb30ec |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Pass env to TLB helpers Change-Id: Iea68dbfa2dfc4ff72d21f4bb71775229e2ed3f8f
/external/qemu/target-mips/op_helper.c
|
589fe9bc37aebf62e6d80c371d47a19e52a5f58a |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-mips: Ensure do_unaligned_access() takes CPUArchState parameter. Small cleanup to prepare for bigger ones. Change-Id: I6ec45cc32a5d83283963fbf79099a76ede1b7d1f
/external/qemu/target-mips/op_helper.c
|
eb3bc46a1a876f279b06d7372bf5866fbcf4e8f8 |
|
21-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
exec/softmmu*: Misc fixes. Upstream 2050396801ca0c8359364d61eaadece951006057 Upstream b065927a02cbbaca032ed20d3039baca0914165c Change-Id: I5b484ed026f8755804d443d45be2e96010cef60a
/external/qemu/target-mips/op_helper.c
|
811b0299ba969b708c7c15b50ebe205b87877a08 |
|
20-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
mips: Synchronize CP0 TCSTatus, Status and EntryHi Upstream fe8dca8c3c70d079804ce92e1c0a503fb57020d0 Change-Id: I42c294c182b31cfaaaec701438b9bcd82dfa7b9a
/external/qemu/target-mips/op_helper.c
|
c8ba4e8ec5a6b3ff95dcd7d2c61d88363e5699ba |
|
20-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
mips: Handle TC indexing of other VPEs Upstream b93bbdcd69819cdbcb7e3be54b789be94bda0ff1 Change-Id: I85a18a1a3bbb8758bdfc6206521965885726b726
/external/qemu/target-mips/op_helper.c
|
0d8b235c0c6c02de86a4e7415d574175b4518ff0 |
|
20-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Large page TLB flush + Remove unused is_softmmu parameter. Upstream d4c430a80f000d722bb70287af4d4c184a8d7006 Upstream 97b348e7d221c94ddde609346407bd2cd6f85044 Change-Id: I7ccc6a8ffc040f91a58a3206d95417d22001b67b
/external/qemu/target-mips/op_helper.c
|
a889d35e76c8ea18caf70c738fd585c64b857369 |
|
20-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
target-*/exec.h cleanup This patch gets rid of target-*/exec.h headers by moving the corresponding definitions either inside target-*/op_helper.c, or dyngen-exec.h for the global register-based 'env' value, which will be removed in future patches. Upstream 3e4571724fb92c77de81d8b54957de8232be6706 Change-Id: I513d5c27c01c6dc727c1ce6fb7f3a7a5dc03800f
/external/qemu/target-mips/op_helper.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-mips/op_helper.c
|
6cf763a179bb432ef845025bb3639fcaf1251bd0 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Fix unassigned memory access handling Upstream b14ef7c9ab41ea824c3ccadb070ad95567cca84e Change-Id: Ia198f76ad4277469a96eb79cf495e80f9d4b6196
/external/qemu/target-mips/op_helper.c
|
6d1afd3bf737fe15c9ba2a23c2f957ae8ff2e663 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
softmmu_template: Pass CPUArchState to tlb_fill. See upstream patch bccd9ec5f098668576342c83d90d6d6833d61d33 Change-Id: I889d8922d355bade60ae5c8cd00723692218a9c1
/external/qemu/target-mips/op_helper.c
|
3e0677df2819b1366819fe4112dc8464425b6eda |
|
07-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
translate-all.c: Multi-level page maps. This brings translate-all.c to a state much closer to upstream. The major difference is the implementation of multi-level page tables (for PageDesc and PhysPageDesc entries). This is a preliminary requirement to handle 64-bit address spaces properly. + Move cpu_interrupt() from exec.c to translate-all.c Change-Id: I12f17cc92faa51cf6eb9ceba2be4b29817eed5fe
/external/qemu/target-mips/op_helper.c
|
fa32c32d65a3082d4e06a1ba0e48eb40be27e7e0 |
|
26-Feb-2014 |
Chris Dearman <chris.dearman@imgtec.com> |
[MIPS] Fix cpu_mips_translate_address return value The cleanups in a2c14f947951612b45024095afd2210aa7368773 fixed a bug in the error handling path of do_translate_address(). In turn this exposed a bug in cpu_mips_translate_address() which was always returning an error that do_translate_address() had ignored. The cleanup change to do_translate_address() was reverted in 28a24c94e7350a80d5e7e186289cde6a1300bdfb, but fixing cpu_mips_translate_address() is the correct thing to do. Change-Id: I442d71130b758fdbe8e864dcba0ba3141b0fe225
/external/qemu/target-mips/op_helper.c
|
c005246ed03de874fdc432073ba8e5e8ebfed922 |
|
25-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Remove trailing spaces in misc sources. Change-Id: I573d4e816112b7401b3c824fbe773b85a8601531
/external/qemu/target-mips/op_helper.c
|
80ba4166f5ad86cb50a0b0c1c63de06740729065 |
|
19-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Fix mips emulation regression. This patch fixes a regression that prevented MIPS emulation from working properly. It was introduced by a patch that was supposed to only fix compiler warnings, but actually modified the bitness of a comparison: https://android-review.googlesource.com/#/c/80825/ Change-Id: Idee41319288d9f299fa924b1a6da40f3dcbdae26
/external/qemu/target-mips/op_helper.c
|
85c62200dbdb7ced04b34cb228098b888a8cd828 |
|
16-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
include/exec: Mist minor integrations. Change-Id: I4b775eac3ef81f466cebd52ecbaab2c94494944f
/external/qemu/target-mips/op_helper.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-mips/op_helper.c
|
a2c14f947951612b45024095afd2210aa7368773 |
|
04-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Cleanup: Remove 100+ compiler warnings. This is a big cleanup that removes compiler warnings by performing the following: - Remove unused functions or variables. - Change pointer cast to be alias safe using unions. - Use __attribute__((unused)) on some local variable definitions when their usage depends on conditional defines that are not always true when compiling the same source several times. - Fix a couple array indexing bugs. There are still a few warnings from the JSON lexer, libjpeg and the TCG helpers though, but the overall compilation is much cleaner. BUG=NONE Change-Id: Ic4483e6402b266ecfd7bca8c92a73d8fcf392a1f
/external/qemu/target-mips/op_helper.c
|
bcde1092aca184dbd7860078af020de7d1e4e22f |
|
09-Jan-2014 |
David 'Digit' Turner <digit@android.com> |
rename target_phy_addr_t to hwaddr to match upstream. Upstream got rid of the target_phys_addr_t and replaced it with 'hwaddr', so do the corresponding rename here. Note that: - This also renames <exec/targphys.h> to <exec/hwaddr.h> - Upstream always deins hwaddr as a 64-bit type, while the size of our own hwaddr is still controlled by TARGET_PHYS_ADDR_BITS, and will be 32 for now. A future patch will change the type definition to fully match upstream, but it is more risky / requires more cleanups. It's simply cleaner / simpler to put the related work in a separate patch, given the large number of sources touched by the current change. Change-Id: Iee30869a57798c12109b6a23570b166232bb9244
/external/qemu/target-mips/op_helper.c
|
852088c7e08182c2de563872d558309815cbfa0d |
|
14-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move headers to include/exec/ Change-Id: Ife43f9cd12a02aa98f408043b0cccb9fe45a9ff7
/external/qemu/target-mips/op_helper.c
|
e90d665cd63a0bc5c3306e1ee3e98ad362546b16 |
|
14-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move more stuff to include/qemu/ and util/ Change-Id: I3d10ae4d5b050f7da565476e2c0f6be5d3348f5d
/external/qemu/target-mips/op_helper.c
|
55ff318b4e5382074e2049c996cb6df1041aff1b |
|
03-Aug-2012 |
Chris Dearman <chris@mips.com> |
[MIPS] Speed up software refill handler Emulating each instruction of the software refill handler has a significant impact on the overall performance of QEMU because of the overhead of emulating the various CP0 instructions to accurately reflect the machine state. Running the software TLB handler takes the equivalent of 1000's of machine cycles. This patch implements a pseudo hardware TLB refill handler that significantly reduces the impact of refilling the TLB to bring it more inline with what would be observed on a real target. Signed-off-by: Steven Hill <sjhill@mips.com> Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Yajin <yajin@mips.com.cn>
/external/qemu/target-mips/op_helper.c
|
342a01fc826881e6b12b7673c7d2c280295f4d9e |
|
21-Jun-2012 |
Duane Sand <duanes@mips.com> |
[MIPS] Fix startup segfault in emulator64-mips Avoid truncation of 64-bit host addresses for 32-bit Mips physaddrs. Revert workaround I17fe688d19e3cd7f328721e6363bacd6e6689ca; allow emulator to again default to emulator64-mips. Change-Id: I0c83d8bf60fc52a758b84d8131b2bad53375aa61 Signed-off-by: Duane Sand <duanes@mips.com>
/external/qemu/target-mips/op_helper.c
|
5b954e623db71d3df2d9af1825ec3815137a06a7 |
|
01-Feb-2012 |
Bhanu Chetlapalli <bhanu@mips.com> |
[MIPS] Clear softfpu status before emulating FPU instructions This applies to round, trunc, ceil and floor instructions Change-Id: I4a5f1619ecd8fe2d7ce508f8e569be129a8b1e34 Signed-off-by: Chris Dearman <chris@mips.com>
/external/qemu/target-mips/op_helper.c
|
325e19d19ff9e1fc9c6acb12eeb754563fc2e251 |
|
01-Feb-2012 |
Bhanu Chetlapalli <bhanu@mips.com> |
[MIPS] Tweak MIPS support to work in Android qemu framework Change-Id: Icd617cb91fe87a6f88566dd57b6405b216ca3570 Signed-off-by: Chris Dearman <chris@mips.com>
/external/qemu/target-mips/op_helper.c
|
409c7b66435cf5947cab6bf0710f92507317f22e |
|
01-Feb-2012 |
Bhanu Chetlapalli <bhanu@mips.com> |
[MIPS] Import MIPS target support From v0.12.5 tag at git://git.sv.gnu.org/qemu.git CommitID: 174f225e9d62e8f3002e274e4f718bd2a967fbf4 Change-Id: I35b49a4319cee4b69cf9da4e5af1f43327e21056 Signed-off-by: Chris Dearman <chris@mips.com>
/external/qemu/target-mips/op_helper.c
|
55f4e4a5ec657a017e3bf75299ad71fd1c968dd3 |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/external/qemu/target-mips/op_helper.c
|
413f05aaf54fa08c0ae7e997327a4f4a473c0a8d |
|
12-Jan-1970 |
Upstream <upstream-import@none> |
external/qemu 0.8.2
/external/qemu/target-mips/op_helper.c
|