diff --git a/.gitignore b/.gitignore index d921c36d..bee2895b 100644 --- a/.gitignore +++ b/.gitignore @@ -422,4 +422,6 @@ out/ datasets/ -ext/ \ No newline at end of file +ext/ + +src/trax-kernel/riscv/ diff --git a/src/trax-kernel/makefile b/src/trax-kernel/makefile index 58a85d90..817ee329 100644 --- a/src/trax-kernel/makefile +++ b/src/trax-kernel/makefile @@ -1,11 +1,15 @@ make: riscv riscv-dissasm +.PHONY: make riscv riscv-dissasm clean + #-mno-relax riscv: main.cpp + mkdir -p riscv riscv64-unknown-elf-g++ -mno-relax -nostartfiles -emain -Wstack-usage=512 -mabi=lp64f -Ofast -I ../../include ./main.cpp -o ./riscv/kernel riscv-dissasm: riscv + mkdir -p riscv riscv64-unknown-elf-objdump -d -x ./riscv/kernel > ./riscv/kernel.dump clean: - rm -f riscv/* \ No newline at end of file + rm -f riscv/* diff --git a/src/trax-kernel/riscv/kernel b/src/trax-kernel/riscv/kernel deleted file mode 100755 index c1beeee9..00000000 Binary files a/src/trax-kernel/riscv/kernel and /dev/null differ diff --git a/src/trax-kernel/riscv/kernel.dump b/src/trax-kernel/riscv/kernel.dump deleted file mode 100644 index 654d9a25..00000000 --- a/src/trax-kernel/riscv/kernel.dump +++ /dev/null @@ -1,210 +0,0 @@ - -./riscv/kernel: file format elf64-littleriscv -./riscv/kernel -architecture: riscv:rv64, flags 0x00000112: -EXEC_P, HAS_SYMS, D_PAGED -start address 0x00000000000100e8 - -Program Header: -0x70000003 off 0x00000000000013c9 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**0 - filesz 0x0000000000000050 memsz 0x0000000000000000 flags r-- - LOAD off 0x0000000000000000 vaddr 0x0000000000010000 paddr 0x0000000000010000 align 2**12 - filesz 0x00000000000013b0 memsz 0x00000000000013b0 flags r-x - STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**4 - filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw- - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .text 00000288 00000000000100e8 00000000000100e8 000000e8 2**2 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .eh_frame 00000028 0000000000010370 0000000000010370 00000370 2**3 - CONTENTS, ALLOC, LOAD, READONLY, DATA - 2 .sdata 00000018 0000000000011398 0000000000011398 00001398 2**2 - CONTENTS, ALLOC, LOAD, READONLY, DATA - 3 .comment 00000019 0000000000000000 0000000000000000 000013b0 2**0 - CONTENTS, READONLY - 4 .riscv.attributes 00000050 0000000000000000 0000000000000000 000013c9 2**0 - CONTENTS, READONLY -SYMBOL TABLE: -00000000000100e8 l d .text 0000000000000000 .text -0000000000010370 l d .eh_frame 0000000000000000 .eh_frame -0000000000011398 l d .sdata 0000000000000000 .sdata -0000000000000000 l d .comment 0000000000000000 .comment -0000000000000000 l d .riscv.attributes 0000000000000000 .riscv.attributes -0000000000000000 l df *ABS* 0000000000000000 main.cpp -0000000000011b98 g *ABS* 0000000000000000 __global_pointer$ -0000000000011398 g .sdata 0000000000000000 __SDATA_BEGIN__ -00000000000113b0 g .sdata 0000000000000000 __BSS_END__ -00000000000113b0 g .sdata 0000000000000000 __bss_start -00000000000100e8 g F .text 0000000000000288 main -0000000000011398 g .sdata 0000000000000000 __DATA_BEGIN__ -00000000000113b0 g .sdata 0000000000000000 _edata -00000000000113b0 g .sdata 0000000000000000 _end - - - -Disassembly of section .text: - -00000000000100e8
: - 100e8: 0000070b .insn 4, 0x070b - 100ec: 10802783 lw a5,264(zero) # 108 - 100f0: 0007071b sext.w a4,a4 - 100f4: 20f77063 bgeu a4,a5,102f4 - 100f8: 000117b7 lui a5,0x11 - 100fc: 3a07a707 flw fa4,928(a5) # 113a0 <__DATA_BEGIN__+0x8> - 10100: 000117b7 lui a5,0x11 - 10104: 3a47a507 flw fa0,932(a5) # 113a4 <__DATA_BEGIN__+0xc> - 10108: 000117b7 lui a5,0x11 - 1010c: 3987a887 flw fa7,920(a5) # 11398 <__DATA_BEGIN__> - 10110: 000117b7 lui a5,0x11 - 10114: 39c7a807 flw fa6,924(a5) # 1139c <__DATA_BEGIN__+0x4> - 10118: 000117b7 lui a5,0x11 - 1011c: 3a87a687 flw fa3,936(a5) # 113a8 <__DATA_BEGIN__+0x10> - 10120: 000117b7 lui a5,0x11 - 10124: 3ac7a587 flw fa1,940(a5) # 113ac <__DATA_BEGIN__+0x14> - 10128: 11003803 ld a6,272(zero) # 110 - 1012c: 11804503 lbu a0,280(zero) # 118 - 10130: f0000653 fmv.w.x fa2,zero - 10134: ff0008b7 lui a7,0xff000 - 10138: 1200006f j 10258 - 1013c: 02071613 slli a2,a4,0x20 - 10140: 1b003703 ld a4,432(zero) # 1b0 - 10144: 02065613 srli a2,a2,0x20 - 10148: 00261693 slli a3,a2,0x2 - 1014c: 00d70733 add a4,a4,a3 - 10150: 00076303 lwu t1,0(a4) - 10154: 1b803583 ld a1,440(zero) # 1b8 - 10158: ffff0737 lui a4,0xffff0 - 1015c: 00331693 slli a3,t1,0x3 - 10160: 006686b3 add a3,a3,t1 - 10164: 00369693 slli a3,a3,0x3 - 10168: 00d586b3 add a3,a1,a3 - 1016c: 0016c583 lbu a1,1(a3) - 10170: 0ff70713 addi a4,a4,255 # ffffffffffff00ff <__global_pointer$+0xfffffffffffde567> - 10174: 0025f593 andi a1,a1,2 - 10178: 0c058463 beqz a1,10240 - 1017c: 19003303 ld t1,400(zero) # 190 - 10180: 00161713 slli a4,a2,0x1 - 10184: 00c70633 add a2,a4,a2 - 10188: 00261613 slli a2,a2,0x2 - 1018c: 00c30333 add t1,t1,a2 - 10190: 00436583 lwu a1,4(t1) - 10194: 1a803703 ld a4,424(zero) # 1a8 - 10198: 00036603 lwu a2,0(t1) - 1019c: 00359593 slli a1,a1,0x3 - 101a0: 00b705b3 add a1,a4,a1 - 101a4: 0005a087 flw ft1,0(a1) - 101a8: 0045a007 flw ft0,4(a1) - 101ac: 01eef7d3 fadd.s fa5,ft9,ft10 - 101b0: 00361613 slli a2,a2,0x3 - 101b4: 100f7053 fmul.s ft0,ft10,ft0 - 101b8: 101f7f53 fmul.s ft10,ft10,ft1 - 101bc: 00c70633 add a2,a4,a2 - 101c0: 00462107 flw ft2,4(a2) - 101c4: 00062087 flw ft1,0(a2) - 101c8: 00836583 lwu a1,8(t1) - 101cc: 01d17143 fmadd.s ft2,ft2,ft9,ft0 - 101d0: 08f6f7d3 fsub.s fa5,fa3,fa5 - 101d4: f1d0f0c3 fmadd.s ft1,ft1,ft9,ft10 - 101d8: 00359613 slli a2,a1,0x3 - 101dc: 00c70733 add a4,a4,a2 - 101e0: 00472207 flw ft4,4(a4) - 101e4: 00072187 flw ft3,0(a4) - 101e8: 0086869b addiw a3,a3,8 - 101ec: f0068053 fmv.w.x ft0,a3 - 101f0: 1047f143 fmadd.s ft2,fa5,ft4,ft2 - 101f4: 0837f0c3 fmadd.s ft1,fa5,ft3,ft1 - 101f8: 00006e0b .insn 4, 0x6e0b - 101fc: 28ce9ed3 fmax.s ft9,ft9,fa2 - 10200: 28cf1f53 fmax.s ft10,ft10,fa2 - 10204: 28ce1e53 fmax.s ft8,ft8,fa2 - 10208: 28de8ed3 fmin.s ft9,ft9,fa3 - 1020c: 28df0f53 fmin.s ft10,ft10,fa3 - 10210: 28de0e53 fmin.s ft8,ft8,fa3 - 10214: 70befec3 fmadd.s ft9,ft9,fa1,fa4 - 10218: 70bf7f43 fmadd.s ft10,ft10,fa1,fa4 - 1021c: 70be7e43 fmadd.s ft8,ft8,fa1,fa4 - 10220: c01e96d3 fcvt.wu.s a3,ft9,rtz - 10224: c01f1653 fcvt.wu.s a2,ft10,rtz - 10228: c01e1753 fcvt.wu.s a4,ft8,rtz - 1022c: 0086969b slliw a3,a3,0x8 - 10230: 0106161b slliw a2,a2,0x10 - 10234: 00c6e6b3 or a3,a3,a2 - 10238: 00d76733 or a4,a4,a3 - 1023c: 01176733 or a4,a4,a7 - 10240: 00f807b3 add a5,a6,a5 - 10244: 00e7a023 sw a4,0(a5) - 10248: 0000070b .insn 4, 0x070b - 1024c: 10802783 lw a5,264(zero) # 108 - 10250: 0007071b sext.w a4,a4 - 10254: 0af77063 bgeu a4,a5,102f4 - 10258: 10002783 lw a5,256(zero) # 100 - 1025c: 0057569b srliw a3,a4,0x5 - 10260: 03b71593 slli a1,a4,0x3b - 10264: 0027d31b srliw t1,a5,0x2 - 10268: 03d5d613 srli a2,a1,0x3d - 1026c: 0266d5bb divuw a1,a3,t1 - 10270: 00377713 andi a4,a4,3 - 10274: 0266f6bb remuw a3,a3,t1 - 10278: 0035959b slliw a1,a1,0x3 - 1027c: 00b60633 add a2,a2,a1 - 10280: 02c787bb mulw a5,a5,a2 - 10284: 0026969b slliw a3,a3,0x2 - 10288: 00e686bb addw a3,a3,a4 - 1028c: 00d787bb addw a5,a5,a3 - 10290: 02079793 slli a5,a5,0x20 - 10294: 0207d793 srli a5,a5,0x20 - 10298: 06050263 beqz a0,102fc - 1029c: 16803703 ld a4,360(zero) # 168 - 102a0: 00579693 slli a3,a5,0x5 - 102a4: 00d70733 add a4,a4,a3 - 102a8: 00072007 flw ft0,0(a4) - 102ac: 00472087 flw ft1,4(a4) - 102b0: 00872107 flw ft2,8(a4) - 102b4: 00c72187 flw ft3,12(a4) - 102b8: 01072207 flw ft4,16(a4) - 102bc: 01472287 flw ft5,20(a4) - 102c0: 01872307 flw ft6,24(a4) - 102c4: 01c72387 flw ft7,28(a4) - 102c8: 00005e0b .insn 4, 0x5e0b - 102cc: a1c386d3 fle.s a3,ft7,ft8 - 102d0: e00f8753 fmv.x.w a4,ft11 - 102d4: 00279793 slli a5,a5,0x2 - 102d8: e60682e3 beqz a3,1013c - 102dc: 00f807b3 add a5,a6,a5 - 102e0: 0117a023 sw a7,0(a5) - 102e4: 0000070b .insn 4, 0x070b - 102e8: 10802783 lw a5,264(zero) # 108 - 102ec: 0007071b sext.w a4,a4 - 102f0: f6f764e3 bltu a4,a5,10258 - 102f4: 00000513 li a0,0 - 102f8: 00008067 ret - 102fc: d006f7d3 fcvt.s.w fa5,a3 - 10300: d0067353 fcvt.s.w ft6,a2 - 10304: 12002087 flw ft1,288(zero) # 120 - 10308: 00e7f7d3 fadd.s fa5,fa5,fa4 - 1030c: 00e37353 fadd.s ft6,ft6,fa4 - 10310: 12402107 flw ft2,292(zero) # 124 - 10314: 14c02207 flw ft4,332(zero) # 14c - 10318: 13c02187 flw ft3,316(zero) # 13c - 1031c: 5017f7c3 fmadd.s fa5,fa5,ft1,fa0 - 10320: 50237343 fmadd.s ft6,ft6,ft2,fa0 - 10324: 13802087 flw ft1,312(zero) # 138 - 10328: 15002107 flw ft2,336(zero) # 150 - 1032c: 13402007 flw ft0,308(zero) # 134 - 10330: 14402287 flw ft5,324(zero) # 144 - 10334: 1017f0c7 fmsub.s ft1,fa5,ft1,ft2 - 10338: 15402107 flw ft2,340(zero) # 154 - 1033c: 2007f047 fmsub.s ft0,fa5,ft0,ft4 - 10340: 14002207 flw ft4,320(zero) # 140 - 10344: 1037f7c7 fmsub.s fa5,fa5,ft3,ft2 - 10348: 14802107 flw ft2,328(zero) # 148 - 1034c: 085372c3 fmadd.s ft5,ft6,ft5,ft1 - 10350: 00437243 fmadd.s ft4,ft6,ft4,ft0 - 10354: 12c02087 flw ft1,300(zero) # 12c - 10358: 78237343 fmadd.s ft6,ft6,ft2,fa5 - 1035c: 12802007 flw ft0,296(zero) # 128 - 10360: 13002107 flw ft2,304(zero) # 130 - 10364: 211883d3 fmv.s ft7,fa7 - 10368: 210801d3 fmv.s ft3,fa6 - 1036c: f5dff06f j 102c8