aboutsummaryrefslogtreecommitdiff
path: root/lib/arm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove dead code for Vita: pc_callbackReiko Asakura2021-03-211-1/+0
|
* Align Thumb jump patch to halfword boundaryReiko Asakura2021-03-212-6/+5
| | | | No need to align to word boundary.
* Fix wrong T bit in BLX(imm)->BLX(reg) transformReiko Asakura2021-02-172-2/+3
|
* Fix uninitialized variable in ARM32 transform_dis_branchYifan Lu2016-11-251-0/+2
|
* Changes to reflect older changes in mergeYifan Lu2016-11-231-2/+3
|
* Fixed defination of CC_CBXZ collides with other bitsYifan Lu2016-11-233-11/+30
| | | | | | | | | Fixed incorrect pc value in tdctx_to_actx Fixed ARM32 handling of CC_CBXZ (uses incorrect field in ctx->base) Fixed ARM32 transform_dis_branch incorrectly trashing LR for non-call based jumps Fixed ARM32 make_jump_patch not updated to use new assemble_ctx Added new option SUBSTITUTE_RELAXED to relax the disassembly engine Currently SUBSTITUTE_RELAXED only disables TRANSFORM_DIS_REL_JUMPS so jumps at the beginning of functions are allowed
* Merge branch 'master' of https://github.com/comex/substituteYifan Lu2016-11-233-22/+35
|\
| * fix some ARM stuff including calls, and test itcomex2016-11-153-15/+35
| | | | | | | | wow this code sucks
| * Fixed extraction for BL/BLX thumb2Yifan Lu2016-11-031-4/+4
| |
| * Bad handling of t2 BL/BLXYifan Lu2016-11-031-2/+2
| | | | | | | | Fixes #1
* | Fixed proper encoding of PUSH (STMDB) as ARM manual was wrong...Yifan Lu2016-11-131-1/+1
| |
* | Added ARM PUSH multi instruction assemblyYifan Lu2016-11-032-1/+8
| |
* | Implemented call rewrite support, fixes #3Yifan Lu2016-11-032-1/+16
| |
* | Made ARM patch alignment 0x4 so copy from kernel to user worksYifan Lu2016-11-032-2/+4
| |
* | Fixed extraction for BL/BLX thumb2Yifan Lu2016-11-031-4/+4
| |
* | Bad handling of t2 BL/BLXYifan Lu2016-11-031-2/+2
| | | | | | | | Fixes #1
* | Fixed warning about unused functionYifan Lu2016-10-231-1/+1
|/ | | | Fixed warning about incompatible types
* A number of critical fixes painstakingly discovered in the slowest way possible.comex2015-03-014-9/+15
|
* Add unaligned read/write functions.comex2015-02-244-4/+4
| | | | | | | I thought I could get away without since I wasn't (presently) targeting systems without hardware support for unaligned accesses, but on armv7 clang insists on optimizing into the one ARM instruction that requires alignment anyway - LDM/STM. Oops. Damnit, clang.
* Ban calls within transform regions in threadsafe mode.comex2015-02-234-13/+36
|
* various fixescomex2015-02-181-0/+1
|
* Trampoline fixes.comex2015-02-141-0/+4
| | | | | | | | | | | | | The transformed code was incorrect because it assumed the pointer it was writing to was where the code would execute, but it was actually 'rewritten_temp'. Changed transform_dis_main to take a pc_trampoline pointer, which also helps the test harness. However, this means that it has to be called after the trampoline has been allocated, while before the trampoline allocation depended on the generated size; this change doesn't bother to use two passes or anything, but just allocates a new code buffer if the maximum possible size isn't available - not the end of the world, since trampoline_ptr will still only be increased by the actual size before the next hook in the series (if any).
* call vs. branch fixes on ARM (though really I should just ignore calls)comex2015-02-091-3/+1
|
* Fix a broken bit test.comex2015-02-091-1/+3
|
* morecomex2015-02-092-26/+34
|
* Fix other architectures compiling - haven't tried *running* anything..comex2015-02-084-42/+52
|
* Refactor disassembly so x86 works, and add x86 transform-dis.comex2015-02-084-57/+61
| | | | | | | | | | This patch is a monolithic mess, because I was too lazy to do the refactor first (that would require some stash fun, since I wasn't actually sure before doing x86 transform-dis what would be needed). Anyway, the resulting code should be cleaner - less duplication. This breaks ARM/ARM64.
* starting x86 supportcomex2015-02-082-3/+4
|
* Make the ARM branches actually go to the right place. I need automated ↵comex2015-02-032-3/+4
| | | | tests before stable.
* whoops, don't mean to always jump to thumb modecomex2015-02-011-1/+1
|
* fix my utter failure to handle branches/conditionals correctly (on ARM)comex2015-02-017-55/+213
|
* fixescomex2015-01-251-2/+0
|
* it compiles...comex2015-01-244-57/+64
|
* ...comex2015-01-244-97/+129
|
* minor cleanup - stop caring about thumb outside of arch-specific codecomex2015-01-213-9/+12
| | | | | (and fix makefile bug where files whose names contained 'arm' would always be ldid'd)
* some reorganizationcomex2015-01-196-0/+690