arm/pe: lzma support for v4a (untested)

This commit is contained in:
László Molnár
2006-07-21 15:08:29 +02:00
parent d15e789200
commit 436532bed7
3 changed files with 1140 additions and 824 deletions
+1076 -818
View File
File diff suppressed because it is too large Load Diff
+40
View File
@@ -348,6 +348,46 @@ section Call2D
bl ucl_nrv2d_decompress_8
DDUMP (#'C')
////////////////////////////////////////
section LZMA_0
// r0=src0, r1=slen, r2=dst0, r3=addr dstl
adr r8, .LUPXa
ldmia r8, {r4, r5, r6, r7} // load params
mov r8, sp // save stack
add r4, r4, sp
mov ip, #0
.Lclearstack:
stmfd sp!, {ip}
cmp sp, r4
bne .Lclearstack
stmfd sp!, {r4, r5} // &outSizeProcessed, outSize,
stmfd sp!, {r2} // out
add r3, r4, #4 // &inSizeProcessed
mov r2, r6 // inSize
add r1, r0, #2 // in
add r0, r4, #8 // &CLzmaDecoderState
str r7, [r0] // lc, lp, pb, dummy
bl LZMA_DECODE
b .LLZMA_end
.LUPXa: .long UPXa
.LUPXb: .long UPXb
.LUPXc: .long UPXc
.LUPXd: .long UPXd
.LLZMA_end:
mov sp, r8
section LZMA_DECODE
section LZMA_DEC10
#include "arch/arm/v4a/lzma_d_cs.S"
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#include "include/header2.ash"