From 1332fd1b6720c1d2ff7785a2e2b897b0fefcd8dd Mon Sep 17 00:00:00 2001 From: Blaise Tine Date: Wed, 31 Mar 2021 14:07:12 -0400 Subject: [PATCH] minor update --- driver/tests/tex_demo/demo | Bin 156296 -> 156328 bytes driver/tests/tex_demo/kernel.bin | Bin 7660 -> 7636 bytes driver/tests/tex_demo/kernel.c | 4 +- driver/tests/tex_demo/kernel.dump | 1220 ++++++++++++++--------------- driver/tests/tex_demo/kernel.elf | Bin 20776 -> 20752 bytes driver/tests/tex_demo/main.cpp | 2 +- driver/tests/tex_demo/utils.cpp | 26 +- hw/rtl/tex_unit/VX_tex_sampler.v | 2 +- 8 files changed, 631 insertions(+), 623 deletions(-) diff --git a/driver/tests/tex_demo/demo b/driver/tests/tex_demo/demo index 83d9b666a938b9de5fbc0155ca7fad6ccec19f42..db297d4e984fa5f59ddd244a096d747a7b234680 100755 GIT binary patch delta 7374 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 delta 7114 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 WWEmPJZ{(b@IYFv}nPq__LjwTVpMs45 delta 459 zcmYk2F-RL>6vyB9?)xsBIz+E}r$iCI!NH=7(4(G4 za0=g`a9u3HE*;cEbZ{_G5y2sn;vn>Bp>!&w4jKeSzlcL0JbuIb{U5ydeemz#*eU}M zi^K7mMD%7Vx&u{kxXz+51q_S?fX>(t!;(~&ey7z9M@YX4FkwjQY}S7xsE$Fx&ol%(+RrI;r}7zxDz z`G}=+k--T(3WFjx5IhdWrm~HZq?n}r7+Dc(^cChq@sC<+#uxb!U&Pp(F6!%==BKr5 zhg;3SdkUbxe(Jmf4RuO=al%aTl{K{0wd{lT|2Q~dEu_Bmr}|kU@FGuIOpnONK2|XX XZc`_??`4a1Z7q1wv8>R&c5v?jptpdst_width; targ.tile_height = (arg->dst_height + arg->num_tasks - 1) / arg->num_tasks; - targ.deltaX = 1.0f / (((float)arg->src_width) / arg->dst_width); - targ.deltaY = 1.0f / (((float)arg->src_height) / arg->dst_height); + targ.deltaX = 1.0f / arg->dst_width; + targ.deltaY = 1.0f / arg->dst_height; vx_spawn_tasks(arg->num_tasks, kernel_body, &targ); } \ No newline at end of file diff --git a/driver/tests/tex_demo/kernel.dump b/driver/tests/tex_demo/kernel.dump index 65788c09..99a7fd04 100644 --- a/driver/tests/tex_demo/kernel.dump +++ b/driver/tests/tex_demo/kernel.dump @@ -6,25 +6,25 @@ Disassembly of section .init: 80000000 <_start>: 80000000: 00000597 auipc a1,0x0 -80000004: 24458593 addi a1,a1,580 # 80000244 +80000004: 22c58593 addi a1,a1,556 # 8000022c 80000008: fc102573 csrr a0,0xfc1 8000000c: 00b5106b 0xb5106b -80000010: 234000ef jal ra,80000244 +80000010: 21c000ef jal ra,8000022c 80000014: 00100513 li a0,1 80000018: 0005006b 0x5006b 8000001c: 00002517 auipc a0,0x2 -80000020: dd050513 addi a0,a0,-560 # 80001dec +80000020: db850513 addi a0,a0,-584 # 80001dd4 80000024: 00002617 auipc a2,0x2 -80000028: e4860613 addi a2,a2,-440 # 80001e6c <__BSS_END__> +80000028: e3060613 addi a2,a2,-464 # 80001e54 <__BSS_END__> 8000002c: 40a60633 sub a2,a2,a0 80000030: 00000593 li a1,0 -80000034: 5e0000ef jal ra,80000614 +80000034: 5c8000ef jal ra,800005fc 80000038: 00000517 auipc a0,0x0 -8000003c: 4e450513 addi a0,a0,1252 # 8000051c <__libc_fini_array> -80000040: 494000ef jal ra,800004d4 -80000044: 534000ef jal ra,80000578 <__libc_init_array> +8000003c: 4cc50513 addi a0,a0,1228 # 80000504 <__libc_fini_array> +80000040: 47c000ef jal ra,800004bc +80000044: 51c000ef jal ra,80000560 <__libc_init_array> 80000048: 008000ef jal ra,80000050
-8000004c: 49c0006f j 800004e8 +8000004c: 4840006f j 800004d0 Disassembly of section .text: @@ -41,13 +41,13 @@ Disassembly of section .text: 80000074: 01f00493 li s1,31 80000078: 00151513 slli a0,a0,0x1 8000007c: fff50513 addi a0,a0,-1 -80000080: 408000ef jal ra,80000488 <__clzsi2> +80000080: 3f0000ef jal ra,80000470 <__clzsi2> 80000084: 40a48533 sub a0,s1,a0 80000088: fd551073 csrw 0xfd5,a0 8000008c: 00842503 lw a0,8(s0) 80000090: 00151513 slli a0,a0,0x1 80000094: fff50513 addi a0,a0,-1 -80000098: 3f0000ef jal ra,80000488 <__clzsi2> +80000098: 3d8000ef jal ra,80000470 <__clzsi2> 8000009c: 40a484b3 sub s1,s1,a0 800000a0: fd649073 csrw 0xfd6,s1 800000a4: fd105073 csrwi 0xfd1,0 @@ -56,580 +56,580 @@ Disassembly of section .text: 800000b0: 01442503 lw a0,20(s0) 800000b4: 01842583 lw a1,24(s0) 800000b8: 01c42603 lw a2,28(s0) -800000bc: 02042683 lw a3,32(s0) -800000c0: 02442703 lw a4,36(s0) -800000c4: 02842783 lw a5,40(s0) -800000c8: 00042e83 lw t4,0(s0) -800000cc: 00442e03 lw t3,4(s0) -800000d0: 00842303 lw t1,8(s0) -800000d4: 00c42883 lw a7,12(s0) -800000d8: 01042803 lw a6,16(s0) +800000bc: 02442703 lw a4,36(s0) +800000c0: 02842783 lw a5,40(s0) +800000c4: 00042e83 lw t4,0(s0) +800000c8: 00442e03 lw t3,4(s0) +800000cc: 00842303 lw t1,8(s0) +800000d0: 00c42883 lw a7,12(s0) +800000d4: 01042803 lw a6,16(s0) +800000d8: 02042683 lw a3,32(s0) 800000dc: 00b12e23 sw a1,28(sp) 800000e0: 02c12023 sw a2,32(sp) -800000e4: 02d12223 sw a3,36(sp) -800000e8: 02e12423 sw a4,40(sp) -800000ec: 01d12223 sw t4,4(sp) -800000f0: 01c12423 sw t3,8(sp) -800000f4: 00612623 sw t1,12(sp) -800000f8: 01112823 sw a7,16(sp) -800000fc: 01012a23 sw a6,20(sp) -80000100: 00a12c23 sw a0,24(sp) +800000e4: 02e12423 sw a4,40(sp) +800000e8: 01d12223 sw t4,4(sp) +800000ec: 01c12423 sw t3,8(sp) +800000f0: 00612623 sw t1,12(sp) +800000f4: 01112823 sw a7,16(sp) +800000f8: 01012a23 sw a6,20(sp) +800000fc: 00a12c23 sw a0,24(sp) +80000100: 02d12223 sw a3,36(sp) 80000104: 02f12623 sw a5,44(sp) 80000108: 01842783 lw a5,24(s0) 8000010c: 80002737 lui a4,0x80002 -80000110: de472687 flw fa3,-540(a4) # 80001de4 <__stack_top+0x81001de4> +80000110: dcc72707 flw fa4,-564(a4) # 80001dcc <__stack_top+0x81001dcc> 80000114: 02f12823 sw a5,48(sp) -80000118: 01c42703 lw a4,28(s0) -8000011c: 00042503 lw a0,0(s0) -80000120: d017f5d3 fcvt.s.wu fa1,a5 -80000124: d0177653 fcvt.s.wu fa2,a4 -80000128: 00a706b3 add a3,a4,a0 -8000012c: fff68693 addi a3,a3,-1 -80000130: 02a6d6b3 divu a3,a3,a0 -80000134: 800005b7 lui a1,0x80000 -80000138: 00410613 addi a2,sp,4 -8000013c: 19c58593 addi a1,a1,412 # 8000019c <__stack_top+0x8100019c> -80000140: 02d12a23 sw a3,52(sp) -80000144: 00442783 lw a5,4(s0) -80000148: 00842703 lw a4,8(s0) -8000014c: d017f7d3 fcvt.s.wu fa5,a5 -80000150: d0177753 fcvt.s.wu fa4,a4 -80000154: 18b7f7d3 fdiv.s fa5,fa5,fa1 -80000158: 18c77753 fdiv.s fa4,fa4,fa2 -8000015c: 18f6f7d3 fdiv.s fa5,fa3,fa5 -80000160: 18e6f753 fdiv.s fa4,fa3,fa4 -80000164: 02f12c27 fsw fa5,56(sp) -80000168: 02e12e27 fsw fa4,60(sp) -8000016c: 1d4000ef jal ra,80000340 -80000170: 04c12083 lw ra,76(sp) -80000174: 04812403 lw s0,72(sp) -80000178: 04412483 lw s1,68(sp) -8000017c: 05010113 addi sp,sp,80 +80000118: 00042503 lw a0,0(s0) +8000011c: 01c42703 lw a4,28(s0) +80000120: d017f7d3 fcvt.s.wu fa5,a5 +80000124: 800005b7 lui a1,0x80000 +80000128: 00a707b3 add a5,a4,a0 +8000012c: fff78793 addi a5,a5,-1 +80000130: 02a7d7b3 divu a5,a5,a0 +80000134: d01776d3 fcvt.s.wu fa3,a4 +80000138: 18f777d3 fdiv.s fa5,fa4,fa5 +8000013c: 00410613 addi a2,sp,4 +80000140: 18458593 addi a1,a1,388 # 80000184 <__stack_top+0x81000184> +80000144: 18d77753 fdiv.s fa4,fa4,fa3 +80000148: 02f12c27 fsw fa5,56(sp) +8000014c: 02f12a23 sw a5,52(sp) +80000150: 02e12e27 fsw fa4,60(sp) +80000154: 1d4000ef jal ra,80000328 +80000158: 04c12083 lw ra,76(sp) +8000015c: 04812403 lw s0,72(sp) +80000160: 04412483 lw s1,68(sp) +80000164: 05010113 addi sp,sp,80 +80000168: 00008067 ret + +8000016c : +8000016c: 00000793 li a5,0 +80000170: 00078863 beqz a5,80000180 +80000174: 80000537 lui a0,0x80000 +80000178: 50450513 addi a0,a0,1284 # 80000504 <__stack_top+0x81000504> +8000017c: 3400006f j 800004bc 80000180: 00008067 ret -80000184 : -80000184: 00000793 li a5,0 -80000188: 00078863 beqz a5,80000198 -8000018c: 80000537 lui a0,0x80000 -80000190: 51c50513 addi a0,a0,1308 # 8000051c <__stack_top+0x8100051c> -80000194: 3400006f j 800004d4 -80000198: 00008067 ret +80000184 : +80000184: 0305a703 lw a4,48(a1) +80000188: 0245a683 lw a3,36(a1) +8000018c: 0285a603 lw a2,40(a1) +80000190: 02e507b3 mul a5,a0,a4 +80000194: 0345a687 flw fa3,52(a1) +80000198: 0385a507 flw fa0,56(a1) +8000019c: f00007d3 fmv.w.x fa5,zero +800001a0: 10f6f7d3 fmul.s fa5,fa3,fa5 +800001a4: 02f68833 mul a6,a3,a5 +800001a8: d017f5d3 fcvt.s.wu fa1,a5 +800001ac: 10a5f5d3 fmul.s fa1,fa1,fa0 +800001b0: 00c80833 add a6,a6,a2 +800001b4: 06070663 beqz a4,80000220 +800001b8: 800027b7 lui a5,0x80002 +800001bc: dc87a007 flw ft0,-568(a5) # 80001dc8 <__stack_top+0x81001dc8> +800001c0: 02c5a783 lw a5,44(a1) +800001c4: 00000893 li a7,0 +800001c8: 20000653 fmv.s fa2,ft0 +800001cc: 00000513 li a0,0 +800001d0: 04078063 beqz a5,80000210 +800001d4: 1005f753 fmul.s fa4,fa1,ft0 +800001d8: 00080693 mv a3,a6 +800001dc: 00000713 li a4,0 +800001e0: c0071653 fcvt.w.s a2,fa4,rtz +800001e4: 10c7f753 fmul.s fa4,fa5,fa2 +800001e8: c00717d3 fcvt.w.s a5,fa4,rtz +800001ec: 50c7d7eb 0x50c7d7eb +800001f0: 00f6a023 sw a5,0(a3) +800001f4: 02c5a783 lw a5,44(a1) +800001f8: 00170713 addi a4,a4,1 +800001fc: 00d7f7d3 fadd.s fa5,fa5,fa3 +80000200: 00468693 addi a3,a3,4 +80000204: fef760e3 bltu a4,a5,800001e4 +80000208: 0245a683 lw a3,36(a1) +8000020c: 0305a703 lw a4,48(a1) +80000210: 00188893 addi a7,a7,1 +80000214: 00a5f5d3 fadd.s fa1,fa1,fa0 +80000218: 00d80833 add a6,a6,a3 +8000021c: fae8eae3 bltu a7,a4,800001d0 +80000220: 00008067 ret -8000019c : -8000019c: 0305a703 lw a4,48(a1) -800001a0: 0245a683 lw a3,36(a1) -800001a4: 0285a603 lw a2,40(a1) -800001a8: 02e507b3 mul a5,a0,a4 -800001ac: 0345a687 flw fa3,52(a1) -800001b0: 0385a507 flw fa0,56(a1) -800001b4: f00007d3 fmv.w.x fa5,zero -800001b8: 10f6f7d3 fmul.s fa5,fa3,fa5 -800001bc: 02f68833 mul a6,a3,a5 -800001c0: d017f5d3 fcvt.s.wu fa1,a5 -800001c4: 10a5f5d3 fmul.s fa1,fa1,fa0 -800001c8: 00c80833 add a6,a6,a2 -800001cc: 06070663 beqz a4,80000238 -800001d0: 800027b7 lui a5,0x80002 -800001d4: de07a007 flw ft0,-544(a5) # 80001de0 <__stack_top+0x81001de0> -800001d8: 02c5a783 lw a5,44(a1) -800001dc: 00000893 li a7,0 -800001e0: 20000653 fmv.s fa2,ft0 -800001e4: 00000513 li a0,0 -800001e8: 04078063 beqz a5,80000228 -800001ec: 1005f753 fmul.s fa4,fa1,ft0 -800001f0: 00080693 mv a3,a6 -800001f4: 00000713 li a4,0 -800001f8: c0071653 fcvt.w.s a2,fa4,rtz -800001fc: 10c7f753 fmul.s fa4,fa5,fa2 -80000200: c00717d3 fcvt.w.s a5,fa4,rtz -80000204: 50c7d7eb 0x50c7d7eb -80000208: 00f6a023 sw a5,0(a3) -8000020c: 02c5a783 lw a5,44(a1) -80000210: 00170713 addi a4,a4,1 -80000214: 00d7f7d3 fadd.s fa5,fa5,fa3 -80000218: 00468693 addi a3,a3,4 -8000021c: fef760e3 bltu a4,a5,800001fc -80000220: 0245a683 lw a3,36(a1) -80000224: 0305a703 lw a4,48(a1) -80000228: 00188893 addi a7,a7,1 -8000022c: 00a5f5d3 fadd.s fa1,fa1,fa0 -80000230: 00d80833 add a6,a6,a3 -80000234: fae8eae3 bltu a7,a4,800001e8 -80000238: 00008067 ret +80000224 <_exit>: +80000224: 00000513 li a0,0 +80000228: 0005006b 0x5006b -8000023c <_exit>: -8000023c: 00000513 li a0,0 -80000240: 0005006b 0x5006b +8000022c : +8000022c: fc002573 csrr a0,0xfc0 +80000230: 0005006b 0x5006b +80000234: 00002197 auipc gp,0x2 +80000238: f6c18193 addi gp,gp,-148 # 800021a0 <__global_pointer> +8000023c: 7f000117 auipc sp,0x7f000 +80000240: dc410113 addi sp,sp,-572 # ff000000 <__stack_top> +80000244: 40000593 li a1,1024 +80000248: cc102673 csrr a2,0xcc1 +8000024c: 02c585b3 mul a1,a1,a2 +80000250: 40b10133 sub sp,sp,a1 +80000254: cc3026f3 csrr a3,0xcc3 +80000258: 00068663 beqz a3,80000264 +8000025c: 00000513 li a0,0 +80000260: 0005006b 0x5006b -80000244 : -80000244: fc002573 csrr a0,0xfc0 -80000248: 0005006b 0x5006b -8000024c: 00002197 auipc gp,0x2 -80000250: f6c18193 addi gp,gp,-148 # 800021b8 <__global_pointer> -80000254: 7f000117 auipc sp,0x7f000 -80000258: dac10113 addi sp,sp,-596 # ff000000 <__stack_top> -8000025c: 40000593 li a1,1024 -80000260: cc102673 csrr a2,0xcc1 -80000264: 02c585b3 mul a1,a1,a2 -80000268: 40b10133 sub sp,sp,a1 -8000026c: cc3026f3 csrr a3,0xcc3 -80000270: 00068663 beqz a3,8000027c -80000274: 00000513 li a0,0 -80000278: 0005006b 0x5006b +80000264 : +80000264: 00008067 ret -8000027c : -8000027c: 00008067 ret +80000268 : +80000268: fe010113 addi sp,sp,-32 +8000026c: 00112e23 sw ra,28(sp) +80000270: 00812c23 sw s0,24(sp) +80000274: 00912a23 sw s1,20(sp) +80000278: 01212823 sw s2,16(sp) +8000027c: 01312623 sw s3,12(sp) +80000280: fc0027f3 csrr a5,0xfc0 +80000284: 0007806b 0x7806b +80000288: cc5026f3 csrr a3,0xcc5 +8000028c: cc3029f3 csrr s3,0xcc3 +80000290: cc002773 csrr a4,0xcc0 +80000294: fc002673 csrr a2,0xfc0 +80000298: 800027b7 lui a5,0x80002 +8000029c: 00269693 slli a3,a3,0x2 +800002a0: dd478793 addi a5,a5,-556 # 80001dd4 <__stack_top+0x81001dd4> +800002a4: 00d787b3 add a5,a5,a3 +800002a8: 0007a483 lw s1,0(a5) +800002ac: 0104a403 lw s0,16(s1) +800002b0: 00c4a683 lw a3,12(s1) +800002b4: 0089a933 slt s2,s3,s0 +800002b8: 00040793 mv a5,s0 +800002bc: 00d90933 add s2,s2,a3 +800002c0: 03368433 mul s0,a3,s3 +800002c4: 00f9d463 bge s3,a5,800002cc +800002c8: 00098793 mv a5,s3 +800002cc: 00f40433 add s0,s0,a5 +800002d0: 0084a683 lw a3,8(s1) +800002d4: 02c40433 mul s0,s0,a2 +800002d8: 02e907b3 mul a5,s2,a4 +800002dc: 00d40433 add s0,s0,a3 +800002e0: 00f40433 add s0,s0,a5 +800002e4: 00890933 add s2,s2,s0 +800002e8: 01245e63 bge s0,s2,80000304 +800002ec: 0004a783 lw a5,0(s1) +800002f0: 0044a583 lw a1,4(s1) +800002f4: 00040513 mv a0,s0 +800002f8: 00140413 addi s0,s0,1 +800002fc: 000780e7 jalr a5 +80000300: fe8916e3 bne s2,s0,800002ec +80000304: 0019b993 seqz s3,s3 +80000308: 0009806b 0x9806b +8000030c: 01c12083 lw ra,28(sp) +80000310: 01812403 lw s0,24(sp) +80000314: 01412483 lw s1,20(sp) +80000318: 01012903 lw s2,16(sp) +8000031c: 00c12983 lw s3,12(sp) +80000320: 02010113 addi sp,sp,32 +80000324: 00008067 ret -80000280 : -80000280: fe010113 addi sp,sp,-32 -80000284: 00112e23 sw ra,28(sp) -80000288: 00812c23 sw s0,24(sp) -8000028c: 00912a23 sw s1,20(sp) -80000290: 01212823 sw s2,16(sp) -80000294: 01312623 sw s3,12(sp) -80000298: fc0027f3 csrr a5,0xfc0 -8000029c: 0007806b 0x7806b -800002a0: cc5026f3 csrr a3,0xcc5 -800002a4: cc3029f3 csrr s3,0xcc3 -800002a8: cc002773 csrr a4,0xcc0 -800002ac: fc002673 csrr a2,0xfc0 -800002b0: 800027b7 lui a5,0x80002 -800002b4: 00269693 slli a3,a3,0x2 -800002b8: dec78793 addi a5,a5,-532 # 80001dec <__stack_top+0x81001dec> -800002bc: 00d787b3 add a5,a5,a3 -800002c0: 0007a483 lw s1,0(a5) -800002c4: 0104a403 lw s0,16(s1) -800002c8: 00c4a683 lw a3,12(s1) -800002cc: 0089a933 slt s2,s3,s0 -800002d0: 00040793 mv a5,s0 -800002d4: 00d90933 add s2,s2,a3 -800002d8: 03368433 mul s0,a3,s3 -800002dc: 00f9d463 bge s3,a5,800002e4 -800002e0: 00098793 mv a5,s3 -800002e4: 00f40433 add s0,s0,a5 -800002e8: 0084a683 lw a3,8(s1) -800002ec: 02c40433 mul s0,s0,a2 -800002f0: 02e907b3 mul a5,s2,a4 -800002f4: 00d40433 add s0,s0,a3 -800002f8: 00f40433 add s0,s0,a5 -800002fc: 00890933 add s2,s2,s0 -80000300: 01245e63 bge s0,s2,8000031c -80000304: 0004a783 lw a5,0(s1) -80000308: 0044a583 lw a1,4(s1) -8000030c: 00040513 mv a0,s0 -80000310: 00140413 addi s0,s0,1 -80000314: 000780e7 jalr a5 -80000318: fe8916e3 bne s2,s0,80000304 -8000031c: 0019b993 seqz s3,s3 -80000320: 0009806b 0x9806b -80000324: 01c12083 lw ra,28(sp) -80000328: 01812403 lw s0,24(sp) -8000032c: 01412483 lw s1,20(sp) -80000330: 01012903 lw s2,16(sp) -80000334: 00c12983 lw s3,12(sp) -80000338: 02010113 addi sp,sp,32 -8000033c: 00008067 ret +80000328 : +80000328: fc010113 addi sp,sp,-64 +8000032c: 02112e23 sw ra,60(sp) +80000330: 02812c23 sw s0,56(sp) +80000334: 02912a23 sw s1,52(sp) +80000338: 03212823 sw s2,48(sp) +8000033c: 03312623 sw s3,44(sp) +80000340: fc2026f3 csrr a3,0xfc2 +80000344: fc102873 csrr a6,0xfc1 +80000348: fc002473 csrr s0,0xfc0 +8000034c: cc5027f3 csrr a5,0xcc5 +80000350: 01f00713 li a4,31 +80000354: 0cf74463 blt a4,a5,8000041c +80000358: 030408b3 mul a7,s0,a6 +8000035c: 00100713 li a4,1 +80000360: 00a8d463 bge a7,a0,80000368 +80000364: 03154733 div a4,a0,a7 +80000368: 0ce6c863 blt a3,a4,80000438 +8000036c: 0ae7d863 bge a5,a4,8000041c +80000370: fff68693 addi a3,a3,-1 +80000374: 02e54333 div t1,a0,a4 +80000378: 00030893 mv a7,t1 +8000037c: 00f69663 bne a3,a5,80000388 +80000380: 02e56533 rem a0,a0,a4 +80000384: 006508b3 add a7,a0,t1 +80000388: 0288c4b3 div s1,a7,s0 +8000038c: 0288e933 rem s2,a7,s0 +80000390: 0b04ca63 blt s1,a6,80000444 +80000394: 00100693 li a3,1 +80000398: 0304c733 div a4,s1,a6 +8000039c: 00070663 beqz a4,800003a8 +800003a0: 00070693 mv a3,a4 +800003a4: 0304e733 rem a4,s1,a6 +800003a8: 800029b7 lui s3,0x80002 +800003ac: dd498993 addi s3,s3,-556 # 80001dd4 <__stack_top+0x81001dd4> +800003b0: 00e12e23 sw a4,28(sp) +800003b4: 00c10713 addi a4,sp,12 +800003b8: 00b12623 sw a1,12(sp) +800003bc: 00c12823 sw a2,16(sp) +800003c0: 00d12c23 sw a3,24(sp) +800003c4: 02f30333 mul t1,t1,a5 +800003c8: 00279793 slli a5,a5,0x2 +800003cc: 00f987b3 add a5,s3,a5 +800003d0: 00e7a023 sw a4,0(a5) +800003d4: 00612a23 sw t1,20(sp) +800003d8: 06904c63 bgtz s1,80000450 +800003dc: 04090063 beqz s2,8000041c +800003e0: 02848433 mul s0,s1,s0 +800003e4: 00812a23 sw s0,20(sp) +800003e8: 0009006b 0x9006b +800003ec: cc5027f3 csrr a5,0xcc5 +800003f0: cc202573 csrr a0,0xcc2 +800003f4: 00279793 slli a5,a5,0x2 +800003f8: 00f989b3 add s3,s3,a5 +800003fc: 0009a783 lw a5,0(s3) +80000400: 0087a683 lw a3,8(a5) +80000404: 0007a703 lw a4,0(a5) +80000408: 0047a583 lw a1,4(a5) +8000040c: 00d50533 add a0,a0,a3 +80000410: 000700e7 jalr a4 +80000414: 00100793 li a5,1 +80000418: 0007806b 0x7806b +8000041c: 03c12083 lw ra,60(sp) +80000420: 03812403 lw s0,56(sp) +80000424: 03412483 lw s1,52(sp) +80000428: 03012903 lw s2,48(sp) +8000042c: 02c12983 lw s3,44(sp) +80000430: 04010113 addi sp,sp,64 +80000434: 00008067 ret +80000438: 00068713 mv a4,a3 +8000043c: f2e7cae3 blt a5,a4,80000370 +80000440: fddff06f j 8000041c +80000444: 00000713 li a4,0 +80000448: 00100693 li a3,1 +8000044c: f5dff06f j 800003a8 +80000450: 00048713 mv a4,s1 +80000454: 00985463 bge a6,s1,8000045c +80000458: 00080713 mv a4,a6 +8000045c: 800007b7 lui a5,0x80000 +80000460: 26878793 addi a5,a5,616 # 80000268 <__stack_top+0x81000268> +80000464: 00f7106b 0xf7106b +80000468: e01ff0ef jal ra,80000268 +8000046c: f71ff06f j 800003dc -80000340 : -80000340: fc010113 addi sp,sp,-64 -80000344: 02112e23 sw ra,60(sp) -80000348: 02812c23 sw s0,56(sp) -8000034c: 02912a23 sw s1,52(sp) -80000350: 03212823 sw s2,48(sp) -80000354: 03312623 sw s3,44(sp) -80000358: fc2026f3 csrr a3,0xfc2 -8000035c: fc102873 csrr a6,0xfc1 -80000360: fc002473 csrr s0,0xfc0 -80000364: cc5027f3 csrr a5,0xcc5 -80000368: 01f00713 li a4,31 -8000036c: 0cf74463 blt a4,a5,80000434 -80000370: 030408b3 mul a7,s0,a6 -80000374: 00100713 li a4,1 -80000378: 00a8d463 bge a7,a0,80000380 -8000037c: 03154733 div a4,a0,a7 -80000380: 0ce6c863 blt a3,a4,80000450 -80000384: 0ae7d863 bge a5,a4,80000434 -80000388: fff68693 addi a3,a3,-1 -8000038c: 02e54333 div t1,a0,a4 -80000390: 00030893 mv a7,t1 -80000394: 00f69663 bne a3,a5,800003a0 -80000398: 02e56533 rem a0,a0,a4 -8000039c: 006508b3 add a7,a0,t1 -800003a0: 0288c4b3 div s1,a7,s0 -800003a4: 0288e933 rem s2,a7,s0 -800003a8: 0b04ca63 blt s1,a6,8000045c -800003ac: 00100693 li a3,1 -800003b0: 0304c733 div a4,s1,a6 -800003b4: 00070663 beqz a4,800003c0 -800003b8: 00070693 mv a3,a4 -800003bc: 0304e733 rem a4,s1,a6 -800003c0: 800029b7 lui s3,0x80002 -800003c4: dec98993 addi s3,s3,-532 # 80001dec <__stack_top+0x81001dec> -800003c8: 00e12e23 sw a4,28(sp) -800003cc: 00c10713 addi a4,sp,12 -800003d0: 00b12623 sw a1,12(sp) -800003d4: 00c12823 sw a2,16(sp) -800003d8: 00d12c23 sw a3,24(sp) -800003dc: 02f30333 mul t1,t1,a5 -800003e0: 00279793 slli a5,a5,0x2 -800003e4: 00f987b3 add a5,s3,a5 -800003e8: 00e7a023 sw a4,0(a5) -800003ec: 00612a23 sw t1,20(sp) -800003f0: 06904c63 bgtz s1,80000468 -800003f4: 04090063 beqz s2,80000434 -800003f8: 02848433 mul s0,s1,s0 -800003fc: 00812a23 sw s0,20(sp) -80000400: 0009006b 0x9006b -80000404: cc5027f3 csrr a5,0xcc5 -80000408: cc202573 csrr a0,0xcc2 -8000040c: 00279793 slli a5,a5,0x2 -80000410: 00f989b3 add s3,s3,a5 -80000414: 0009a783 lw a5,0(s3) -80000418: 0087a683 lw a3,8(a5) -8000041c: 0007a703 lw a4,0(a5) -80000420: 0047a583 lw a1,4(a5) -80000424: 00d50533 add a0,a0,a3 -80000428: 000700e7 jalr a4 -8000042c: 00100793 li a5,1 -80000430: 0007806b 0x7806b -80000434: 03c12083 lw ra,60(sp) -80000438: 03812403 lw s0,56(sp) -8000043c: 03412483 lw s1,52(sp) -80000440: 03012903 lw s2,48(sp) -80000444: 02c12983 lw s3,44(sp) -80000448: 04010113 addi sp,sp,64 -8000044c: 00008067 ret -80000450: 00068713 mv a4,a3 -80000454: f2e7cae3 blt a5,a4,80000388 -80000458: fddff06f j 80000434 -8000045c: 00000713 li a4,0 -80000460: 00100693 li a3,1 -80000464: f5dff06f j 800003c0 -80000468: 00048713 mv a4,s1 -8000046c: 00985463 bge a6,s1,80000474 -80000470: 00080713 mv a4,a6 -80000474: 800007b7 lui a5,0x80000 -80000478: 28078793 addi a5,a5,640 # 80000280 <__stack_top+0x81000280> -8000047c: 00f7106b 0xf7106b -80000480: e01ff0ef jal ra,80000280 -80000484: f71ff06f j 800003f4 +80000470 <__clzsi2>: +80000470: 000107b7 lui a5,0x10 +80000474: 02f57a63 bgeu a0,a5,800004a8 <__clzsi2+0x38> +80000478: 0ff00793 li a5,255 +8000047c: 00a7b7b3 sltu a5,a5,a0 +80000480: 00379793 slli a5,a5,0x3 +80000484: 80001737 lui a4,0x80001 +80000488: 02000693 li a3,32 +8000048c: 40f686b3 sub a3,a3,a5 +80000490: 00f55533 srl a0,a0,a5 +80000494: 89870793 addi a5,a4,-1896 # 80000898 <__stack_top+0x81000898> +80000498: 00a78533 add a0,a5,a0 +8000049c: 00054503 lbu a0,0(a0) +800004a0: 40a68533 sub a0,a3,a0 +800004a4: 00008067 ret +800004a8: 01000737 lui a4,0x1000 +800004ac: 01000793 li a5,16 +800004b0: fce56ae3 bltu a0,a4,80000484 <__clzsi2+0x14> +800004b4: 01800793 li a5,24 +800004b8: fcdff06f j 80000484 <__clzsi2+0x14> -80000488 <__clzsi2>: -80000488: 000107b7 lui a5,0x10 -8000048c: 02f57a63 bgeu a0,a5,800004c0 <__clzsi2+0x38> -80000490: 0ff00793 li a5,255 -80000494: 00a7b7b3 sltu a5,a5,a0 -80000498: 00379793 slli a5,a5,0x3 -8000049c: 80001737 lui a4,0x80001 -800004a0: 02000693 li a3,32 -800004a4: 40f686b3 sub a3,a3,a5 -800004a8: 00f55533 srl a0,a0,a5 -800004ac: 8b070793 addi a5,a4,-1872 # 800008b0 <__stack_top+0x810008b0> -800004b0: 00a78533 add a0,a5,a0 -800004b4: 00054503 lbu a0,0(a0) -800004b8: 40a68533 sub a0,a3,a0 -800004bc: 00008067 ret -800004c0: 01000737 lui a4,0x1000 -800004c4: 01000793 li a5,16 -800004c8: fce56ae3 bltu a0,a4,8000049c <__clzsi2+0x14> -800004cc: 01800793 li a5,24 -800004d0: fcdff06f j 8000049c <__clzsi2+0x14> +800004bc : +800004bc: 00050593 mv a1,a0 +800004c0: 00000693 li a3,0 +800004c4: 00000613 li a2,0 +800004c8: 00000513 li a0,0 +800004cc: 20c0006f j 800006d8 <__register_exitproc> -800004d4 : -800004d4: 00050593 mv a1,a0 -800004d8: 00000693 li a3,0 -800004dc: 00000613 li a2,0 -800004e0: 00000513 li a0,0 -800004e4: 20c0006f j 800006f0 <__register_exitproc> +800004d0 : +800004d0: ff010113 addi sp,sp,-16 +800004d4: 00000593 li a1,0 +800004d8: 00812423 sw s0,8(sp) +800004dc: 00112623 sw ra,12(sp) +800004e0: 00050413 mv s0,a0 +800004e4: 290000ef jal ra,80000774 <__call_exitprocs> +800004e8: 800027b7 lui a5,0x80002 +800004ec: dd07a503 lw a0,-560(a5) # 80001dd0 <__stack_top+0x81001dd0> +800004f0: 03c52783 lw a5,60(a0) +800004f4: 00078463 beqz a5,800004fc +800004f8: 000780e7 jalr a5 +800004fc: 00040513 mv a0,s0 +80000500: d25ff0ef jal ra,80000224 <_exit> -800004e8 : -800004e8: ff010113 addi sp,sp,-16 -800004ec: 00000593 li a1,0 -800004f0: 00812423 sw s0,8(sp) -800004f4: 00112623 sw ra,12(sp) -800004f8: 00050413 mv s0,a0 -800004fc: 290000ef jal ra,8000078c <__call_exitprocs> -80000500: 800027b7 lui a5,0x80002 -80000504: de87a503 lw a0,-536(a5) # 80001de8 <__stack_top+0x81001de8> -80000508: 03c52783 lw a5,60(a0) -8000050c: 00078463 beqz a5,80000514 -80000510: 000780e7 jalr a5 -80000514: 00040513 mv a0,s0 -80000518: d25ff0ef jal ra,8000023c <_exit> +80000504 <__libc_fini_array>: +80000504: ff010113 addi sp,sp,-16 +80000508: 00812423 sw s0,8(sp) +8000050c: 800027b7 lui a5,0x80002 +80000510: 80002437 lui s0,0x80002 +80000514: 99c40413 addi s0,s0,-1636 # 8000199c <__stack_top+0x8100199c> +80000518: 99c78793 addi a5,a5,-1636 # 8000199c <__stack_top+0x8100199c> +8000051c: 408787b3 sub a5,a5,s0 +80000520: 00912223 sw s1,4(sp) +80000524: 00112623 sw ra,12(sp) +80000528: 4027d493 srai s1,a5,0x2 +8000052c: 02048063 beqz s1,8000054c <__libc_fini_array+0x48> +80000530: ffc78793 addi a5,a5,-4 +80000534: 00878433 add s0,a5,s0 +80000538: 00042783 lw a5,0(s0) +8000053c: fff48493 addi s1,s1,-1 +80000540: ffc40413 addi s0,s0,-4 +80000544: 000780e7 jalr a5 +80000548: fe0498e3 bnez s1,80000538 <__libc_fini_array+0x34> +8000054c: 00c12083 lw ra,12(sp) +80000550: 00812403 lw s0,8(sp) +80000554: 00412483 lw s1,4(sp) +80000558: 01010113 addi sp,sp,16 +8000055c: 00008067 ret -8000051c <__libc_fini_array>: -8000051c: ff010113 addi sp,sp,-16 -80000520: 00812423 sw s0,8(sp) -80000524: 800027b7 lui a5,0x80002 -80000528: 80002437 lui s0,0x80002 -8000052c: 9b440413 addi s0,s0,-1612 # 800019b4 <__stack_top+0x810019b4> -80000530: 9b478793 addi a5,a5,-1612 # 800019b4 <__stack_top+0x810019b4> -80000534: 408787b3 sub a5,a5,s0 -80000538: 00912223 sw s1,4(sp) -8000053c: 00112623 sw ra,12(sp) -80000540: 4027d493 srai s1,a5,0x2 -80000544: 02048063 beqz s1,80000564 <__libc_fini_array+0x48> -80000548: ffc78793 addi a5,a5,-4 -8000054c: 00878433 add s0,a5,s0 -80000550: 00042783 lw a5,0(s0) -80000554: fff48493 addi s1,s1,-1 -80000558: ffc40413 addi s0,s0,-4 -8000055c: 000780e7 jalr a5 -80000560: fe0498e3 bnez s1,80000550 <__libc_fini_array+0x34> -80000564: 00c12083 lw ra,12(sp) -80000568: 00812403 lw s0,8(sp) -8000056c: 00412483 lw s1,4(sp) -80000570: 01010113 addi sp,sp,16 -80000574: 00008067 ret +80000560 <__libc_init_array>: +80000560: ff010113 addi sp,sp,-16 +80000564: 00812423 sw s0,8(sp) +80000568: 01212023 sw s2,0(sp) +8000056c: 80002437 lui s0,0x80002 +80000570: 80002937 lui s2,0x80002 +80000574: 99840793 addi a5,s0,-1640 # 80001998 <__stack_top+0x81001998> +80000578: 99890913 addi s2,s2,-1640 # 80001998 <__stack_top+0x81001998> +8000057c: 40f90933 sub s2,s2,a5 +80000580: 00112623 sw ra,12(sp) +80000584: 00912223 sw s1,4(sp) +80000588: 40295913 srai s2,s2,0x2 +8000058c: 02090063 beqz s2,800005ac <__libc_init_array+0x4c> +80000590: 99840413 addi s0,s0,-1640 +80000594: 00000493 li s1,0 +80000598: 00042783 lw a5,0(s0) +8000059c: 00148493 addi s1,s1,1 +800005a0: 00440413 addi s0,s0,4 +800005a4: 000780e7 jalr a5 +800005a8: fe9918e3 bne s2,s1,80000598 <__libc_init_array+0x38> +800005ac: 80002437 lui s0,0x80002 +800005b0: 80002937 lui s2,0x80002 +800005b4: 99840793 addi a5,s0,-1640 # 80001998 <__stack_top+0x81001998> +800005b8: 99c90913 addi s2,s2,-1636 # 8000199c <__stack_top+0x8100199c> +800005bc: 40f90933 sub s2,s2,a5 +800005c0: 40295913 srai s2,s2,0x2 +800005c4: 02090063 beqz s2,800005e4 <__libc_init_array+0x84> +800005c8: 99840413 addi s0,s0,-1640 +800005cc: 00000493 li s1,0 +800005d0: 00042783 lw a5,0(s0) +800005d4: 00148493 addi s1,s1,1 +800005d8: 00440413 addi s0,s0,4 +800005dc: 000780e7 jalr a5 +800005e0: fe9918e3 bne s2,s1,800005d0 <__libc_init_array+0x70> +800005e4: 00c12083 lw ra,12(sp) +800005e8: 00812403 lw s0,8(sp) +800005ec: 00412483 lw s1,4(sp) +800005f0: 00012903 lw s2,0(sp) +800005f4: 01010113 addi sp,sp,16 +800005f8: 00008067 ret -80000578 <__libc_init_array>: -80000578: ff010113 addi sp,sp,-16 -8000057c: 00812423 sw s0,8(sp) -80000580: 01212023 sw s2,0(sp) -80000584: 80002437 lui s0,0x80002 -80000588: 80002937 lui s2,0x80002 -8000058c: 9b040793 addi a5,s0,-1616 # 800019b0 <__stack_top+0x810019b0> -80000590: 9b090913 addi s2,s2,-1616 # 800019b0 <__stack_top+0x810019b0> -80000594: 40f90933 sub s2,s2,a5 -80000598: 00112623 sw ra,12(sp) -8000059c: 00912223 sw s1,4(sp) -800005a0: 40295913 srai s2,s2,0x2 -800005a4: 02090063 beqz s2,800005c4 <__libc_init_array+0x4c> -800005a8: 9b040413 addi s0,s0,-1616 -800005ac: 00000493 li s1,0 -800005b0: 00042783 lw a5,0(s0) -800005b4: 00148493 addi s1,s1,1 -800005b8: 00440413 addi s0,s0,4 -800005bc: 000780e7 jalr a5 -800005c0: fe9918e3 bne s2,s1,800005b0 <__libc_init_array+0x38> -800005c4: 80002437 lui s0,0x80002 -800005c8: 80002937 lui s2,0x80002 -800005cc: 9b040793 addi a5,s0,-1616 # 800019b0 <__stack_top+0x810019b0> -800005d0: 9b490913 addi s2,s2,-1612 # 800019b4 <__stack_top+0x810019b4> -800005d4: 40f90933 sub s2,s2,a5 -800005d8: 40295913 srai s2,s2,0x2 -800005dc: 02090063 beqz s2,800005fc <__libc_init_array+0x84> -800005e0: 9b040413 addi s0,s0,-1616 -800005e4: 00000493 li s1,0 -800005e8: 00042783 lw a5,0(s0) -800005ec: 00148493 addi s1,s1,1 -800005f0: 00440413 addi s0,s0,4 -800005f4: 000780e7 jalr a5 -800005f8: fe9918e3 bne s2,s1,800005e8 <__libc_init_array+0x70> -800005fc: 00c12083 lw ra,12(sp) -80000600: 00812403 lw s0,8(sp) -80000604: 00412483 lw s1,4(sp) -80000608: 00012903 lw s2,0(sp) -8000060c: 01010113 addi sp,sp,16 -80000610: 00008067 ret +800005fc : +800005fc: 00f00313 li t1,15 +80000600: 00050713 mv a4,a0 +80000604: 02c37e63 bgeu t1,a2,80000640 +80000608: 00f77793 andi a5,a4,15 +8000060c: 0a079063 bnez a5,800006ac +80000610: 08059263 bnez a1,80000694 +80000614: ff067693 andi a3,a2,-16 +80000618: 00f67613 andi a2,a2,15 +8000061c: 00e686b3 add a3,a3,a4 +80000620: 00b72023 sw a1,0(a4) # 1000000 <__stack_size+0xfffc00> +80000624: 00b72223 sw a1,4(a4) +80000628: 00b72423 sw a1,8(a4) +8000062c: 00b72623 sw a1,12(a4) +80000630: 01070713 addi a4,a4,16 +80000634: fed766e3 bltu a4,a3,80000620 +80000638: 00061463 bnez a2,80000640 +8000063c: 00008067 ret +80000640: 40c306b3 sub a3,t1,a2 +80000644: 00269693 slli a3,a3,0x2 +80000648: 00000297 auipc t0,0x0 +8000064c: 005686b3 add a3,a3,t0 +80000650: 00c68067 jr 12(a3) +80000654: 00b70723 sb a1,14(a4) +80000658: 00b706a3 sb a1,13(a4) +8000065c: 00b70623 sb a1,12(a4) +80000660: 00b705a3 sb a1,11(a4) +80000664: 00b70523 sb a1,10(a4) +80000668: 00b704a3 sb a1,9(a4) +8000066c: 00b70423 sb a1,8(a4) +80000670: 00b703a3 sb a1,7(a4) +80000674: 00b70323 sb a1,6(a4) +80000678: 00b702a3 sb a1,5(a4) +8000067c: 00b70223 sb a1,4(a4) +80000680: 00b701a3 sb a1,3(a4) +80000684: 00b70123 sb a1,2(a4) +80000688: 00b700a3 sb a1,1(a4) +8000068c: 00b70023 sb a1,0(a4) +80000690: 00008067 ret +80000694: 0ff5f593 andi a1,a1,255 +80000698: 00859693 slli a3,a1,0x8 +8000069c: 00d5e5b3 or a1,a1,a3 +800006a0: 01059693 slli a3,a1,0x10 +800006a4: 00d5e5b3 or a1,a1,a3 +800006a8: f6dff06f j 80000614 +800006ac: 00279693 slli a3,a5,0x2 +800006b0: 00000297 auipc t0,0x0 +800006b4: 005686b3 add a3,a3,t0 +800006b8: 00008293 mv t0,ra +800006bc: fa0680e7 jalr -96(a3) +800006c0: 00028093 mv ra,t0 +800006c4: ff078793 addi a5,a5,-16 +800006c8: 40f70733 sub a4,a4,a5 +800006cc: 00f60633 add a2,a2,a5 +800006d0: f6c378e3 bgeu t1,a2,80000640 +800006d4: f3dff06f j 80000610 -80000614 : -80000614: 00f00313 li t1,15 -80000618: 00050713 mv a4,a0 -8000061c: 02c37e63 bgeu t1,a2,80000658 -80000620: 00f77793 andi a5,a4,15 -80000624: 0a079063 bnez a5,800006c4 -80000628: 08059263 bnez a1,800006ac -8000062c: ff067693 andi a3,a2,-16 -80000630: 00f67613 andi a2,a2,15 -80000634: 00e686b3 add a3,a3,a4 -80000638: 00b72023 sw a1,0(a4) # 1000000 <__stack_size+0xfffc00> -8000063c: 00b72223 sw a1,4(a4) -80000640: 00b72423 sw a1,8(a4) -80000644: 00b72623 sw a1,12(a4) -80000648: 01070713 addi a4,a4,16 -8000064c: fed766e3 bltu a4,a3,80000638 -80000650: 00061463 bnez a2,80000658 -80000654: 00008067 ret -80000658: 40c306b3 sub a3,t1,a2 -8000065c: 00269693 slli a3,a3,0x2 -80000660: 00000297 auipc t0,0x0 -80000664: 005686b3 add a3,a3,t0 -80000668: 00c68067 jr 12(a3) -8000066c: 00b70723 sb a1,14(a4) -80000670: 00b706a3 sb a1,13(a4) -80000674: 00b70623 sb a1,12(a4) -80000678: 00b705a3 sb a1,11(a4) -8000067c: 00b70523 sb a1,10(a4) -80000680: 00b704a3 sb a1,9(a4) -80000684: 00b70423 sb a1,8(a4) -80000688: 00b703a3 sb a1,7(a4) -8000068c: 00b70323 sb a1,6(a4) -80000690: 00b702a3 sb a1,5(a4) -80000694: 00b70223 sb a1,4(a4) -80000698: 00b701a3 sb a1,3(a4) -8000069c: 00b70123 sb a1,2(a4) -800006a0: 00b700a3 sb a1,1(a4) -800006a4: 00b70023 sb a1,0(a4) -800006a8: 00008067 ret -800006ac: 0ff5f593 andi a1,a1,255 -800006b0: 00859693 slli a3,a1,0x8 -800006b4: 00d5e5b3 or a1,a1,a3 -800006b8: 01059693 slli a3,a1,0x10 -800006bc: 00d5e5b3 or a1,a1,a3 -800006c0: f6dff06f j 8000062c -800006c4: 00279693 slli a3,a5,0x2 -800006c8: 00000297 auipc t0,0x0 -800006cc: 005686b3 add a3,a3,t0 -800006d0: 00008293 mv t0,ra -800006d4: fa0680e7 jalr -96(a3) -800006d8: 00028093 mv ra,t0 -800006dc: ff078793 addi a5,a5,-16 -800006e0: 40f70733 sub a4,a4,a5 -800006e4: 00f60633 add a2,a2,a5 -800006e8: f6c378e3 bgeu t1,a2,80000658 -800006ec: f3dff06f j 80000628 +800006d8 <__register_exitproc>: +800006d8: 800027b7 lui a5,0x80002 +800006dc: dd07a703 lw a4,-560(a5) # 80001dd0 <__stack_top+0x81001dd0> +800006e0: 14872783 lw a5,328(a4) +800006e4: 04078c63 beqz a5,8000073c <__register_exitproc+0x64> +800006e8: 0047a703 lw a4,4(a5) +800006ec: 01f00813 li a6,31 +800006f0: 06e84e63 blt a6,a4,8000076c <__register_exitproc+0x94> +800006f4: 00271813 slli a6,a4,0x2 +800006f8: 02050663 beqz a0,80000724 <__register_exitproc+0x4c> +800006fc: 01078333 add t1,a5,a6 +80000700: 08c32423 sw a2,136(t1) +80000704: 1887a883 lw a7,392(a5) +80000708: 00100613 li a2,1 +8000070c: 00e61633 sll a2,a2,a4 +80000710: 00c8e8b3 or a7,a7,a2 +80000714: 1917a423 sw a7,392(a5) +80000718: 10d32423 sw a3,264(t1) +8000071c: 00200693 li a3,2 +80000720: 02d50463 beq a0,a3,80000748 <__register_exitproc+0x70> +80000724: 00170713 addi a4,a4,1 +80000728: 00e7a223 sw a4,4(a5) +8000072c: 010787b3 add a5,a5,a6 +80000730: 00b7a423 sw a1,8(a5) +80000734: 00000513 li a0,0 +80000738: 00008067 ret +8000073c: 14c70793 addi a5,a4,332 +80000740: 14f72423 sw a5,328(a4) +80000744: fa5ff06f j 800006e8 <__register_exitproc+0x10> +80000748: 18c7a683 lw a3,396(a5) +8000074c: 00170713 addi a4,a4,1 +80000750: 00e7a223 sw a4,4(a5) +80000754: 00c6e633 or a2,a3,a2 +80000758: 18c7a623 sw a2,396(a5) +8000075c: 010787b3 add a5,a5,a6 +80000760: 00b7a423 sw a1,8(a5) +80000764: 00000513 li a0,0 +80000768: 00008067 ret +8000076c: fff00513 li a0,-1 +80000770: 00008067 ret -800006f0 <__register_exitproc>: -800006f0: 800027b7 lui a5,0x80002 -800006f4: de87a703 lw a4,-536(a5) # 80001de8 <__stack_top+0x81001de8> -800006f8: 14872783 lw a5,328(a4) -800006fc: 04078c63 beqz a5,80000754 <__register_exitproc+0x64> -80000700: 0047a703 lw a4,4(a5) -80000704: 01f00813 li a6,31 -80000708: 06e84e63 blt a6,a4,80000784 <__register_exitproc+0x94> -8000070c: 00271813 slli a6,a4,0x2 -80000710: 02050663 beqz a0,8000073c <__register_exitproc+0x4c> -80000714: 01078333 add t1,a5,a6 -80000718: 08c32423 sw a2,136(t1) -8000071c: 1887a883 lw a7,392(a5) -80000720: 00100613 li a2,1 -80000724: 00e61633 sll a2,a2,a4 -80000728: 00c8e8b3 or a7,a7,a2 -8000072c: 1917a423 sw a7,392(a5) -80000730: 10d32423 sw a3,264(t1) -80000734: 00200693 li a3,2 -80000738: 02d50463 beq a0,a3,80000760 <__register_exitproc+0x70> -8000073c: 00170713 addi a4,a4,1 -80000740: 00e7a223 sw a4,4(a5) -80000744: 010787b3 add a5,a5,a6 -80000748: 00b7a423 sw a1,8(a5) -8000074c: 00000513 li a0,0 -80000750: 00008067 ret -80000754: 14c70793 addi a5,a4,332 -80000758: 14f72423 sw a5,328(a4) -8000075c: fa5ff06f j 80000700 <__register_exitproc+0x10> -80000760: 18c7a683 lw a3,396(a5) -80000764: 00170713 addi a4,a4,1 -80000768: 00e7a223 sw a4,4(a5) -8000076c: 00c6e633 or a2,a3,a2 -80000770: 18c7a623 sw a2,396(a5) -80000774: 010787b3 add a5,a5,a6 -80000778: 00b7a423 sw a1,8(a5) -8000077c: 00000513 li a0,0 -80000780: 00008067 ret -80000784: fff00513 li a0,-1 -80000788: 00008067 ret - -8000078c <__call_exitprocs>: -8000078c: fd010113 addi sp,sp,-48 -80000790: 800027b7 lui a5,0x80002 -80000794: 01412c23 sw s4,24(sp) -80000798: de87aa03 lw s4,-536(a5) # 80001de8 <__stack_top+0x81001de8> -8000079c: 03212023 sw s2,32(sp) -800007a0: 02112623 sw ra,44(sp) -800007a4: 148a2903 lw s2,328(s4) -800007a8: 02812423 sw s0,40(sp) -800007ac: 02912223 sw s1,36(sp) -800007b0: 01312e23 sw s3,28(sp) -800007b4: 01512a23 sw s5,20(sp) -800007b8: 01612823 sw s6,16(sp) -800007bc: 01712623 sw s7,12(sp) -800007c0: 01812423 sw s8,8(sp) -800007c4: 04090063 beqz s2,80000804 <__call_exitprocs+0x78> -800007c8: 00050b13 mv s6,a0 -800007cc: 00058b93 mv s7,a1 -800007d0: 00100a93 li s5,1 -800007d4: fff00993 li s3,-1 -800007d8: 00492483 lw s1,4(s2) -800007dc: fff48413 addi s0,s1,-1 -800007e0: 02044263 bltz s0,80000804 <__call_exitprocs+0x78> -800007e4: 00249493 slli s1,s1,0x2 -800007e8: 009904b3 add s1,s2,s1 -800007ec: 040b8463 beqz s7,80000834 <__call_exitprocs+0xa8> -800007f0: 1044a783 lw a5,260(s1) -800007f4: 05778063 beq a5,s7,80000834 <__call_exitprocs+0xa8> -800007f8: fff40413 addi s0,s0,-1 -800007fc: ffc48493 addi s1,s1,-4 -80000800: ff3416e3 bne s0,s3,800007ec <__call_exitprocs+0x60> -80000804: 02c12083 lw ra,44(sp) -80000808: 02812403 lw s0,40(sp) -8000080c: 02412483 lw s1,36(sp) -80000810: 02012903 lw s2,32(sp) -80000814: 01c12983 lw s3,28(sp) -80000818: 01812a03 lw s4,24(sp) -8000081c: 01412a83 lw s5,20(sp) -80000820: 01012b03 lw s6,16(sp) -80000824: 00c12b83 lw s7,12(sp) -80000828: 00812c03 lw s8,8(sp) -8000082c: 03010113 addi sp,sp,48 -80000830: 00008067 ret -80000834: 00492783 lw a5,4(s2) -80000838: 0044a683 lw a3,4(s1) -8000083c: fff78793 addi a5,a5,-1 -80000840: 04878e63 beq a5,s0,8000089c <__call_exitprocs+0x110> -80000844: 0004a223 sw zero,4(s1) -80000848: fa0688e3 beqz a3,800007f8 <__call_exitprocs+0x6c> -8000084c: 18892783 lw a5,392(s2) -80000850: 008a9733 sll a4,s5,s0 -80000854: 00492c03 lw s8,4(s2) -80000858: 00f777b3 and a5,a4,a5 -8000085c: 02079263 bnez a5,80000880 <__call_exitprocs+0xf4> -80000860: 000680e7 jalr a3 -80000864: 00492703 lw a4,4(s2) -80000868: 148a2783 lw a5,328(s4) -8000086c: 01871463 bne a4,s8,80000874 <__call_exitprocs+0xe8> -80000870: f8f904e3 beq s2,a5,800007f8 <__call_exitprocs+0x6c> -80000874: f80788e3 beqz a5,80000804 <__call_exitprocs+0x78> -80000878: 00078913 mv s2,a5 -8000087c: f5dff06f j 800007d8 <__call_exitprocs+0x4c> -80000880: 18c92783 lw a5,396(s2) -80000884: 0844a583 lw a1,132(s1) -80000888: 00f77733 and a4,a4,a5 -8000088c: 00071c63 bnez a4,800008a4 <__call_exitprocs+0x118> -80000890: 000b0513 mv a0,s6 -80000894: 000680e7 jalr a3 -80000898: fcdff06f j 80000864 <__call_exitprocs+0xd8> -8000089c: 00892223 sw s0,4(s2) -800008a0: fa9ff06f j 80000848 <__call_exitprocs+0xbc> -800008a4: 00058513 mv a0,a1 -800008a8: 000680e7 jalr a3 -800008ac: fb9ff06f j 80000864 <__call_exitprocs+0xd8> +80000774 <__call_exitprocs>: +80000774: fd010113 addi sp,sp,-48 +80000778: 800027b7 lui a5,0x80002 +8000077c: 01412c23 sw s4,24(sp) +80000780: dd07aa03 lw s4,-560(a5) # 80001dd0 <__stack_top+0x81001dd0> +80000784: 03212023 sw s2,32(sp) +80000788: 02112623 sw ra,44(sp) +8000078c: 148a2903 lw s2,328(s4) +80000790: 02812423 sw s0,40(sp) +80000794: 02912223 sw s1,36(sp) +80000798: 01312e23 sw s3,28(sp) +8000079c: 01512a23 sw s5,20(sp) +800007a0: 01612823 sw s6,16(sp) +800007a4: 01712623 sw s7,12(sp) +800007a8: 01812423 sw s8,8(sp) +800007ac: 04090063 beqz s2,800007ec <__call_exitprocs+0x78> +800007b0: 00050b13 mv s6,a0 +800007b4: 00058b93 mv s7,a1 +800007b8: 00100a93 li s5,1 +800007bc: fff00993 li s3,-1 +800007c0: 00492483 lw s1,4(s2) +800007c4: fff48413 addi s0,s1,-1 +800007c8: 02044263 bltz s0,800007ec <__call_exitprocs+0x78> +800007cc: 00249493 slli s1,s1,0x2 +800007d0: 009904b3 add s1,s2,s1 +800007d4: 040b8463 beqz s7,8000081c <__call_exitprocs+0xa8> +800007d8: 1044a783 lw a5,260(s1) +800007dc: 05778063 beq a5,s7,8000081c <__call_exitprocs+0xa8> +800007e0: fff40413 addi s0,s0,-1 +800007e4: ffc48493 addi s1,s1,-4 +800007e8: ff3416e3 bne s0,s3,800007d4 <__call_exitprocs+0x60> +800007ec: 02c12083 lw ra,44(sp) +800007f0: 02812403 lw s0,40(sp) +800007f4: 02412483 lw s1,36(sp) +800007f8: 02012903 lw s2,32(sp) +800007fc: 01c12983 lw s3,28(sp) +80000800: 01812a03 lw s4,24(sp) +80000804: 01412a83 lw s5,20(sp) +80000808: 01012b03 lw s6,16(sp) +8000080c: 00c12b83 lw s7,12(sp) +80000810: 00812c03 lw s8,8(sp) +80000814: 03010113 addi sp,sp,48 +80000818: 00008067 ret +8000081c: 00492783 lw a5,4(s2) +80000820: 0044a683 lw a3,4(s1) +80000824: fff78793 addi a5,a5,-1 +80000828: 04878e63 beq a5,s0,80000884 <__call_exitprocs+0x110> +8000082c: 0004a223 sw zero,4(s1) +80000830: fa0688e3 beqz a3,800007e0 <__call_exitprocs+0x6c> +80000834: 18892783 lw a5,392(s2) +80000838: 008a9733 sll a4,s5,s0 +8000083c: 00492c03 lw s8,4(s2) +80000840: 00f777b3 and a5,a4,a5 +80000844: 02079263 bnez a5,80000868 <__call_exitprocs+0xf4> +80000848: 000680e7 jalr a3 +8000084c: 00492703 lw a4,4(s2) +80000850: 148a2783 lw a5,328(s4) +80000854: 01871463 bne a4,s8,8000085c <__call_exitprocs+0xe8> +80000858: f8f904e3 beq s2,a5,800007e0 <__call_exitprocs+0x6c> +8000085c: f80788e3 beqz a5,800007ec <__call_exitprocs+0x78> +80000860: 00078913 mv s2,a5 +80000864: f5dff06f j 800007c0 <__call_exitprocs+0x4c> +80000868: 18c92783 lw a5,396(s2) +8000086c: 0844a583 lw a1,132(s1) +80000870: 00f77733 and a4,a4,a5 +80000874: 00071c63 bnez a4,8000088c <__call_exitprocs+0x118> +80000878: 000b0513 mv a0,s6 +8000087c: 000680e7 jalr a3 +80000880: fcdff06f j 8000084c <__call_exitprocs+0xd8> +80000884: 00892223 sw s0,4(s2) +80000888: fa9ff06f j 80000830 <__call_exitprocs+0xbc> +8000088c: 00058513 mv a0,a1 +80000890: 000680e7 jalr a3 +80000894: fb9ff06f j 8000084c <__call_exitprocs+0xd8> Disassembly of section .rodata: -800008b0 <__clz_tab>: -800008b0: 0100 addi s0,sp,128 -800008b2: 0202 c.slli64 tp -800008b4: 03030303 lb t1,48(t1) -800008b8: 0404 addi s1,sp,512 -800008ba: 0404 addi s1,sp,512 -800008bc: 0404 addi s1,sp,512 -800008be: 0404 addi s1,sp,512 -800008c0: 0505 addi a0,a0,1 -800008c2: 0505 addi a0,a0,1 -800008c4: 0505 addi a0,a0,1 -800008c6: 0505 addi a0,a0,1 -800008c8: 0505 addi a0,a0,1 -800008ca: 0505 addi a0,a0,1 -800008cc: 0505 addi a0,a0,1 -800008ce: 0505 addi a0,a0,1 +80000898 <__clz_tab>: +80000898: 0100 addi s0,sp,128 +8000089a: 0202 c.slli64 tp +8000089c: 03030303 lb t1,48(t1) +800008a0: 0404 addi s1,sp,512 +800008a2: 0404 addi s1,sp,512 +800008a4: 0404 addi s1,sp,512 +800008a6: 0404 addi s1,sp,512 +800008a8: 0505 addi a0,a0,1 +800008aa: 0505 addi a0,a0,1 +800008ac: 0505 addi a0,a0,1 +800008ae: 0505 addi a0,a0,1 +800008b0: 0505 addi a0,a0,1 +800008b2: 0505 addi a0,a0,1 +800008b4: 0505 addi a0,a0,1 +800008b6: 0505 addi a0,a0,1 +800008b8: 0606 slli a2,a2,0x1 +800008ba: 0606 slli a2,a2,0x1 +800008bc: 0606 slli a2,a2,0x1 +800008be: 0606 slli a2,a2,0x1 +800008c0: 0606 slli a2,a2,0x1 +800008c2: 0606 slli a2,a2,0x1 +800008c4: 0606 slli a2,a2,0x1 +800008c6: 0606 slli a2,a2,0x1 +800008c8: 0606 slli a2,a2,0x1 +800008ca: 0606 slli a2,a2,0x1 +800008cc: 0606 slli a2,a2,0x1 +800008ce: 0606 slli a2,a2,0x1 800008d0: 0606 slli a2,a2,0x1 800008d2: 0606 slli a2,a2,0x1 800008d4: 0606 slli a2,a2,0x1 800008d6: 0606 slli a2,a2,0x1 -800008d8: 0606 slli a2,a2,0x1 -800008da: 0606 slli a2,a2,0x1 -800008dc: 0606 slli a2,a2,0x1 -800008de: 0606 slli a2,a2,0x1 -800008e0: 0606 slli a2,a2,0x1 -800008e2: 0606 slli a2,a2,0x1 -800008e4: 0606 slli a2,a2,0x1 -800008e6: 0606 slli a2,a2,0x1 -800008e8: 0606 slli a2,a2,0x1 -800008ea: 0606 slli a2,a2,0x1 -800008ec: 0606 slli a2,a2,0x1 -800008ee: 0606 slli a2,a2,0x1 +800008d8: 07070707 0x7070707 +800008dc: 07070707 0x7070707 +800008e0: 07070707 0x7070707 +800008e4: 07070707 0x7070707 +800008e8: 07070707 0x7070707 +800008ec: 07070707 0x7070707 800008f0: 07070707 0x7070707 800008f4: 07070707 0x7070707 800008f8: 07070707 0x7070707 @@ -640,12 +640,18 @@ Disassembly of section .rodata: 8000090c: 07070707 0x7070707 80000910: 07070707 0x7070707 80000914: 07070707 0x7070707 -80000918: 07070707 0x7070707 -8000091c: 07070707 0x7070707 -80000920: 07070707 0x7070707 -80000924: 07070707 0x7070707 -80000928: 07070707 0x7070707 -8000092c: 07070707 0x7070707 +80000918: 0808 addi a0,sp,16 +8000091a: 0808 addi a0,sp,16 +8000091c: 0808 addi a0,sp,16 +8000091e: 0808 addi a0,sp,16 +80000920: 0808 addi a0,sp,16 +80000922: 0808 addi a0,sp,16 +80000924: 0808 addi a0,sp,16 +80000926: 0808 addi a0,sp,16 +80000928: 0808 addi a0,sp,16 +8000092a: 0808 addi a0,sp,16 +8000092c: 0808 addi a0,sp,16 +8000092e: 0808 addi a0,sp,16 80000930: 0808 addi a0,sp,16 80000932: 0808 addi a0,sp,16 80000934: 0808 addi a0,sp,16 @@ -698,65 +704,53 @@ Disassembly of section .rodata: 80000992: 0808 addi a0,sp,16 80000994: 0808 addi a0,sp,16 80000996: 0808 addi a0,sp,16 -80000998: 0808 addi a0,sp,16 -8000099a: 0808 addi a0,sp,16 -8000099c: 0808 addi a0,sp,16 -8000099e: 0808 addi a0,sp,16 -800009a0: 0808 addi a0,sp,16 -800009a2: 0808 addi a0,sp,16 -800009a4: 0808 addi a0,sp,16 -800009a6: 0808 addi a0,sp,16 -800009a8: 0808 addi a0,sp,16 -800009aa: 0808 addi a0,sp,16 -800009ac: 0808 addi a0,sp,16 -800009ae: 0808 addi a0,sp,16 Disassembly of section .init_array: -800019b0 <__init_array_start>: -800019b0: 0184 addi s1,sp,192 -800019b2: 8000 0x8000 +80001998 <__init_array_start>: +80001998: 016c addi a1,sp,140 +8000199a: 8000 0x8000 Disassembly of section .data: -800019b8 : -800019b8: 0000 unimp -800019ba: 0000 unimp -800019bc: 1ca4 addi s1,sp,632 -800019be: 8000 0x8000 -800019c0: 1d0c addi a1,sp,688 -800019c2: 8000 0x8000 -800019c4: 1d74 addi a3,sp,700 -800019c6: 8000 0x8000 +800019a0 : +800019a0: 0000 unimp +800019a2: 0000 unimp +800019a4: 1c8c addi a1,sp,624 +800019a6: 8000 0x8000 +800019a8: 1cf4 addi a3,sp,636 +800019aa: 8000 0x8000 +800019ac: 1d5c addi a5,sp,692 +800019ae: 8000 0x8000 ... -80001a60: 0001 nop -80001a62: 0000 unimp -80001a64: 0000 unimp -80001a66: 0000 unimp -80001a68: 330e fld ft6,224(sp) -80001a6a: abcd j 8000205c <__BSS_END__+0x1f0> -80001a6c: 1234 addi a3,sp,296 -80001a6e: e66d bnez a2,80001b58 -80001a70: deec sw a1,124(a3) -80001a72: 0005 c.nop 1 -80001a74: 0000000b 0xb +80001a48: 0001 nop +80001a4a: 0000 unimp +80001a4c: 0000 unimp +80001a4e: 0000 unimp +80001a50: 330e fld ft6,224(sp) +80001a52: abcd j 80002044 <__BSS_END__+0x1f0> +80001a54: 1234 addi a3,sp,296 +80001a56: e66d bnez a2,80001b40 +80001a58: deec sw a1,124(a3) +80001a5a: 0005 c.nop 1 +80001a5c: 0000000b 0xb ... Disassembly of section .sdata: -80001de0 <__SDATA_BEGIN__>: -80001de0: 0000 unimp -80001de2: 4980 lw s0,16(a1) -80001de4: 0000 unimp -80001de6: 3f80 fld fs0,56(a5) +80001dc8 <__SDATA_BEGIN__>: +80001dc8: 0000 unimp +80001dca: 4980 lw s0,16(a1) +80001dcc: 0000 unimp +80001dce: 3f80 fld fs0,56(a5) -80001de8 <_global_impure_ptr>: -80001de8: 19b8 addi a4,sp,248 -80001dea: 8000 0x8000 +80001dd0 <_global_impure_ptr>: +80001dd0: 19a0 addi s0,sp,248 +80001dd2: 8000 0x8000 Disassembly of section .bss: -80001dec : +80001dd4 : ... Disassembly of section .comment: @@ -800,7 +794,7 @@ Disassembly of section .debug_aranges: a: 0004 0x4 c: 0000 unimp e: 0000 unimp - 10: 0488 addi a0,sp,576 + 10: 0470 addi a2,sp,524 12: 8000 0x8000 14: 004c addi a1,sp,4 ... @@ -826,7 +820,7 @@ Disassembly of section .debug_info: 12: 0004 0x4 14: 5900 lw s0,48(a0) 16: 0006 c.slli zero,0x1 - 18: 8800 0x8800 + 18: 7000 flw fs0,32(s0) 1a: 0004 0x4 1c: 4c80 lw s0,24(s1) 1e: 0000 unimp @@ -2074,7 +2068,7 @@ Disassembly of section .debug_info: b80: 02c2 slli t0,t0,0x10 b82: 2501 jal 1182 <__stack_size+0xd82> b84: 0000 unimp - b86: 8800 0x8800 + b86: 7000 flw fs0,32(s0) b88: 0004 0x4 b8a: 4c80 lw s0,24(s1) b8c: 0000 unimp @@ -3319,7 +3313,7 @@ Disassembly of section .debug_info: 1736: b20d j 1058 <__stack_size+0xc58> 1738: 0f02 c.slli64 t5 173a: 0305 addi t1,t1,1 - 173c: 08b0 addi a2,sp,88 + 173c: 0898 addi a4,sp,80 173e: 8000 0x8000 ... @@ -3915,7 +3909,7 @@ Disassembly of section .debug_line: 224: 0500 addi s0,sp,640 226: 0001 nop 228: 0205 addi tp,tp,1 - 22a: 0488 addi a0,sp,576 + 22a: 0470 addi a2,sp,524 22c: 8000 0x8000 22e: 0105c203 lbu tp,16(a1) 232: 0305 addi t1,t1,1 @@ -4195,7 +4189,7 @@ Disassembly of section .debug_frame: 12: 0000 unimp 14: 0000 unimp 16: 0000 unimp - 18: 0488 addi a0,sp,576 + 18: 0470 addi a2,sp,524 1a: 8000 0x8000 1c: 004c addi a1,sp,4 ... diff --git a/driver/tests/tex_demo/kernel.elf b/driver/tests/tex_demo/kernel.elf index cbed7d43fa2fd096ddec3b4e6448caa85230b540..2024bf958360f6f67c632f1b1b6aa04075f1deac 100755 GIT binary patch delta 1162 zcmZ8gVQ5oV6h8O9Am zoOAEF@3#};XMA;HpeJV3+I}KudI>`#5>WPs?zHUl+fL1GyIy}Fu1)OL`sfMu$8@ho zyTJ~{iF9xGzo7)Qs@`u@e@!xiJRz$i1g(3ouLVDaxgIv!N6A*sXv^l)r;XhwlLxdf zUn}t}>A@hVFD5}*#l2b`_iHtkM-v`tEIv<0-4%YMMLw^;BaK8!9yPOKg-MpryfI=d zC`l#mA;r8VhQ>mJ7rbN@eW!_YW0S?Zr{&NOp~0c9v9PW-6L+_SH+0<%n++vtEaIJk z2HBF~Ujl1nZiMdzj>zT_?x^}&rbdgGtL6xq9_0c3Pnk>b!Rlo)cbxyI-Y9*eToFvD z*YcdZk>{r1mPj_Q`;X@v{o_d^5g?Nj5e0r++a@}>DUuYO#qT3~E1~W$ z{Hs#fMSJ-s6{xiGs)XuW9ja)yE2iQpq_|PhRyV#v9v2thVYm4-fLxA4A=UK{^9QNF z#SXreS|axF>r_;H%eAdPp^USw(QUocy9v=wfj<*poP}=!m$N(k(OLNEEUe-cF5pkn zOV$sgCJWvG`Dit)oNgycO@F7r2TfWr00>HXV&M z$f;e9^$e_?9Ns$Q$f|*M@Ed5iAJ74*P=zGAjI7nu{JFs8erWi;B9hk3NT5;y#F+&ouwf7Znx+H9 zfj^pYtdD`S#anG%ifHAQ_Ndp%Zu72o!|Qay<{qq^j0L`gm2vV-&m_cGoQKKcE0F#CIAey#aJRQn KXL;Zb-0>Egu@y`J delta 1214 zcmZ8gZ)jUp6hHUAWz7 z*qh7Nf`TiDK_L}f>88RyWWJR}7`UQy6o<4_MTZL==-7usTcIlhXZ^j`Mnf;$bMEh) z-}!U@of;QkjEhsvVt%B>XetJY-03F_jYvQh8@*{4FASWm@7>pWIHmo4NSmZZN*lUg zqeEavQ$)Joe=}-At0({HP|u|qNfwC?Mxk~8zAX3|%>G5P=`FgF;heT>tDWvRF_Av3 zJ$qkC3=UeGJ<>aGb z8OsZt?Z%jhll?#w+3#SE92<3dwhk+z#IsGkVwmHJv>0|?O1xPI^~3gyb)x9lk3O#g z{r32`66(`E(VEU;&3ZnC6fY~Df|p+*pNC8TVei4vJZiZPg;dYKz$^Q|5l48kd#A|r zpWR7ev%lvPv~jv8IdE|!nvm@*_|>?y2~Pu8s=NG~oAA;mtm5USIg;7gw}75(ctaGR zJ+M}K)X-xVxYV-VvqsBnF9Y8J-`!mZ{Jdgrv>OQ;4t{VyIGL+9&nDx-VN>I zf1thlfDTE8Y9!H5s2bkj*8^AXL&KL$NZMOfK&8(>tZu+Wz#Symy^$aV{6y8Z9t0k9 zCVK}J@d`hbP5RyHMefTQe)lGd`~g;O#S)*v%01V4p2o`E)dDYPEwR9j&sgFHy0y)NCLw?V= 3) { + for (int i = 0; i < pitch; i += stride) { + auto tmp = line[i]; + line[i] = line[i + 2]; + line[i + 2] = tmp; + } } } break; @@ -116,7 +118,19 @@ int SaveTGA(const char *filename, for (uint32_t y = 0; y < height; ++y) { const uint8_t* pixel_row = pixel_bytes; for (uint32_t x = 0; x < width; ++x) { - ofs.write((const char*)pixel_row, bpp); + // TGA uses BGR instead of RGB, we must swap RG components + if (bpp == 4) { + ofs.write((const char*)pixel_row + 2, 1); + ofs.write((const char*)pixel_row + 1, 1); + ofs.write((const char*)pixel_row + 0, 1); + ofs.write((const char*)pixel_row + 3, 1); + } else if (bpp == 3) { + ofs.write((const char*)pixel_row + 2, 1); + ofs.write((const char*)pixel_row + 1, 1); + ofs.write((const char*)pixel_row + 0, 1); + } else{ + ofs.write((const char*)pixel_row, bpp); + } pixel_row += bpp; } pixel_bytes -= pitch; diff --git a/hw/rtl/tex_unit/VX_tex_sampler.v b/hw/rtl/tex_unit/VX_tex_sampler.v index 9bfb16b0..d9955efa 100644 --- a/hw/rtl/tex_unit/VX_tex_sampler.v +++ b/hw/rtl/tex_unit/VX_tex_sampler.v @@ -46,7 +46,7 @@ module VX_tex_sampler #( VX_tex_format #( .CORE_ID (CORE_ID), .NUM_TEXELS (4) - ) tex_format_texel ( + ) tex_format ( .texel_data (req_texels[i]), .format (req_format),