aboutsummaryrefslogtreecommitdiff
path: root/lib/arm (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-03-21Remove dead code for Vita: pc_callbackReiko Asakura1-1/+0
2021-03-21Align Thumb jump patch to halfword boundaryReiko Asakura2-6/+5
No need to align to word boundary.
2021-02-17Fix wrong T bit in BLX(imm)->BLX(reg) transformReiko Asakura2-2/+3
2016-11-25Fix uninitialized variable in ARM32 transform_dis_branchYifan Lu1-0/+2
2016-11-23Changes to reflect older changes in mergeYifan Lu1-2/+3
2016-11-23Fixed defination of CC_CBXZ collides with other bitsYifan Lu3-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
2016-11-15fix some ARM stuff including calls, and test itcomex3-15/+35
wow this code sucks
2016-11-13Fixed proper encoding of PUSH (STMDB) as ARM manual was wrong...Yifan Lu1-1/+1
2016-11-03Added ARM PUSH multi instruction assemblyYifan Lu2-1/+8
2016-11-03Fixed extraction for BL/BLX thumb2Yifan Lu1-4/+4
2016-11-03Implemented call rewrite support, fixes #3Yifan Lu2-1/+16
2016-11-03Made ARM patch alignment 0x4 so copy from kernel to user worksYifan Lu2-2/+4
2016-11-03Fixed extraction for BL/BLX thumb2Yifan Lu1-4/+4
2016-11-03Bad handling of t2 BL/BLXYifan Lu1-2/+2
Fixes #1
2016-11-03Bad handling of t2 BL/BLXYifan Lu1-2/+2
Fixes #1
2016-10-23Fixed warning about unused functionYifan Lu1-1/+1
Fixed warning about incompatible types
2015-03-01A number of critical fixes painstakingly discovered in the slowest way possible.comex4-9/+15
2015-02-24Add unaligned read/write functions.comex4-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.
2015-02-23Ban calls within transform regions in threadsafe mode.comex4-13/+36
2015-02-18various fixescomex1-0/+1
2015-02-14Trampoline fixes.comex1-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).
2015-02-09call vs. branch fixes on ARM (though really I should just ignore calls)comex1-3/+1
2015-02-09Fix a broken bit test.comex1-1/+3
2015-02-09morecomex2-26/+34
2015-02-08Fix other architectures compiling - haven't tried *running* anything..comex4-42/+52
2015-02-08Refactor disassembly so x86 works, and add x86 transform-dis.comex4-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.
2015-02-08starting x86 supportcomex2-3/+4
2015-02-03Make the ARM branches actually go to the right place. I need automated ↵comex2-3/+4
tests before stable.
2015-02-01whoops, don't mean to always jump to thumb modecomex1-1/+1
2015-02-01fix my utter failure to handle branches/conditionals correctly (on ARM)comex7-55/+213
2015-01-25fixescomex1-2/+0
2015-01-24it compiles...comex4-57/+64
2015-01-24...comex4-97/+129
2015-01-21minor cleanup - stop caring about thumb outside of arch-specific codecomex3-9/+12
(and fix makefile bug where files whose names contained 'arm' would always be ldid'd)
2015-01-19some reorganizationcomex6-0/+690