From 87ae5c8cdf0ef863b93d952cb28d6fad0db5e4f1 Mon Sep 17 00:00:00 2001 From: felsabbagh3 Date: Wed, 6 Nov 2019 23:30:07 -0500 Subject: [PATCH] Fixed emulator --- emulator/args.o | Bin 16216 -> 16216 bytes emulator/core.cpp | 17 +- emulator/core.o | Bin 44496 -> 50224 bytes emulator/enc.o | Bin 18608 -> 18608 bytes emulator/harptool | Bin 151676 -> 160192 bytes emulator/harptool.o | Bin 37456 -> 37456 bytes emulator/include/debug.h | 2 +- emulator/instruction.cpp | 302 ++++++---- emulator/instruction.o | Bin 29344 -> 34272 bytes emulator/libharplib.a | Bin 149192 -> 165648 bytes emulator/libharplib.so | Bin 125420 -> 138104 bytes emulator/mem.cpp | 8 +- emulator/mem.o | Bin 24892 -> 30616 bytes emulator/test_riscv.sh | 2 +- emulator/util.o | Bin 4408 -> 4408 bytes kernel/vx_main.c | 2 +- runtime/startup/vx_start.s | 2 +- runtime/tests/tests.c | 14 +- runtime/vortex_runtime.dump | 1066 ++++++++++++++++++----------------- runtime/vortex_runtime.elf | Bin 10592 -> 10600 bytes runtime/vortex_runtime.hex | 253 +++++---- runtime/vx_api/vx_api.c | 2 +- runtime/vx_main.c | 70 +-- 23 files changed, 947 insertions(+), 793 deletions(-) diff --git a/emulator/args.o b/emulator/args.o index b82b43735db190ee499d45c1d25536c3c4826f4d..052c8b1edebf491d2835b5610769cc3fc1cce442 100644 GIT binary patch delta 386 zcmcanccX5@Sr#che)$##5J;PFctRSS$1m@&`8kUk6E|EWZNg>=b~8pUxWI(X5gbpM zwBh`;2_D^|96*yix=ld_z623SMgk4U;ATTHpn}JgNekJ4&igMwx;$FnmOhG(b&NTT z>Z0p>Vkj<}{6k}u)pJiOEGMY;CRZU zjZn+r(JjgWG{U3X6lBs%5CJj`W){Qd3~n|?WCJRAOqsNh6nJ#re*x0v(fYRZQFN?h z%wbf=T;~&G;zm+G`G>$%Wd7zEf=fUO;8sp{7n#h1Y{uqiBJ7OFS| +#include // #define USE_DEBUG 7 // #define PRINT_ACTIVE_THREADS @@ -36,7 +37,7 @@ Core::Core(const ArchDef &a, Decoder &d, MemoryUnit &mem, Word id): a(a), iDec(d), mem(mem), steps(0) { for (unsigned i = 0; i < a.getNWarps(); ++i) - w.push_back(Warp(this)); + w.push_back(Warp(this, i)); w[0].activeThreads = 1; w[0].spawned = true; @@ -53,6 +54,7 @@ void Core::step() { cout << endl << "Threads:"; #endif + for (unsigned i = 0; i < w.size(); ++i) { if (w[i].activeThreads) { D(3, "Core step stepping warp " << i << '[' << w[i].activeThreads << ']'); @@ -93,11 +95,12 @@ void Core::printStats() const { } Warp::Warp(Core *c, Word id) : - core(c), pc(0), interruptEnable(true), + core(c), pc(0x80000000), interruptEnable(true), supervisorMode(true), activeThreads(0), reg(0), pred(0), shadowReg(core->a.getNRegs()), shadowPReg(core->a.getNPRegs()), id(id), spawned(false), steps(0), insts(0), loads(0), stores(0) { + D(3, "Creating a new thread with PC: " << hex << this->pc << '\n'); /* Build the register file. */ Word regNum(0); for (Word j = 0; j < core->a.getNThds(); ++j) { @@ -111,8 +114,10 @@ Warp::Warp(Core *c, Word id) : pred[j].push_back(Reg(id, regNum++)); } - tmask.push_back(true); - shadowTmask.push_back(true); + bool act = false; + if (j == 0) act = true; + tmask.push_back(act); + shadowTmask.push_back(act); } Word csrNum(0); @@ -197,9 +202,9 @@ void Warp::step() { if (USE_DEBUG >= 3) { D(3, "Register state:"); for (unsigned i = 0; i < reg[0].size(); ++i) { - D_RAW(" %r" << dec << i << ':'); + D_RAW(" %r" << setfill(' ') << setw(2) << dec << i << ':'); for (unsigned j = 0; j < reg.size(); ++j) - D_RAW(' ' << hex << reg[j][i] << ' '); + D_RAW(' ' << setfill('0') << setw(8) << hex << reg[j][i] << setfill(' ') << ' '); D_RAW('(' << shadowReg[i] << ')' << endl); } // D(3, "Predicate state:"); diff --git a/emulator/core.o b/emulator/core.o index 5e55d1fd905b34b8e1f42efe08810de84726e463..62ec4f3ca34a4d96f89d2594d610173468f996ac 100644 GIT binary patch delta 19953 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 Zv`QLMFy}%45b@0+SL>lkBu`S5{{&YYGI{_2 diff --git a/emulator/enc.o b/emulator/enc.o index d62e4d9205d41b774363382322d8a529a2fd0b76..f5f8e370c24e01d123433a864547926ff93f988a 100644 GIT binary patch delta 599 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 G&Hn>GAz)+x literal 151676 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 diff --git a/emulator/harptool.o b/emulator/harptool.o index 5e3f87603b969fd00a55e9a26d4e29104e12a135..84af87f39264be714926ded22f8452e2abe90c62 100644 GIT binary patch delta 576 zcmcbxgz3T(rVVphwe|SrTNpqfZGz!}!xPew_}%UThmrY{Pp}^5fy?vDJ4~L=wisE! zWwIOlac;PZvwU>g;=;Sgj_I$Hn(uS zVnxJWi zOm<^G&W(^~m@L6zgsLEnqZHMM>m0|qVA>fNCI<@0Og_RXg)YRxg(2jEA+))L>lG`q z&I$pu$#HxVlaC2#APH~&At1(!%$Ja3Wn@g7+@~r&*;M{2s(Zy0z5zW1ci?1kMHN){ zyDO@qC@5EKMd7n6r6b!_q4by&#emJ}I;}z|ItW@3ZjWlkb9-bfCPz4YK{ju5xMMLR hil;VTbCTdga@6D>0i{44@N_V_BJdNchO(er_5kUEggyWO diff --git a/emulator/include/debug.h b/emulator/include/debug.h index 32208896..cd8c7e48 100644 --- a/emulator/include/debug.h +++ b/emulator/include/debug.h @@ -4,7 +4,7 @@ #ifndef __DEBUG_H #define __DEBUG_H -// #define USE_DEBUG 9 +#define USE_DEBUG 9 #ifdef USE_DEBUG #include diff --git a/emulator/instruction.cpp b/emulator/instruction.cpp index e521a79b..5dbbc29a 100644 --- a/emulator/instruction.cpp +++ b/emulator/instruction.cpp @@ -138,18 +138,38 @@ void Instruction::executeOn(Warp &c) { bool join = (op == GPGPU) && (func3 == 3); - predicated = (op == GPGPU) && ((func3 == 7) || (func3 == 2)); + // predicated = (op == GPGPU) && ((func3 == 7) || (func3 == 2)); + // bool is_branch = (op == B_INST); + // bool is_jump = (op == JAL_INST) || (op == JALR_INST); + + bool is_gpgpu = (op == GPGPU); + + bool is_tmc = is_gpgpu && (func3 == 0); + bool is_wspawn = is_gpgpu && (func3 == 1); + bool is_barrier = is_gpgpu && (func3 == 4); + bool is_split = is_gpgpu && (func3 == 2); + bool is_join = is_gpgpu && (func3 == 3); + + bool gpgpu_zero = (is_tmc || is_barrier || is_wspawn) && (t != 0); + + bool not_active = !c.tmask[t]; + + if (not_active || gpgpu_zero) + { + continue; + } + // printf("Predicated: %d, split: %d, join: %d\n",predicated, split, join ); // printf("%d && ((%d) || (%d))\n",(op == GPGPU), (func3 == 7), (func3 == 2) ); // cout << "before " << op << " = " << GPGPU << "\n"; - if (((predicated && !reg[pred]) || !c.tmask[t]) && !split && !join) - { - // cout << "about to continue\n"; - continue; - } + // if (((predicated && !reg[pred]) || !c.tmask[t]) && !split && !join) + // { + // // cout << "about to continue\n"; + // continue; + // } // cout << "after\n"; ++c.insts; @@ -163,6 +183,7 @@ void Instruction::executeOn(Warp &c) { bool m_exten; // std::cout << "op = " << op << "\n"; // std::cout << "R_INST: " << R_INST << "\n"; + int num_to_wspawn; switch (op) { case NOP: @@ -462,11 +483,11 @@ void Instruction::executeOn(Warp &c) { //std::cout << "S_INST\n"; ++c.stores; memAddr = reg[rsrc[0]] + immsrc; - // //std::cout << "STORE MEM ADDRESS: " << std::hex << reg[rsrc[0]] << " + " << immsrc << "\n"; + std::cout << "STORE MEM ADDRESS: " << std::hex << reg[rsrc[0]] << " + " << immsrc << "\n"; // //std::cout << "FUNC3: " << func3 << "\n"; - if (memAddr == 0x00010000) + if ((memAddr == 0x00010000) && (t == 0)) { - std::cout << (char) reg[rsrc[1]]; + fprintf(stderr, "%c", (char) reg[rsrc[1]]); break; } switch (func3) @@ -558,7 +579,7 @@ void Instruction::executeOn(Warp &c) { case JAL_INST: //std::cout << "JAL_INST\n"; if (!pcSet) nextPc = (c.pc - 4) + immsrc; - if (!pcSet) //std::cout << "JAL... SETTING PC: " << nextPc << "\n"; + if (!pcSet) {/*std::cout << "JAL... SETTING PC: " << nextPc << "\n"; */} if (rdest != 0) { reg[rdest] = c.pc; @@ -566,9 +587,9 @@ void Instruction::executeOn(Warp &c) { pcSet = true; break; case JALR_INST: - //std::cout << "JALR_INST\n"; + std::cout << "JALR_INST\n"; if (!pcSet) nextPc = reg[rsrc[0]] + immsrc; - if (!pcSet) //std::cout << "JALR... SETTING PC: " << nextPc << "\n"; + if (!pcSet) {/*std::cout << "JALR... SETTING PC: " << nextPc << "\n";*/ } if (rdest != 0) { reg[rdest] = c.pc; @@ -578,76 +599,85 @@ void Instruction::executeOn(Warp &c) { case SYS_INST: //std::cout << "SYS_INST\n"; temp = reg[rsrc[0]]; - switch (func3) + if (immsrc == 0x20) // ThreadID { - case 1: - // printf("Case 1\n"); - if (rdest != 0) - { - reg[rdest] = c.csr[immsrc & 0x00000FFF]; - } - c.csr[immsrc & 0x00000FFF] = temp; - - break; - case 2: - // printf("Case 2\n"); - if (rdest != 0) - { - // printf("Reading from CSR: %d = %d\n", (immsrc & 0x00000FFF), c.csr[immsrc & 0x00000FFF]); - reg[rdest] = c.csr[immsrc & 0x00000FFF]; - } - // printf("Writing to CSR --> %d = %d\n", immsrc, (temp | c.csr[immsrc & 0x00000FFF])); - c.csr[immsrc & 0x00000FFF] = temp | c.csr[immsrc & 0x00000FFF]; - - break; - case 3: - // printf("Case 3\n"); - if (rdest != 0) - { - reg[rdest] = c.csr[immsrc & 0x00000FFF]; - } - c.csr[immsrc & 0x00000FFF] = temp & (~c.csr[immsrc & 0x00000FFF]); - - break; - case 5: - // printf("Case 5\n"); - if (rdest != 0) - { - reg[rdest] = c.csr[immsrc & 0x00000FFF]; - } - c.csr[immsrc & 0x00000FFF] = rsrc[0]; - - break; - case 6: - // printf("Case 6\n"); - if (rdest != 0) - { - reg[rdest] = c.csr[immsrc & 0x00000FFF]; - } - c.csr[immsrc & 0x00000FFF] = rsrc[0] | c.csr[immsrc & 0x00000FFF]; - - break; - case 7: - // printf("Case 7\n"); - if (rdest != 0) - { - reg[rdest] = c.csr[immsrc & 0x00000FFF]; - } - c.csr[immsrc & 0x00000FFF] = rsrc[0] & (~c.csr[immsrc & 0x00000FFF]); - - break; - case 0: - if (immsrc < 2) - { - //std::cout << "INTERRUPT ECALL/EBREAK\n"; - nextActiveThreads = 0; - c.spawned = false; - // c.interrupt(0); - } - break; - default: - break; + reg[rdest] = t; + D(2, "CSR Reading tid " << hex << immsrc << dec << " and returning " << reg[rdest]); + } else if (immsrc == 0x21) // WarpID + { + reg[rdest] = c.id; + D(2, "CSR Reading wid " << hex << immsrc << dec << " and returning " << reg[rdest]); } + // switch (func3) + // { + // case 1: + // // printf("Case 1\n"); + // if (rdest != 0) + // { + // reg[rdest] = c.csr[immsrc & 0x00000FFF]; + // } + // c.csr[immsrc & 0x00000FFF] = temp; + + // break; + // case 2: + // // printf("Case 2\n"); + // if (rdest != 0) + // { + // // printf("Reading from CSR: %d = %d\n", (immsrc & 0x00000FFF), c.csr[immsrc & 0x00000FFF]); + // reg[rdest] = c.csr[immsrc & 0x00000FFF]; + // } + // // printf("Writing to CSR --> %d = %d\n", immsrc, (temp | c.csr[immsrc & 0x00000FFF])); + // c.csr[immsrc & 0x00000FFF] = temp | c.csr[immsrc & 0x00000FFF]; + + // break; + // case 3: + // // printf("Case 3\n"); + // if (rdest != 0) + // { + // reg[rdest] = c.csr[immsrc & 0x00000FFF]; + // } + // c.csr[immsrc & 0x00000FFF] = temp & (~c.csr[immsrc & 0x00000FFF]); + + // break; + // case 5: + // // printf("Case 5\n"); + // if (rdest != 0) + // { + // reg[rdest] = c.csr[immsrc & 0x00000FFF]; + // } + // c.csr[immsrc & 0x00000FFF] = rsrc[0]; + + // break; + // case 6: + // // printf("Case 6\n"); + // if (rdest != 0) + // { + // reg[rdest] = c.csr[immsrc & 0x00000FFF]; + // } + // c.csr[immsrc & 0x00000FFF] = rsrc[0] | c.csr[immsrc & 0x00000FFF]; + + // break; + // case 7: + // // printf("Case 7\n"); + // if (rdest != 0) + // { + // reg[rdest] = c.csr[immsrc & 0x00000FFF]; + // } + // c.csr[immsrc & 0x00000FFF] = rsrc[0] & (~c.csr[immsrc & 0x00000FFF]); + + // break; + // case 0: + // if (immsrc < 2) + // { + // //std::cout << "INTERRUPT ECALL/EBREAK\n"; + // nextActiveThreads = 0; + // c.spawned = false; + // // c.interrupt(0); + // } + // break; + // default: + // break; + // } break; case TRAP: //std::cout << "INTERRUPT TRAP\n"; @@ -670,30 +700,44 @@ void Instruction::executeOn(Warp &c) { //std::cout << "GPGPU\n"; switch(func3) { - case 0: + case 1: // WSPAWN - //std::cout << "WSPAWN\n"; + std::cout << "WSPAWN\n"; if (sjOnce) { sjOnce = false; - D(0, "Spawning a new warp."); // //std::cout << "SIZE: " << c.core->w.size() << "\n"; - for (unsigned i = 0; i < c.core->w.size(); ++i) + num_to_wspawn = reg[rsrc[0]]; + + D(0, "Spawning " << num_to_wspawn << " new warps at PC: " << hex << reg[rsrc[1]]); + for (unsigned i = 1; i < num_to_wspawn; ++i) { // std::cout << "SPAWNING WARP\n"; Warp &newWarp(c.core->w[i]); // //std::cout << "STARTING\n"; - if (newWarp.spawned == false) { + // if (newWarp.spawned == false) + { // //std::cout << "ABOUT TO START\n"; - newWarp.pc = reg[rsrc[0]]; - newWarp.reg[0] = reg; - newWarp.csr = c.csr; + newWarp.pc = reg[rsrc[1]]; + // newWarp.reg[0] = reg; + // newWarp.csr = c.csr; + for (int kk = 0; kk < newWarp.tmask.size(); kk++) + { + if (kk == 0) + { + newWarp.tmask[kk] = true; + } + else + { + newWarp.tmask[kk] = false; + } + } newWarp.activeThreads = 1; newWarp.supervisorMode = false; newWarp.spawned = true; - break; } } + break; } break; case 2: @@ -704,12 +748,16 @@ void Instruction::executeOn(Warp &c) { { sjOnce = false; if (checkUnanimous(pred, c.reg, c.tmask)) { - //std::cout << "Unanimous pred: " << pred << " val: " << reg[pred] << "\n"; + std::cout << "Unanimous pred: " << pred << " val: " << reg[pred] << "\n"; DomStackEntry e(c.tmask); e.uni = true; c.domStack.push(e); break; } + cout << "Split: Original TM: "; + for (auto y : c.tmask) cout << y << " "; + cout << "\n"; + DomStackEntry e(pred, c.reg, c.tmask, c.pc); c.domStack.push(c.tmask); c.domStack.push(e); @@ -717,49 +765,79 @@ void Instruction::executeOn(Warp &c) { { c.tmask[i] = !e.tmask[i] && c.tmask[i]; } + + + cout << "Split: New TM\n"; + for (auto y : c.tmask) cout << y << " "; + cout << "\n"; + cout << "Split: Pushed TM PC: " << hex << e.pc << dec << "\n"; + for (auto y : e.tmask) cout << y << " "; + cout << "\n"; } - } break; + } case 3: // JOIN //std::cout << "JOIN\n"; + D(3, "JOIN INSTRUCTION"); if (sjOnce) { sjOnce = false; if (!c.domStack.empty() && c.domStack.top().uni) { D(2, "Uni branch at join"); + printf("NEW DOMESTACK: \n"); c.tmask = c.domStack.top().tmask; c.domStack.pop(); break; } if (!c.domStack.top().fallThrough) { - if (!pcSet) nextPc = c.domStack.top().pc; + if (!pcSet) { + nextPc = c.domStack.top().pc; + cout << "join: NOT FALLTHROUGH PC: " << hex << nextPc << dec << '\n'; + } pcSet = true; } + + cout << "Join: Old TM: "; + for (auto y : c.tmask) cout << y << " "; + cout << "\n"; c.tmask = c.domStack.top().tmask; + + cout << "Join: New TM: " << '\n'; + for (auto y : c.tmask) cout << y << " "; + cout << "\n"; + c.domStack.pop(); } break; case 4: - // JMPRT - //std::cout << "JMPRT\n"; - nextActiveThreads = 1; - if (!pcSet) nextPc = reg[rsrc[0]]; - pcSet = true; + // is_barrier break; - case 5: - // CLONE - //std::cout << "CLONE\n"; - // //std::cout << "CLONING REG: " << rsrc[0] << " lane: " << reg[rsrc[0]] << "\n"; - c.reg[reg[rsrc[0]]] = reg; - break; - case 6: - // JALRS + case 0: + // TMC //std::cout << "JALRS\n"; - nextActiveThreads = reg[rsrc[1]]; - reg[rdest] = c.pc; - if (!pcSet) nextPc = reg[rsrc[0]]; - pcSet = true; + + nextActiveThreads = reg[rsrc[0]]; + { + for (int ff = 0; ff < c.tmask.size(); ff++) + { + if (ff < nextActiveThreads) + { + c.tmask[ff] = true; + } + else + { + c.tmask[ff] = false; + } + } + } + if (nextActiveThreads == 0) + { + c.spawned = false; + } + // reg[rdest] = c.pc; + // if (!pcSet) nextPc = reg[rsrc[0]]; + // pcSet = true; // //std::cout << "ACTIVE_THREDS: " << rsrc[1] << " val: " << reg[rsrc[1]] << "\n"; // //std::cout << "nextPC: " << rsrc[0] << " val: " << std::hex << reg[rsrc[0]] << "\n"; break; @@ -794,7 +872,11 @@ void Instruction::executeOn(Warp &c) { // This way, if pc was set by a side effect (such as interrupt), it will // retain its new value. - if (pcSet) c.pc = nextPc; + if (pcSet) + { + c.pc = nextPc; + cout << "Next PC: " << hex << nextPc << dec << "\n"; + } if (nextActiveThreads > c.reg.size()) { cerr << "Error: attempt to spawn " << nextActiveThreads << " threads. " diff --git a/emulator/instruction.o b/emulator/instruction.o index 5fe73f1d93fa15af15c4ba5b529914419cf1bacb..fa8254038ef7f62fa7d59a96bdf4a0c7dee56dee 100644 GIT binary patch literal 34272 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 SIIC0vO3-I2eL1mCRsJ^|)Bjcg diff --git a/emulator/libharplib.a b/emulator/libharplib.a index 045f5b7408af2291f4aa6986573338c4fec7d91d..6b7d5e8872fe932608704ea8f3b90847a5d19abb 100644 GIT binary patch delta 59489 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 diff --git a/emulator/libharplib.so b/emulator/libharplib.so index 6afd15b4bbb5645ac5ed154c6608011559a33fed..c147329edf3c1d43107c018e6c51fa3a424e5a17 100755 GIT binary patch literal 138104 zcmeFa3w%_?`9Hi%0tQ7-RM6BLi>{goYGO%EKqN~Nat>}Jia=V$peV+QlEN-T1qtqM z;qa2ws_Gg~S_)sO0^AXU^F@381#WzVG}0|32;q zGWTbmdFGjCW}bOw&P%&@>^Z>W@n(5Eo<8`m;eUOO#}jKh6h4pV2l&6Xm&a3AcR^+C z1v0AppC<1q z2Ewo#UXBfqeZpTIni{^euKx0A4VTZ5;qLu$(Fj%gN9Zg57`DACVlVur%nZ%A@|r7D z>R$bE=ST%FVI#mWdBpj3gN?|#x+&AInVIR}p6#7HTEQD{7i5_HvABeD47~H(n&?cpDa-y1FZ-XQ;L}emOQi!Y;#bPk0l$!JBr;H{sWA z!@J+^2Zr77APYPht|dNKPrt10%4@C+)lCgwGi9&#-WgH-P-x@8up3@q7jE?K%_rUa zW2+4>-!91TH}lCAQ>N5i-Z=XU;6%54^25 zyhV089XI_H_L;;wH!wu^#INbssziIH$Tz~{IMXGZpmFXwl@*3FXDqU7Zn6Q{;l}G# zn5k~u4n{a1|MPmpPrLHc`b%asz&UN^bfg{c@ia-^1H8!yPlkIZ2-x`tucv8%$J4mj z>&ZvoFKY3676UobmN4_*@_J50g?F}lJzG!lcn(5b4gT|Ys{Q}(aNolJG5Ei~U*it1 zXYD=`k47BpIq=H%=ic2uV%lFGoqJH){sIVfMrKzwasVJq5m}!1omRo&w)f;Cl*uPl4|#@I3{-r@;3V z_?`maQ=mHqbgL?7jmKNmvT~|6umZXk>qtFbm8+Mo2=&*^*OQ%ouV?CM+Q6tRHnn+W zb0(w>Ec3*=w3{Q?@dqXbCIrR@E*L*fpa0RF$gEq(>G2AGjc$hgzF>Tgf3i8pe~fNc z`1AGHTR{YBwCIsgQ!rNpbLB9xP>)CbO(>tJ@KdMYVa{CL%=X*(nOnq8;G{=7HQijz zA`RMt(S#G}^lGu^;nSWteBlND$+~p`tFQ3a>hWWPbG@E5*}XhL>r?|?-J0gFsgCW? zqR+ApDwLO%kzWgC)K5&8QSPq^w`Ewu3^pf>E=$64}4-R z;k@dC&y4wBb#-;ko0kg@05{E9USV#HwKOgcnkj(F1*q`jdc612Il!TGWoT^Bx+=fA zbZ5}q4zRCDu(~x9VB5ro6C~Jy)#k_51xaK67ZUQZ@DQ?g(`V4%RG4dHEr545;c5CN zefTtgZU~fY6KA8iZdLemf>yq6W&2UJqE__xP>}?Y<1fsSp<|7<;B0_YbPT~4(4H9Y zS$Lbj3H9k#e?N;i2IC{jP?=535v&)qY>>3vgp8ymGac=uqy}U-W@__yq35RKznz}d zW}BOyf4ko6F-jAm9~;)#e53S5-F()e=TU|=oAlJppua@S0c_oZ4;@Cz8U^e2rtDup zAcwN!06D1Xo%--0enr?11_4C8_wMW9pbM|ot?SEl>j2&I=)-$wU+(pU=h~wx0v`6F z3-U@U{KsfF$4SR22oeFG9?x#otvnJnhy9d`VZlI+7CZ9mt}Z=3LI+=oai}drz-Cn3 zii*)zEqWNxG^}}<$`@Sb^@JkUMgBZ=!ZGCkoPxKz)_Yf)i0Y2aEi=JQ`utTKsuxZQ zTojlTxHwR^vROyT!lI43HOHSX>U<>D1stAoBy&)i+jaA8-AsrQk^y)($Z?ju6^yS9 zL`=w^ugVvSfp&R03IW7sC3Abw+({6h%XETfCCR(lZ1l^SWVYnZ2u*E9Sc|=ihB8ZT z@>JA<(R{*iX$W4#`)?b0J(LbP1u*R=&FvEs;=UM;#6K+!>3td$-> z)6;}$RAb>XP$FKLtAqTFx><=4_Kxm-Bh(kQYSCjAAPKi-_87tpH2_}tLc&7(#{=8S z972+)lKu^Pqy>UF5$Y{w3?!`wJbWn|)uvm;1EzpA?v$~L-WbmRIF6a5%&SDU@o4Cq zLGwcr`X=N|-H!2`?O#}#o3eCseI{`_5|agB2bHeGZ!(Yk0ceG~3BpQjRsfsVfzA7@ z2o?5W{gB5~(K=><><;<$qK)EY8xx&;)8O=b>L&1X2wWrPNdPNTOW4-jf6S!I zkd$F}^uIOW&_;qU?gb}F$gUY^YI9(sZnoP~k8XZFPLF(4qQ`b|KFQajt0~W{vOI7R zQSoWfpLLJPL)UbV$|k)jkvXCkLP6_# zBz1*GLGEC5w}~Hvk{G5wBR;mU+L{d_z7)z6_kw6avrF6ow>q{fba=Jdk$S$FQREgx zg?B)*KunA)1V~Bx61fLBd&kX_HwJF(7u>u_S94(s|mN@wKhVVAhneR1~ zFC<&xBLvDZraa?@kiR#CyKM-!xgq2ef^I{&&VisuR+YHKbf&`t7Z~POSaex+oIgU< zSUlvh4kW-W~Z3l4v}+55NfqUvXuVD`RUrT@xF2M(hg93KAxvdEE>X?mVG-NxZ$8;8Rs4zj)d z?fQ3Ih?=JWWMxrH(XL6TW-6<(2HZl&>^&Jy;37SKa5)D^qW4({OY9Q84aXZF@e_EH zKL8HRl3tm0apWUR{OBeuXu<45{UDqceI5XU)(uzzoR;b@=g;!oWdsY66*>>HH)zew z$0E^JUD{D?epaoG-Uhi7IxJ|uD<{!5@mExZN%M%H*%>To*GFI^&zsjz9|0Ima~{Fk z^C8_T&nw!+nf2ka=q|&2BRq++D|RcgR2S?q=3~sDj2|9Z=zt2dJ=Stn3^jM3$u6p`of@jJot8!@I2nbhUVY+kFn(Ta!VeZfqexCh`Y3XvFM{T4K~x7aVhtI@9}IV_ zjKm+0B%R=kwFI%eRBOy2=GS~J_9Pez>ziOfi(-!(W^|E`pE;y#BEZPAnb+jIz38c4)_QTP( z*ha%#ZJ6t|=s~EMyXL;trE9d<-%w&XVmv|fW9&nM<_b~KANkEq2KG1kUNWJJ11XO} z{u1m*z^uO{V2lt9*K%+NmQ~z{V5yi8(*PrgZEOidr7szjTN$PCFeEAE7Hy_aoGtSq z1O|z6$($UCKN*r>e;eC@5wAsa03-D~)DM8Vbq<&YrIJfQflO|W4>Ue`EMQ=1{9`bU zxQs{wqu)t)i)e%^9>5=MU=x~+1`v0`n!&A*xl&wb=iGWIR?b)ttHrQkeuf#^d>L{L zQlH6b3@g44W%JXE7Fg&7d{n zT*P2)t3|;_SOZUk42c&PA=0ph_*4DBuhrH(x%wSrSapgIQs9G^rDB7NVCqXc0SuGT zk->tLKL1NrK2L)Ot%JVA+yrKLs@mKGNKlt_g`dEr{Nh#I@~#OLVG#)_x*3}nZ0|Y# z!WRe4q+albJ+S5twg=UmK9YTp(c>3TLhcHhmth3ON6Y~v(Sbo|m}`_QGe?(!Yx3P( z7$oK7OK^kvxD$MAC1TcaJ{rsTQHr|MtsCaKTY@1gSqUZ;=dwBPE!Fn zv4B;A@l)f73|fttn)7?=V`ibhc7@Pi7o)#+2TQ+n_16uuzjQP~_1BmC@2}6Rty$== zU9!K9Lv=>!>d=p{b3lJ>QT_Eg`b&!qBkP!*M!_a~R+(4SL)s6L9b@<0PBb!cB^!we zNsPce1jztaj3BPsyu3`ZBaA;WGP3=k{uIP>#%49Prc&D;=TA$ zi~Rz8+>J}-o!*@%ArG?s4qu{m4*-~IU0sLd%W8A#UM%VCuM8`UK4}yG)QGbddjYdU zH)?7({~b}uH}Qw^#o^zmoqrDas2g_L%@-poW!dtD{0n@NwTNVS@XmP*UkP}?l|n|W zIfUX!$;S*ocat}NKA&ysE^p2R3f<&Q2^;Q`H$F)SDQ~tMEalDHSL{RHv?B7~k~a&1 z@4wf-7qg20ioEFuNMga~|F*n&1q1-j-$ma1W2!B0%E8B?00qBY-t<0?{j;~cxfP|m z$(!2%+%0eBFs$Z;;r*n%8HSj>Q3?6+zano+0Zg^7?UU~;Zz?3t-(BAHxAT7odGinG zGTrj#9foar(*S-H6AlDR+ds42eF8PL83$J`Zs&TdDo-C=m5W&WJWKl1GrEOfX3C!0 zY*m%Tv&+1MqVmUko8w3y==0}6rP38TIQd!MjJ$K#Cige--akfuOyys?%Jdd3D1)8R zg~=!3abbwX%#~^QJ_Y}_Z-!sm4ZbYXTTFJ~PwW9-Y8mF`-~deH+E-hGsnH|aa)3@` zRo+TRUSshgSBA%0L9b_5d0}rY_70bq@#zhQ*<~z+_~&n6YG{U9vb|7C98j?k`mm}R ztR=meiwv`>Mw|;Y6qvgR27AIw4PKTnJf#%&+F1l*N2~gDzsjzMXiZg zc(m&UoqB6$mTtbL7p&1Ed%UxLwwxBq;zpoun4@!KVbq?bYOe=uX!9}8m*p7d#Ckp6 z%7Qx99si#m>A{D&~ZL#@b!~^F5v3T(*;81ZmaxBj#g(k8ZYqnl(wi^ZQ22e5L zWnLrF(u-py=bU&pYd5arA@c0B7J|`bh{2)P!E}33v0k;zL;qK5T1AAA65afLGZ`dDZ4@ z=nD{4ZI1OB76en3juw~by=@wl$t4sN4=tUB)d$(@Ntkr<J zaxX7_(T8KE%+tCvE3&7zwt(kMdVBzHVdzt`AJx67Y6v^ z%iiD%IdVp#A+GUD{pS@8T)KbB&FXnb#g+`@9#^PGgqJMx#3`X4=#do|8r))T6F)?r zGHuyv?l5qaa(#*TBcP*{?(i>i!Y}z3dsFOB$Cbe?Otn&;4JZXdj+!^J0=u^(A)2HZ zz!5`*AA<;IReBst-qOvpPRtO`=J(-xWMz&hWR<0xXSc~S0iu#T7E#R-DOdZjS6rvN z>QlQ#yS@?My}p)gcYWd?2wn(cu--qz58Wtx+@ts-dv-pwsy1)@L-(%j+FFaWM*Jt= z@ZLrV{*#}&^;c z$<|9-XHPOG<~Sh8Z)tuht;v~HV@~`gezMEO^{&$O&^?(G-II&N2RX<_Ku)z6VMwV= zIB>xdd4%6?kyN^en?PZ>qCqDFoK*R!|UIBriMWD*zxn8OgUerX& zU999u##xZcTc9xPr&~1u_NFx|FS7OV$l4rpRGzpMzzlO0Prt1)VOV!(x3fGH@>exo zU*ZX!tu32b&S6lCjI3q?T&p^V*!C;h2nI$&=jL{NT(H4>R?LO?#60DbY$@j(wEi%b zw6d1rb_**h#4-EdDsj^N0MP1MuPtj&-7ES7QRb%&O2B-j8&UH?)PJIYP1Fq>vjF>+ zL?}(vdodhD!j9`f)JG7#?1!@Y{Soz-o(xgv$r>b4XW0M`Q$(G}N-kyGHxl)10K+yn zL)6|5QD;e_8j7fGA`2NwR9^PnA5kmJcf^2QlCHLv!!?LVh)1D^>p|b@3efj=Y5LwK z{)q}CeO>w`Fv+AbtRKg&^FLaQ8A3PD4920UHOJ@Zi7MXD!8u7)p6&YR8u6t~;61ay zUyLI1R`1`St~EGy<_v>libT}kNH2bfolh_07TR(2Q_;?!Qf5W{ivSRSasY_QcRI=N zFLL}=Eev5Aav^pFj~g+qhO&J+tc)mKQ2Kfi^tOqoB`JFEDhK_+m8bw}S70y;b#q~LI(qr z$R6nCehygJkOk!Y6*_Ee{H!18i55)CUDc&~f?8E4&zOgxew;L5k@1G%P3TylSe1Fz z1skZA@vaGFRW3Y9D(24ug6GDAeZAGxHtfW>I46D#0vmY*^*U9{IpP(G4tyDGt1(O_ zVOcZRr$xu0W-P9i{Hw6A>9neIoiGlci#8es&j-z|MhDKQHik~sODCb!d+ZeuMcsyrs*vM)!JN^BU%V;HV*AdXz_$tR6N;i5>(f^T2j2@?y4l0NQDJE&v_a1`Hjs0ueZ( zqyqkh-Q*Go3v3p9iv$uVRL^58!ql!RzRP%S~9fscX()2#Rjz+$Xmy{W_)5P&4>@0Mh}b=2eVtD6Nkp=|PekSNuH zVyRb2pXA`(U0tsAU*H1lP!~XuRu;WK-uxV=_4d{ltEByj^w1#e#l)Lzu(`cxS1``g z$#V2*B4|$WiKAr`r{u{wUBW;4KY@SU{@_0?Nn*nX0ned0Qfv8TBQV{bj&w!Hnee&V z%Jz>BJjJSO=z#?#@4u*`d*qB*ad_JP?}^1P`k=*BUQxHL%<_25mA*Tjm_4 z{qaR<0XQ#b=8I$ln9g>l))79|n-E*8axR>NrT?j?0iPwj`U*6ceNB3`i3?!PspG^M zV~kr`xy0JuZHZOb>G3R)tK)d_?Xpxt9EVb>QT4KX@mn}iROehgRZOq10}~gseTMnE zJQp%Q$MWbI#*8;#s4!c{=`U}k>VjH>($zDDq-MLDkM(shJ`&T=2%VubY*F9KtXtA09n%WURKJyFJK(UT~Xs{ueV%sy#g zvmZ081904q0ov77lWUe^@>?Yt#*vfGd=VIrq5;_q^A)MYz^Tp!{(iFB(=mKywdU%@ zn72sYm$%ZQ59F;FlnQwN1>k|wRkMGf2;SCJlh2BD?xBW1l)Gy30+FwCwCFF^Xa2iTb$BXDzpPj|G&lST@NruXE$6jqtpF0#-+`UBHl0Ti3mFNm zF3+0}?S;K7%!Qr}e`dfUF?GM2A<9s-tk;ivA@1dh=C{CT{(G#nY~c{L-(6p2(XP?) zAwM*CR+vJTJPReU#{$N_!2Azb3OHlo;vKbcXucM$hIk4{1DI68#uaJ~0QQTSSi@>h z422>1bVOyab|csW|EiqST@s4;5ek!t4{^&^C}jcQcnbB~QHgI#~m5C?v$sY=8q)-EXmyNsNEjZu(risJm(;PI)=`z10LYp`ZgmHD*Cm4$2C_B#XvVM|J z`-v<>e+!?!-{Pj z`+uK5+dlhF{8@iSrmLcqGLWM;gCH*cJRjpwTxZAi=&C7*{uchM*pca~Gh_`?_7&Iw zZT`HKl?-6qH+9t~A7%J6LaCv6eKV>c;s>F;>Z*YfQt@3y?ymBRGi3CsGZF3Z=PeRU zoA`}_;qd1q3_KCD<9amu8bp5!e~u-h_T(`lgXmBjpxx--u@WESzNyh)r!xF`qZAX8 zfC5#p(MO=XYV;`*Qt_V)-HrB$5r~%j=~}YpN*Ow}!m5K1y&~UiZ~DTkTeBfVH&Tec z`$+%`$3VxYxPB4(akcqQO2c~6fSn!;gBW+n@X=C!&Vu~hMfv%B=!^g->>-u0^B_NA zeCnyx9{zEDAb!l@=63UK?TK}P)~#7$G1wBbc&^+)VizS&&vZq$Y+Rc-M77N6ij5dw zVmF9Dp0vBdnaAHl^tbTes_mJscvK1;NxlbcfOc0Ljude_oMrXkDh!9b<77T-CxWnuYYBg>mv)2>7>9T?4g?eduP3RElne&#(Ra@3!1hfjOr?v|xB{iqL&Ox6wl6r&ycUd|Q z_;5g`4){*UtcI0-L7nf_5HEGUcb1<6C3!Ytrta%}FFAzgdzI!Yd5Wo1u_LuaW3hBR zz{LHeM3oOzh90x3&~{5~x6F2R+pV$PTHBp$yY;rqm(o1T%kW1$EdUXQu<}qJ>LH&_ zLx2t2_4ttW;&)6`2cVVF_jTN!)6J`NW)&yPrG*Ec}T{vff>6N!D(?<&YU97N$VAk^`gU|Qs{jTXhK5>=&RaNiH-qwW~o_uI(c z&E$dV<@bnzQ5WREj?lICUBA#p)woO`jhjcnc12pv!uA5Q8CrNbbOF5J#%o`z+1l7! zP>hAQ!U~!?E%6U0Zc7-~OK=yDC!%*dk^c(+iC64+cW$8*w>i8(U0whLF+;_|%w1lU z(_(d~kI6XCLh`t7$+=qWG&>o}c_a_*mW*?xuc0SnX`f6U&@I`AJM?yPzD(ZrzHE+N zH*S;smdV|C+hMzkdFvk%3@n?9>oX~3u5co*QS>zKU%1ye_l zH7s?Mv){z|WNttyZZIVs0nMp(j<58k8QYMMhkI$@?C|!=DA@aLEk?#IYAO8!Gt?$s zD{p6WWIugEvf8TCOy9`)LS})&WuG~qUy=GxTyfb?x`TQ6=;Q{}-b{R*`)XSBX3|cg z94LKZ#(TuMXjkg}3<}-!tMbNqCQY4xnkl1{*J*J`qeY>~2fQs})Vpx4{y43A+tSg& zE3IM4Eb#c$=Bb8u%}b#FI<26eq(8Rn=-uS;U{bah7v5le9v)oO0*rL63UnI1-lmhg zi4OgP=BKb%4_(DtpMQt7zo}|WEtUAC+ka&08a4lB+8;VT({|ZkXuIgqK824Kl^34a z(D3c3qUfz;J(>glLl2wVlb7)n%%;cNNIU_p0cNQeockT-t8yaC#nlWvC^7ZOyqDv*@{HClnHz%`LlSB`gpw_Tav z$?>5$5;Is!>WO$1L94n3I%_^SBCqi2CM!t%sq~w z=pn=Fdx%%^bU&>nI%4;n?$^M49?o7`^z+S|3cnd}x@+V?30a zBMn@!?<@7{^HE41@dV8;aDzpVVtS-f_g0!y{gvi5Ji2gSTT%L5s)V7&79(Xv@Bw=2 zg|t44Jh5W4>>9T{&7|Xbw(yB$vkqxfll%Yy*w=PhqkMtV(Y`Y6SBc~dFsXO|#Bt1V z9e%{Y#^-X?%R{uPAwlcmW?-*dPd34+uSnL-OGach*261uiq^4Qcx})cS7KT%Ktp>XG8ycno3}1T$gqYP)|i}ykxLMVq)VAp z@P*#`MX!aCDGV%r@UQBpYY(rb0`Zif74abjw~IGA@nXPOcgj+E(;cH)LVCF0qgbT z$RFv}V@)Uptk)^}W~ht#qE*1Wl;@$rzS(O4Sub4=m@~HFo?4EWEfIz*b03doH0&`AUc#8-s&zp%Ca|%Xfr!BcG;7>PlXct{2n( zbnL%Caw{U)E)ii5@t26SNEc~?BTX`bY{s8;E16PHM97i+!AoZ3FBl)X!itbd!Hm`M zsUxe+4~*6weT>!*vbajy`4&MtkPPo?*xN|#B(Q4D_%LWbC^@_Jt3Ke*tu%0M?Hmbe z4TE`2AoAfz0B$@ZXgw$qRxD)`y25;{1vOV#eb4^eDb zQ9NFQK>W&_YU?3NT_o^IE#w%^2Ze5C`)3sgt+}u@xVIBI?fG#Y4)JT2|Ap=f%+g!;IKT8_g@X1Fz8ko@oBGmQUgdIQH3h85yra|p#iWLDlx3NL@4~B zUYbH=I29~~^bO$#G#eSe_&=#_$ZM%QdwnNfe}nY_^xL5mRDHP2pRVuia4IueWdETz z))Q;ByH_-Z)uil*eeCgdOYQF)WHr)$R{;m0_?9 z;z2AL0oUMK4<2ra*X21>j!#SEr3QA#S9ENW?ZbKqRt=Gr*ile35#EM2BQE@r0wwEz z9$BfdC}Ug+!B_1C-sc8i0T#LAJHW?2kL{Z#;h%+v6S_iYcAxx`HAqwABT<3{oEDpj z0poC-wqQI$$(W4lHfKsM2$l*hItA0+|A6_9arhzeI_X9J)1n$+x_R(jl@LxPKL;vO zzlFs^e$#T!E1q!H%BjuC2XVvEwI9+KZ>Sx3RH}Rm-ju>|D9)_(f{!uDa7?VF@XNO* z48if|$weDehf)4t*|HG8tcpHEuv0iRGo^fpn=(k3GS+4P>BtZ0g64ljfd_+?JQ%Rm z!V5p7kf#!Qx0}yCgc50T_EfD6a`d} z)4A_`AnIZG71wzQ)plYePe>4Ur2cxyCT@A)~F_WpOrd-{#SYSDZzz znV?lhy!c@N77s~)#eZQX2ctAwawp;p3-?aVZM>I>Q{15U-EPa=5P)SYd8@5INlRWn zzY+BU3T9?M7o)4uNGwJ}eym2@#HlC*$ESgUS4YLO3uv1+8Sg4!^3)b=IS`-X$boe|>0J-?ZJzeT z?Q+>-HRg($u*J|}oN2aJ@LK#f@$NcOs*=ob5t@tk?&fP!@)Gd@IL?CJtr) zSe0dZX=RBPy%N$9dw>foi@IRMiQ7-=1{+a7m%=0Y6j5;QZ?B0F3+&9uRFoH3l%wuM z#o@W^IvMDG^Q6!4J+2pa!Mr(b?<0!c2gsV`{`L=g*7o|_9nUc<$D1SskJa) zdK-zHfu_04S|PJWWt+UoQvui3&tQtFap6;wFCwIcb-Rzhjtp=wmxpWe0cjQto;ecZgp}RayE_8}~0R`1znJ_9xAB=8C)gWLm ztQ8Wt>ZILxF;_tG;+G&r(u4ICiC6Io#yNwv#m4n~SIf>HCLUlk1}nB&s%d-QE&9a^ z0HdT8=5>nf82~J%t4f|^CH-XSE#g86ZSTSQKE{SKSnna(<-EwjIsm}g^uy`Ki)RrU z>*7E=SVDWeiNLK`GaM^^C;#5QkWmHgVAobYYde#Z=eVM`idy7&#r{<`(tHCOWj)q^ z4SHFt&$vrUfHE=0y1P*EA~e4{Ky1~!dFkHm5NDu9Hn9-yzDjL?%1o7d6fIXg(ILKq z_++WwaQ9VePP#7MK66T~u}iI@D~0)ivT1m$7fWoMo$P|Prvr#2Pl3sSh)$e{FFM3(mx zwuwiPpQ|_Z5Y~(;=;J&O|`9uh-uB?~(Z{VPBTcUxI*Y z-$tzD*giKt(`13&fSJZ;2X`K%-yh`4uN(bF$m|J<4~KqB5K!=E>;ry3S)d9uPQxFD zfP_D4Z}^*W&tHocx#9aIeByK1-ueF~^FQbA&tj0`~o zf$Jrg^W>RY5uQ2#5H2JA$AnW z-Iy-L@7AJOoc5K-z#e_AjM*a2Pk>Yy@8Wtyh*|v8wFa5vBW6Oz2x{8IWd6C3et>PNy+Q{9X6mn^jIpXabH%+30F&GbD_?t}EE_uDg`{&B@z_M=c+rGfcF+%Y zb-Wf?)2nHz+EgE>R&}08W3DHZU18Su7dncd2a+v#{(^_MB}rU~*+lu7j}&KO!~}C6 zWS{saS_1zc;7`wwi)38Le}QX$ykM9x8IAdI5qq0c|K9WCPeBA{e&oI|UVJ_)8LKM! zJ1ZH4(iD@!5l8n*xXCJZ4lWzr#K29Ued=T3gI^rYKS$sXD2FB7N-eqqT#Z1s7R4PW z`g&=xpP&RA_+w@?w^UfZ3hjydY;h*St_D8=$t+gNek%S4{OJZiEaO7{@va7sA13Z( zG#dQ${u_Ml>P&;lD!BT@N-kEFY+)q>Wa%wp4C64~8{vZ8E-I+>1)9G0_UO=~dvxgJ z{$e%?BxmEP7WU>(w}CisC10{zJRWJT7QTXEDc%82K;$L((=B{K#)bS7T`inAOgzD8 zv~bn_TX+Z3oGw)@oX1M$s7i|1!lUdK)-w(*{54#gLAB@zbnUX&NJ&_>d#fQ6bKUBtr{1aTbPZ%b412N*>vVYv)TG z5&J1z;!VV6#r2AF(OWpigi@ixe>!(8^qeN;7k#HnsgycZ>YMea()uy89k*q?dck_` z8SpMLR=wCZB(#W*HBa@G9n_1BvMSDijw*y>ofChLYm$<>Xz5Z6d`{g7(jx~AK>*Qz zL$r7dany|1#NCEf;OWD}Ju((D7{h!9jQ7`A6Pzpd6Y`dw1rXwf6%KLZ#nS+Z;~isg z3hT&|b>Ib);=v^NSj1th2XXc|3Z>);p{x&;opvEhohs`apAY{iD|E&Xag?1e*U5J( zUaU=s-pprmW2Sb&5A{;(Cv0b0K>&L@6Q);N7B1&QfXiB0Bq5%mYt79MdOO7XDLHdH z^tp#p=C7y`bdmG{;?0cvwH*g|JWC!TZP15^c@nw(QRi$@XEJJ2!zNyQEm&%BlTD zD3H;)J%s|S|4F(Q=xl`xlfUB{q}zQ`sGZ%{o8Quml_uOU#MtdHfeqyw4QACu%%Bn!Kttw=3Z&<6WaFl32l3Y zWj%sCW8)BPMgbNA-H&M3a;Po%8kO^b7~J&5!bD#B%@O^9G1m`RAMvo(%fs3oA^YZK z>WEBZfS)|C-Qk6Pf4}FoKXM({u9pwk*vGXyyy100>%x5=*H&9uhILN&o*}KEN&hh67xA ze#;BqFK^TPp7kBiZv$2t4{);sCZAb!PH>YqVX!o(&tsP_BX|AR&STF?pT{Pu8S@e$De(DBSqklzkqX2t>Ax1WR9w zdx(iLo~{P1$K>efaW4CG3qVv@4|1$j%XgxZS~m%S_g7&6T>J}4_#9-)T-O7kPA$X* zPOeZcT}skC##0Oi&wFOSqU!2ij;PY2e?az(xH=GpD6VqgIs*9^Df)S4A-b4sJ=TCS zkU?T67HIo9g*ebv#q@4f+=oJ};?HoMDppVu%VQC7x2mGiuEN@X755RWeb9kh%C1&a z*j0>jRZ*X*qEuDUWLJ^D|0-~yJY7ZKZdJSkanDw4p=*_wEI9=I0d8i$_sVj#ea&RuqP0#f5HK*d>3Bd>H|z_QRK=M9=x)t3B8c zMMp`gZtwq#5s>r88T-ipyv!eV=jW12=I^zS{CsOfi{9_fPdiPSeGpbIv36th@V=88adipH(<@AdpZe zICyTTMXrEEB@n>e>*LPnOd<{wv-Bk1N3CU`(We=v!&8f09o`|@7qfp8VkcbtppKob z1HKRdNVPg(zlG%e=w0sxJf&kh4L(QjdZ!Kd*L3+-due5%+F}{YoHZ!)?L}{;YBB_D z)|Sn{kzSYhiCwyu?v-D1EvjeD#Z{M!{J07KFR==Dhyk@w9}LKRd`^3K4Zbd1C_JMt?=FI!k3$TC39$aJ7$%4A%;ynLC6_CA4n(qp!at zpvS>s$e;j`SJikq1NnRM=kv0_5I27gM4%bQkSn>N@S}lJe{13T0vZa%ZpgVi5wC?w z1E#?3S$cfh`n=RJE_}tw>;S$Xy~(j>pml+5&#;O14A^gAb~}QrZr-EV1?(~a*jCr^ zIp({T&_T$VdHEfyqZ&4hG`E(oDdgk)ABRC> z;m-C2t?4*0S2GBAr|@9u+Emc_N^G0hBX>@eJ)O4^*Iv!l(zqo zV5R-f*%)&!yU*l!B&FA%++}?Q7IpZ!#(^TL`5%5~qK;=Ew+=@_ra7$&~^ z@|FISd=#{@DZZ zG6=q#0W10yFv8;kx(`m6p?J*pD}9W07OY`D70*9Pejb88r1&U+QUA`+;jnav=>X>^ z?_;Qttcd*-HmUgR8zu&Mou!W!y%WU6@)~9>Pm#=SleFge7;m-tZ2Tv^44l?Q+Pvno zp-OWDq6~buqJ0SMk+KcI%1&H{yUq3%6W;X$Ll<`e52Z#&+E>MH*_S z4sQ-b65hy{Bk^Vso+^v%^o9(>%Ej3tju^}@z%bw)i6x z@KRbJLmdVv;Uz?v%CMc@@RR&<61Iof$^ZdT_YaH)qGC8F69FpmK`)PiKBUVC_9Z9{ zlgDZn)2(cOfL{Ylrx_+>ueaSms;>w4aC`>iqk%wjJ4A=4_{AQn=aIzxH#VGB6QO7wJo!V{T4XyX0gg zSE1_FCOln-8EPbtb_zO;f<0V6VbcvMfI)pUSsScuBv!S9k-^8>&re1iw?!utIT)}K z0JcYl7sg(={OR2pI@Pd_G!h38Ps2RIz;H1VRT5vroB-R{i6Far-wFvi^@5i`W1{u&-;TI$%Ecf~Smgf-Z zz(d=$*zY(h%$3QZsK_ntD}WE8d9%XFzi}`(s1i;t&nhkbs|s_> zSExS>dDYsFH#VZ2b&dE0g5^|Wt{_aj5clEIsxMBK3B;H_rMhna^WgpC-`rF-~y^NfxrnYQ3H_7wZ`seZtL z+qWG_Zi>_GHOv>1*MqKXrylvDAI|U*k~S>KFIX7(;+tQHACGtmMZO^Av~S=2i_ZOT z$ge9NB;CH3U;kgquWb)}SNXLRIlq@*@*&3mP<}1ApZxv5Lw-Gc-~S@{^tRX6WHQxlY27G4KE+E1{X>4M1=3{7h+LJ zn`du_v0cy%=Nndaryg%+7C^&-bG*-pkMD%5>+xTz=<#K4lq+-jhG@sTc*eLytzonA zn)IqM@$3(PnpK(bnbvJta;?Ul>4`usSo-O#L!g=A;iA~} zM{GfN$apN?#6c4EE#hlLbM6(d(UYiTb&@i4MF%61d$V-6i1I(kH!P^{(BoAl>Mhn+ zon^rMkM3k)b2dNIDz|BId|d^eJY=q?2aC4_O)?L+X>kfhR3`T)c&3G&fuP!usMlMX z%<=h&sv&kliS3rzu5P;wt_!Bv0#z( zuu&DTLyIq1ucC=Je~AT;C=c^4w!Mi3Et$x*886H7hpd~FkKU~rugG}YGv3aO*8`5? z55;maUf8TUv3ZV{>T}#@5o;GAH*UWKEng*UKLU|Gy|kO(0Ko&?bL)v1Plow}H$UU$ z7EZ>-kBLc_+o_XKjC%3KzbDM`dBONuvZGOz1QRruvRu$Q9y>ACCIoZFVWwsBIdOEVk_Tio*j!Zv8TCJ0z+P=$otr6NVsF-{o1A4=XMry)nLY1LxuTgf)5=Gq~-HF;tayEjy2wgDM)NG z(!A1qWKE2hjCfybB4p&6*kuTjZ1r@Nx54q^3PK{*=!6onCfh4cTSOd-j{yXA774tM zl5rvbx$1b%hlwmk!|dq_!lrr7-d1?;Ljl;`Wb1hhYq9QLSxFhDr6mJp=`G@M z#;K1rgnj$C4IzF7ShVXOYhytx@v#SrxhS`v^CcR%tMjF|v!U6u?;Dj64g}DT=z>dh zt5>8XTf6xm$c>K|@Uf8oS*!|{qEHV(D`aN-p>GM7$vb)Y)d(Wq`=HNcn?6gSwE3UXr&iJ@OS}0dU~M(_r|JCd8S0>w4tXk6W#2#_^X-a) z4X|4bf$TYINBu&=5r6P{QLpL>0 ze}(y;JBC}{O6Xp#$D4t1K)Veelz4m*+aWJcXi?r5z|#o0&yA4?(-SjxCsG%4SW^9M z;Vp(0xS+2OdKOA@LV~7L^3&ssnPvFnl;c*s1%L5=4~j`(_&$mP#`rWaK;nDB8>ITS zRqwlA!Gnnl_;Wm7#ZKV1g&Guh1FeeTxTkgFm(Y4t#2>>0*3iDq@i(N3y0wp;yBEE& zXRj>%45R>eH-vsz5uf5M+9gRm6-N$@7*h=xLygdrhQiBe+zge&ZlQsis#y31P7OGg zmIL%4@(`}y=+6JG#%d(wpDa#A;p7#-0_os?*o52ZwM?%O2Q$5c$}-65 z^M6Co-Oht|Y$iYS=ApN99^8qW9FS|tY6>d`cR$O{n}<(wA13(6|IES6&o9%$GrPq1yr&I$UStSjV~y1G7DRnWT~TE0sX1|nKkAsQ-?No z4fLlbZhc2qLk+$X52o$ZV!Y{*uIH~H4k%Jri*Bj`*=yKFxV5%BnQl+gZ#xii-ASKs zlm6vjGrL3j8bF_{NM8%maQ|WN*AP_&e$o}g9ay^#QX zEe6C&Y3XU0^7>}LyhkEu-7Aq%R?z`v6%F$&qu?{W^i%ucsdq&=kU;fg;zI|)kPwGe zKgQEYav9@(j8=|M*faB}Ido>wI)vgBr`G0r12(-K>#O@d8^qCn>~Ne?ufVbh%bf6f zszk6@#`9Aw7G4Kp-;Z{IYIOKR6CY7N#xAzKh;4Da)*bXBajhLgLWAezMjM1CB%9EL zv~NNmgay8v(6W#sG{L&C_|AkTt{`*^9K*VoA;Wr-a6xDpxfh||{8bM^*Q5!pVM@gM z=zmOKYe62Sb9^poJrL2KwqG8)8f5BZ1dI|U%ZU`9Qtbcx1MZA zZe#G1Tj?ZX1jZk{o0N~(9(GO=3zAoxE;kQMR=Z%)RWoADBT{%{3F z9M+7C)*TW_YbhZa>h`-~-LsW>u&%%ieFv*FtcO+99DF@AlEADEy$7EcEz`~Zeq?gm zpU;$B7WKiNgvL_X-=I>AK`mMdkM=~RXJHopdY!q^KJZ5{4>jT7-$%z9??X&Jy$gA9 z8cXQGl{q+kU13$`LTiW5)%tOY&*O6FCTLV5l`(l@9-76|PwXf29MI-De98p(g7Mnc zXP8p+)jX_Bx}nH`mG{TsU+Oaenx@^W)F_ZeS)*X(Ac7NsY9LfJ;{IDy`f=2OFh;{OL}t;jXgSEtM1zx z9JI!Wo#n?6|5y(3!te{g1VbEl9T?)SW)SC9ujZ4 z{sOCPwme_AFonZ@g+0J7fm-e9PWA&0XSCSW+!HioVC5qYuh$K}m#b#54ITdAWs>bJ zw7t$$gK6ft^g?kY%_J5)o=xCega_{~ko?}~3^Oi)n)k3cLIj9Wp`0g~hRI$p_*5@# zm(mitAu&J|NA)F6o!&PfKg#S75_H>(*c!)c-9axBYn^=70_MZ$BOJSOTaFRdzU5f? z&B*JTFj&@}FbLR%$9I-v!~$|mqG#PJak8EyT*xsQxtAO}3`lgFFly6s>`3?YTlPPe zX94Yr1(S)&LaBjckPj3hC>;c;j6+a52+}SSLFph!>K{C6xw9l#y+e8c7iqtmI7dgb83}ds)H$n;EU4=}I+(l2~#`qz` zB*)P=P3DDl7+qQkb_X3{v;zHic*O{rePz;TgI<6z-u0v5HVj}0@I1sMz4RT*0{vJZ zjxSxAt3@sv!fQ4`##z(+WkKsQ%y^}#&>5J5U<%w4LO#5w!gLB@$k&qa7D{Ppz!;Ay zF2wAZS|^TUF0}FzN@cY2D?m3Qa`6C##yN<^jGG6tR$G6T6KK3XCs_KytYQO(k%TG! zLc)FoN;lb*p1u&cpNNvl^YBMJBk^6C93){$$YKWKk~^h3Wu-7>hApCP0qyP5_g|g+ z8HUNTJHE#HGE@ps-W&<*ZM2Zne8H=7YX(ysWg^!qm;2GaXj8l&Hlk~3++Cyn{FjV@ zBDQ7|kRTV{m@Q*C;=PdgN^L_sHj zI2@U%?J~l-2xCsI%(Kc1xv$5q9Hf?j9H^lZdbIK~gv;!38Nxckx*gULu0goQ4%Z-D zi*T(ShB~TzGQyMX@MMJR5w5qxph$TG!VPw~0pUi38|`qTZbh2l$8(@`_=8%m363RS z1Wm}lj5g(t2idVsV0JqEAv?WRt(jPn z@wR8Yof)qO49_2ma9r9IBNQGg*7U~%2Fq+`X24ALY_E25y>Djn-~Vuv(_P)@;o znhqkRV?_uW71=dN$BGapYOp~|$BGab-Uzl~%8+&YdWnmqG+rm#Bty5#Nb6P=iYVuH z>8N*t(Stq!;}1PZFDRE!Cm|g>LB?2-LX|+rPLMHHq(mjqu@mUEB4zlSkbfC%%Jmp3 z&{cLi{Gn!gtw@c`&cFPba-oLowTJ*dbofJddhNH8)glA|Em+ur_z;{T`7R3?H6|=CcxN{-X zajze1(t(JjRkTi#RvW}63|NN;VY?Y!mBq>Q4(636i`X#fOE#!CIFH?jAusky&V#g9 zw#XX1odjB<_NRvBdXD!&iOX`?lhVZXE*YUVmDVktpr5^ythOG`k&U8(x7wnrhj{PX zDv8WTzMv@1lkf1tBw*HgxF;7hFY_0=my_5ZW1EBK;CWdf6ElIIJ&y9|zU#*!z9n<#Je}d+_lcr5mvBWzRT|^PcFg08FIb=UqQvHfwep zI-CH+azwy?KTFEK{=153N=MuyBj(wM6}QMx71T8IYWQ^Sg*sp6U1lrp4s_n=<+VVP zI9^c(CGe2MUhS;{9Q8J@bHA6J zi(H>sP7(Hl};0AaIYW6PiBUw`rLmeq)b=x*oIdIR%e30{sE1up!L)KfZ^&r4;>7I6Yn zocmz-Rx{XgjYJ|D0ZJ-+X=!HIK!-{%=8()E3x`<=LM-}m{Iij}*y zi=bcY@qM3}-IDkEzRv~SlK1+)PjR>8y}s{rM7QK`{k{+Gi>CWWm;HkWxzR@@T67$y z&h8&z!flfsm^yHqm={YpEut%b(LDy!3-9B&^5C+@DhvZxOs*E?3c?iw9poOcJYE~c zhnR35d=UcG7~Ar*Oy|naGGW6d_&Mon>za~k>jr$|Z3mu%j$e~+SYd2G+QhG}r$AEQ zUCNyU@a)vh;jOrv!jFJ_jbuoX@T2_h6Ch0U14LKoL<$7J;7y-4ajt}+KJxTD{1V0% z!q`@Aek7ifFm`CM$=te9SOu-d5@0PsL5$a@A!WND-ROeEahD?+Bp^Jq4ak>~LweZ& zbMc)j8z7pe0IKFac3q}gCu=5_-JzJ0?M`1$(<*m7;A$!GTfm@kHO0|-u^WdkfE zK#~s6^h!4IIV>_A0P+1VSedqo9rQ!rY<{3r_B+_upWcjqZfHw~~(>rq{J$Az!4FYr%$O07t^4W!JrEB788yK=tIS;oH zhYaXf+dK}L8|_SGj9iF-?zX`*skBh>Hqgn^Mc!ta*H%b4iiorV0?G~Kxl`szYalX8 z2kf<2o=|}t`M&bv6i=;HHzSk?}3`10>V=(@lvuQr045N`(pYtygKp4xvp9eT(M8l-d)P-HP1%QD7(p zkj{!1(LsIz7bp<{{)ir{=MP@i%^wPo9?0L$5K^|n<&S>C;15_jWzEPVj6i`-xX8nD z{2@;oXhP~UWUMKbFv#w~pd?Hdq5ftv!(%8K#!W)Z0`p%T}Yv)-hF=sn5tSQh$aPe^EMT2DfNq~R8f|#ez{Fi#k$R}GTX|Ts0zCDF@Qdq z;9Q!R#Q($Ix4=hLT>sxqHn6<1QG-V7V^OT3q9zbD;ZYMvWEVFOlYsArkOUG8NlZ2n zpN%GgtjlU@wWZazv9;E=wna-RRjL7jpg*+;Drl=xtM#s+#5eL&`G3D>=I$d8AlCNR z|L5aE?w!Y(GiS~@^ExwkMoci8@hqe`{bIu*zbg?Gv9};4spYR*Y%6p@_Nl}Q=sLcm z>?%+PW++f_6PdXE%J72}O_D;T)KR1YG0k}S#nMB}?S%77?(lU;oG=i+RVwZhyqs&% zM&RAv!hGqwM|>QJ(Z}G1%_Z++jB37hH4?Wx9=Xqm=8~tpQ)G(5 zW4zVTB}+&-Y!|Ucl0RX@#@{LKan=-ai=6$?>nJJB%%0x36{$CEFBwRv8*4pY<8GGsbjhJEPKbo zU?(E*)&vUyJa^TtSS7%%8bP=2uAOn3XGU zzIb5_Y_X5EwPYqZZ`}fo42&E*#XZt_a|3MyQlSFbsomM?X0~QlQ5&`;@4~y^F{ajb zXWRQS5)}g>KAVOol%NN@V9|Qr_~@$2`r-wM`EU)a64RLyIm5mRlL|kUS2g2Lea(j( z+z~NhYg9jW#3)sg`e|N_EG+vk3cpu4}{v&+UokOorX{yvAi9!Vh{)m;60Hvl}r*|5a^W$8?J;3#+S=KVSv2jdju zWF#C+S&v5PBj1U*$(;LgKpG6fxC8RPaKG-JHN1=RD%m*V!)hSD)x$Ox zw17L!<4GGhw&%6{tT%iqJlh13dPVfpYES~>Fg886$WYwCApvTE1Efnq(2yeG(lf)W zn_H0vtD9MG`*6!!R7R^2E*ZU!Q#H4th~|$OqSw5v9B)x!&4>?Eu~fpYt5nRagb(v4 znC#06NOCfB*7}bqkc$Or+%2tboLLGy8{nC}z)y|_*Cxv02%|+;s@G>%!K2p5L!+$8 zF)dwCf~Hgj^CDp|H!NF>ckmHumayi0xAL+aW(VB?i~jqWAb4GY`J#Yamudb@;&q;W zMngT*%;OLol1t3|oA>NBH&&r%#e6R`0(%X@w{LcIM6PZu^5Vn}EOdBrcmsBlVf$DQ zbp*FW#^DH>k2cyG%dqK0PP^H2TDX6~=NtJro`%;&?)bYWki5;)_N=q*J`m1xMzeab zYo-3L&bE~ZkRxu)PlVh_t-s|Ve>CnL4U!}6mnRVCKj;mf_-)UIf5hRm$rwi62jIIsibG_8sQ118rUY z{n&XKePSEV?>xf$r*G(c|MZU_BJ2L?TfgxA)3?5alHt@iSIqs>Gc|5!kOv?BEB8;Y z{2}mLw-_Js{nOW@P95t0X)o?o&hLSx0!Fc2I6I`@zC`wW3&?-u{^{%gL7Kmm`=>W9 zqD-*T_pjbRJqLW6jZMD7r)VZw`H1*qY=^m~xft2H#_uR8iQ9RxCui;I#XZ94E;5D_y)TnHajWQvqUZ z$xg#xI{qf$Z=%tioxx!9u?pt5-B<6)dR||qd@sVK0dogO&F>;#UonRheM>?eyx5J3 zejSFoE4l0uWCTw~!dmf0^Y_Gtt*NKLFW-3L8@yAdn0GU{Ws?gAPfL(!kC0qCaz%r5 zr!27`Z~PhBG<>bqgsZ^b#PNzP&)CcYVA*p|q=l0Ema}Hyy5+mOLj@R>MBN3c?0r$k z}4g<}%z2O^*FYfSd0ft!r>$|{oCYTF2*%^oN2A0(J zyR&vQ{=+R>`CfF7!zX-Oxk8*DynYi-%X**Zn7xE+t-&v*e-!D_OM0-|s0jX6bK;yYU;kiKYAXe&+ zzaR}`>`d5o({MLvGqbREk*VV!tn<|tx!nPLMR_s!z1uwwqJ(zgShjK9I26L>T)q^@j&~O4ZL&VwoaKq>2ah4x1qJf94}_cJJ6Uag~qOQ+$s^Q!|_#>He7#q zuAB$<8)m~3C7*)>7mFPo7f~o)S+~MOIBwv1124n;V=1745Np-I$%EmZHS>cR-Pnhy zsLOf}hsln64+~J{s{)J5l{dT*Z`Q*Db*I{6Q{s?0!Sb_l!W${8aC0M_J3&nm^007$ z7KWSXtdQ)`0%&h|yyqSF9>&NHVpS(~Jd1l+nPt{TOHcD={nOXU%oiZPJ>Qe|W7Nup)wMw|P~>Bmjqax|(_Ce5~Te)~}q4hNJzxM15c%m}dS=?wYt{vYCRYM+*f< z62_waed_jU3Qz6YI5bqQ4u8m^@4r&|q~n9v}ThGWv&b z|L5dj@kZD`R0sGjP950CjqU+oHQPv1aN2!;Viuq09(fnIo|I5A??)j?#xM`| zEVun=Or#sU6iC?(#xswWgerJ#&DTxDi4M(wrdiK$wzeU0Aa6V>G@2Ty84gR&#L)WI zifIVP(U*Z6T>OHO_W^u_4W`McOIVm)nGS>>?@IqGI!cET9J$#=K6iIPMGhj!WdrlD z+=>s#O|incgIHyu3$3KAv*cpw%etSEU1-bxtDLQc!;vEJ=Vm1Izw{{S^S|ivZ*%YX zrw8AQ%xcT%Mn?i8ox7!trbV1LF|x2_|F=OOR^q1OthcAp7qnSeSk>#Z0=cA4K`sHv3roF*%rwX^D z&ovWO_|ph?2iHgzYOJcVn{2*)8JfzA!3lR@pr-PfOMw*if|;#nqoA6~-y@|Qtf`vH zy=BPmCkP8Sl~EV%F3Mt43G*7toCAic3oAILz7)vWL|%+H*qX#U+YEg5?QC-c&TW06 zijVK}vhi71W-j(1Ch2YJk4smY1l%xHvdgdr+&DoYntQoQWUvVxM-k-)uDBV8C}U~) zK6HVSp|g#*B8XhUX|_*fH-Q7WH#^V-B|BI6`Kd{>4EeG}1;ztk%YK)$bq*xavVV-T zZJtIll_~LebHI&*ADnF`vnYXSGk+A3S{WK*vyO!iOgo3+T57W?%}W@LuI)0bYa0a! zP<7d4a~h%^EoFN)puA4LBqFbo$c8t3fWz@fiQf6)BqhneGNXL}^#t-5j@xU-j^{kh zYkSL@r#X1J@Dmr4m`Qg5o|tfzFS__xIL_y!0OpT@kZha^AkA*!L!HCC33#|0&$_kY zfuZ4^)O{XOsh)IfxF_`=gec4`<__x5!&_=V9L|FXeFEEYw1nlVKcg`TpAs_n@xk1< zPboDaMa0Q5=O1Zt4kp8dG!#U2$m9+LhuZ_}c1yE6 zS4>P+ zzb^cJioeWbL2nA%>}+htamvMC!bmXq?kjW%d`Uh&{73OVje5J#DcP@Ye z39Aw54vhXKUithgX4+3A02gr-n9(&s6H5(fJyJAQbO(!LKJ~M=NL+et^Re~7z zA*f1)TRU3`%E1XhQxvFK52&1*J_Cg~#ytRyLzC3jf;Tft0snC11{)G&*X(?>34Kb! zokCff*^Q)98$Q7DO=u6&M1&*baiWNo&n1u#n!Mi&ekGqkzDtQHSUmhw5!26!?rwna zqn&-Mf4~3k!Gp*N`&!s;7|sG18TR-R8JJ~J9*GYGn3NDNFv2+xFza*E-gK#pU=Li@$3C^*WU0 zhxm&W8TzR8+ap-|*YBrLH&^11dOZ?<>!H(E;BO@UW*|HUA1Q&UD52$mt?^VcZWX@q zQ!RvZ#f@->8llqR`4jHd^t~AJAsj*IZ$z2LgBX-Xw-YzvyJTr6s-eq&#NP+_`}Hw~ z@gDw~MjOTy{GEd^sjo_Yx)*7(V|3lNUt0ZXw(mogbl-mxnp^W5MaU*FErgRTtX{-{ ze%L&k;pjy!wR(|mK%gZou{;rFF4iMDXEoiB9FY;%kjOs;v%;=X0 zJ6tc)0(8JM7x0JgMJ@qC(O~IC&SNFO-*VQuDZn#8FA|6Oh3-Y}f;iQDO!Xq~7a(`^ zBJbiY^=3Uj;SBvAsvK^QWJt#vDnq*SV~2DroNJ@TbO+0k_zWbbzM__mER?P;`Ig+k zbk!Q?BQng;Pa^txUh9G38qeO(7rJspW%7Nb@_6!z$FI1NTJ>SC%v>izBL5Lm3f27xbSFW ze&7TgS>_${l6TmytY_3!78`8dESx72*Z2%7WD+{swt9ROtl9y6WTA6K?Ykg#A;P2Z z2c}*6-AFxcEJiiCc@C5?FfE7SXnt57=Fda;VuquhUSZYKQviW_dc|aO4x%1SM7uZe zXfJJcq@JFPY;-*xjg&If<7h27=~mQW(}pnCQ(7|e1M3rdKm@ifJ6pG&#hUYNj?OEN zlA5y&w^Qvi*XJW=RGWwK#z@75_y#C2c+GWc_msBXEJh$m%Q4Q1<8rmL)jkFu-X5~} z1f*(u0zsD?!}w`4Z;x=KtOx|vfp&zS!*HkK$ZYg%<|PaVN3OIuG71pj$dwrXBI?m& z4#|;|L9NwtjYKw@Bk^R^(a1${BuLip18Bb-Svx+=k*UW;apYHCPzH|N&v$Uz*&P~ z&Mt8vDcoDN8_sP}!Mn8E8yp{QU^aV#dEkv2`*}9(8{)yi!TiMNRgmVfp#WWOzsg8< z+Q4`y(poRuO{4PlI6a$jcM;Aid22GJxI;X_kzKf)W3<6LjmB+rw%?mfvHk{(GJueD zq1H9?=TdAQta9^MH`^KkiO^JGLlx)sBgfg8+&ZlD7M73OWU3A%ZB-GgAxJ5=-VJTuyc zFlc8A+rq6(#^wXbHX>3d`wc+!*heN0edfWDYE(w2s{Gbb<|9py>-%&3oFm^CJ27a$s6ao@DD9r<!dtovc{U_?rUP$`t9vepCPDO{CuPR`mEx=P&j^;LwJ;);j@|g9b9D7$c&J z(MnX;#h}vTZ?QJ{ggbfYbTdd9QNiSpv6NOskogd%;DLI(v#kzv?l9XvYK-q&)-lW? zB_<1PZ;4`jpbkqb&ek_V{m?rxir(k`31t5RsL0SXGGCC2ms|*W!JdN(6u254IO<<+ zha)EoRm{134cbZOa|1AR=Wu9agszr6FluZ83sN@siW_wyZ zLp7ZGYEil4{GAmXK)NyV2ZXu~bP7B)Fr!0om^Wi)En7xmf(})_!I9{+_mJjc%$(US zpN}ri{2G8B1%J`V?lV8Q8RdTkS@tQv%=g$0Knr6hd&@Bcj5gsXT?`zV(7*_e4wm5d z>3vHuUP|!MKcY$yf(LZYBAurrKdB*;uEG$-tOE}abq=C%Hi7xazu^iY@)$*VpM4yL zGWh_JDliqM_fFOgpAi#g6 z%iIeruq^!=q1*yH`lpNzOuI{7eQaRnBRP_~Si0r`YzI;X^SeMCnu5&T!8`QYhFFx| z00t>h=IbcYInZ|4P6KmO(M*JP0-RM7Mo+0Zw7)NR?ARUJD`rI*G4P^wC}(``gO1QK zFtJj>UWS@OKfyX9^eo&Adm<|A&v5V9-+z635b_D#4}gexS>Kd`E8R}+kQ1Dpt&ISa z_5r=6hYobN8J>W5ox}M%FD`$d

o5#QiWS;ku?2Mz?bT?{WwIDehrUwmso?x}TI> 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 H%isS2mn{l* literal 125420 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 %d\n", w); - } + // if (a == 0x00010000) + // { + // fprintf(stderr, "%c", w); + // } if (wordSize == 8) { diff --git a/emulator/mem.o b/emulator/mem.o index 54a170a2e20d479770c42b1c6122cabc5d54da45..ecb0f8034b02b0e11314c7c1f47e45e49a99a7a0 100644 GIT binary patch literal 30616 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 OGx;@xUqyw6@&5p(#~*0` delta 9412 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 diff --git a/emulator/test_riscv.sh b/emulator/test_riscv.sh index 96a7a446..da6e89bc 100755 --- a/emulator/test_riscv.sh +++ b/emulator/test_riscv.sh @@ -1,4 +1,4 @@ echo start > results.txt echo ../kernel/vortex_test.hex -./harptool -E -a rv32i --core ../kernel/vortex_test.hex -s -b +./harptool -E -a rv32i --core ../runtime/vortex_runtime.hex -s -b 1> emulator.debug diff --git a/emulator/util.o b/emulator/util.o index 4bf5b10f552cdb4e9a306f031393f47072a4f936..c474368edcc5891b3d9e0f387c68b9e22862ff77 100644 GIT binary patch delta 148 zcmdm?v_ok_6$_6ZzkCY=2=L3hOm1UQlSUF?Fg$QL4T(SbILk3^I6rN|hE&R&eH(`EBB_8?9GDS#hI delta 153 zcmdm?v_ok_6$?)q2 -80000014: 720000ef jal ra,80000734

+80000014: 748000ef jal ra,8000075c
80000018: 00000513 li a0,0 8000001c: 0005006b 0x5006b @@ -18,7 +18,7 @@ Disassembly of section .text: 80000020: 00400513 li a0,4 80000024: 0005006b 0x5006b 80000028: 021026f3 csrr a3,0x21 -8000002c: 00f69693 slli a3,a3,0xf +8000002c: 01a69693 slli a3,a3,0x1a 80000030: 02002673 csrr a2,0x20 80000034: 00a61593 slli a1,a2,0xa 80000038: 00261613 slli a2,a2,0x2 @@ -114,7 +114,7 @@ Disassembly of section .text: 80000128: 810007b7 lui a5,0x81000 8000012c: fec42703 lw a4,-20(s0) 80000130: 00271713 slli a4,a4,0x2 -80000134: 0f478793 addi a5,a5,244 # 810000f4 +80000134: 0fc78793 addi a5,a5,252 # 810000fc 80000138: 00f707b3 add a5,a4,a5 8000013c: 0007a783 lw a5,0(a5) 80000140: 00078513 mv a0,a5 @@ -137,7 +137,7 @@ Disassembly of section .text: 8000017c: fe842503 lw a0,-24(s0) 80000180: f95ff0ef jal ra,80000114 80000184: 810007b7 lui a5,0x81000 -80000188: 04078513 addi a0,a5,64 # 81000040 +80000188: 04078513 addi a0,a5,64 # 81000040 8000018c: f4dff0ef jal ra,800000d8 80000190: 00000013 nop 80000194: 01c12083 lw ra,28(sp) @@ -151,13 +151,13 @@ Disassembly of section .text: 800001ac: 00812c23 sw s0,24(sp) 800001b0: 02010413 addi s0,sp,32 800001b4: 810007b7 lui a5,0x81000 -800001b8: 23c7a783 lw a5,572(a5) # 8100023c +800001b8: 2447a783 lw a5,580(a5) # 81000244 800001bc: 00078513 mv a0,a5 800001c0: ea9ff0ef jal ra,80000068 800001c4: 810007b7 lui a5,0x81000 -800001c8: 2387a703 lw a4,568(a5) # 81000238 +800001c8: 2407a703 lw a4,576(a5) # 81000240 800001cc: 810007b7 lui a5,0x81000 -800001d0: 2347a783 lw a5,564(a5) # 81000234 +800001d0: 23c7a783 lw a5,572(a5) # 8100023c 800001d4: 00078513 mv a0,a5 800001d8: 000700e7 jalr a4 800001dc: eadff0ef jal ra,80000088 @@ -186,359 +186,421 @@ Disassembly of section .text: 80000230: fed42023 sw a3,-32(s0) 80000234: 810007b7 lui a5,0x81000 80000238: fe442703 lw a4,-28(s0) -8000023c: 22e7ac23 sw a4,568(a5) # 81000238 +8000023c: 24e7a023 sw a4,576(a5) # 81000240 80000240: 810007b7 lui a5,0x81000 80000244: fe042703 lw a4,-32(s0) -80000248: 22e7aa23 sw a4,564(a5) # 81000234 +80000248: 22e7ae23 sw a4,572(a5) # 8100023c 8000024c: 810007b7 lui a5,0x81000 80000250: fe842703 lw a4,-24(s0) -80000254: 22e7ae23 sw a4,572(a5) # 8100023c -80000258: fe442783 lw a5,-28(s0) -8000025c: 00078593 mv a1,a5 -80000260: fec42503 lw a0,-20(s0) -80000264: dfdff0ef jal ra,80000060 -80000268: f3dff0ef jal ra,800001a4 -8000026c: 00000013 nop -80000270: 01c12083 lw ra,28(sp) -80000274: 01812403 lw s0,24(sp) -80000278: 02010113 addi sp,sp,32 -8000027c: 00008067 ret +80000254: 24e7a223 sw a4,580(a5) # 81000244 +80000258: 800007b7 lui a5,0x80000 +8000025c: 1a478793 addi a5,a5,420 # 800001a4 +80000260: 00078593 mv a1,a5 +80000264: fec42503 lw a0,-20(s0) +80000268: df9ff0ef jal ra,80000060 +8000026c: f39ff0ef jal ra,800001a4 +80000270: 00000013 nop +80000274: 01c12083 lw ra,28(sp) +80000278: 01812403 lw s0,24(sp) +8000027c: 02010113 addi sp,sp,32 +80000280: 00008067 ret -80000280 : -80000280: fe010113 addi sp,sp,-32 -80000284: 00112e23 sw ra,28(sp) -80000288: 00812c23 sw s0,24(sp) -8000028c: 02010413 addi s0,sp,32 -80000290: 810007b7 lui a5,0x81000 -80000294: 08478513 addi a0,a5,132 # 81000084 -80000298: e41ff0ef jal ra,800000d8 -8000029c: 00400513 li a0,4 -800002a0: dc9ff0ef jal ra,80000068 -800002a4: dedff0ef jal ra,80000090 -800002a8: fea42623 sw a0,-20(s0) -800002ac: fec42703 lw a4,-20(s0) -800002b0: 810007b7 lui a5,0x81000 -800002b4: fec42683 lw a3,-20(s0) -800002b8: 00269693 slli a3,a3,0x2 -800002bc: 24078793 addi a5,a5,576 # 81000240 -800002c0: 00f687b3 add a5,a3,a5 -800002c4: 00e7a023 sw a4,0(a5) -800002c8: 00100513 li a0,1 -800002cc: d9dff0ef jal ra,80000068 -800002d0: 810007b7 lui a5,0x81000 -800002d4: 2407a783 lw a5,576(a5) # 81000240 -800002d8: 00078513 mv a0,a5 -800002dc: e39ff0ef jal ra,80000114 -800002e0: 810007b7 lui a5,0x81000 -800002e4: 09078513 addi a0,a5,144 # 81000090 -800002e8: df1ff0ef jal ra,800000d8 -800002ec: 810007b7 lui a5,0x81000 -800002f0: 24078793 addi a5,a5,576 # 81000240 -800002f4: 0047a783 lw a5,4(a5) -800002f8: 00078513 mv a0,a5 -800002fc: e19ff0ef jal ra,80000114 -80000300: 810007b7 lui a5,0x81000 -80000304: 09078513 addi a0,a5,144 # 81000090 -80000308: dd1ff0ef jal ra,800000d8 -8000030c: 810007b7 lui a5,0x81000 -80000310: 24078793 addi a5,a5,576 # 81000240 -80000314: 0087a783 lw a5,8(a5) -80000318: 00078513 mv a0,a5 -8000031c: df9ff0ef jal ra,80000114 -80000320: 810007b7 lui a5,0x81000 -80000324: 09078513 addi a0,a5,144 # 81000090 -80000328: db1ff0ef jal ra,800000d8 -8000032c: 810007b7 lui a5,0x81000 -80000330: 24078793 addi a5,a5,576 # 81000240 -80000334: 00c7a783 lw a5,12(a5) -80000338: 00078513 mv a0,a5 -8000033c: dd9ff0ef jal ra,80000114 -80000340: 810007b7 lui a5,0x81000 -80000344: 09078513 addi a0,a5,144 # 81000090 -80000348: d91ff0ef jal ra,800000d8 -8000034c: 00000013 nop -80000350: 01c12083 lw ra,28(sp) -80000354: 01812403 lw s0,24(sp) -80000358: 02010113 addi sp,sp,32 -8000035c: 00008067 ret +80000284 : +80000284: fe010113 addi sp,sp,-32 +80000288: 00112e23 sw ra,28(sp) +8000028c: 00812c23 sw s0,24(sp) +80000290: 02010413 addi s0,sp,32 +80000294: 810007b7 lui a5,0x81000 +80000298: 08478513 addi a0,a5,132 # 81000084 +8000029c: e3dff0ef jal ra,800000d8 +800002a0: 00400513 li a0,4 +800002a4: dc5ff0ef jal ra,80000068 +800002a8: de9ff0ef jal ra,80000090 +800002ac: fea42623 sw a0,-20(s0) +800002b0: fec42703 lw a4,-20(s0) +800002b4: 810007b7 lui a5,0x81000 +800002b8: fec42683 lw a3,-20(s0) +800002bc: 00269693 slli a3,a3,0x2 +800002c0: 24878793 addi a5,a5,584 # 81000248 +800002c4: 00f687b3 add a5,a3,a5 +800002c8: 00e7a023 sw a4,0(a5) +800002cc: 00100513 li a0,1 +800002d0: d99ff0ef jal ra,80000068 +800002d4: 810007b7 lui a5,0x81000 +800002d8: 2487a783 lw a5,584(a5) # 81000248 +800002dc: 00078513 mv a0,a5 +800002e0: e35ff0ef jal ra,80000114 +800002e4: 810007b7 lui a5,0x81000 +800002e8: 09078513 addi a0,a5,144 # 81000090 +800002ec: dedff0ef jal ra,800000d8 +800002f0: 810007b7 lui a5,0x81000 +800002f4: 24878793 addi a5,a5,584 # 81000248 +800002f8: 0047a783 lw a5,4(a5) +800002fc: 00078513 mv a0,a5 +80000300: e15ff0ef jal ra,80000114 +80000304: 810007b7 lui a5,0x81000 +80000308: 09078513 addi a0,a5,144 # 81000090 +8000030c: dcdff0ef jal ra,800000d8 +80000310: 810007b7 lui a5,0x81000 +80000314: 24878793 addi a5,a5,584 # 81000248 +80000318: 0087a783 lw a5,8(a5) +8000031c: 00078513 mv a0,a5 +80000320: df5ff0ef jal ra,80000114 +80000324: 810007b7 lui a5,0x81000 +80000328: 09078513 addi a0,a5,144 # 81000090 +8000032c: dadff0ef jal ra,800000d8 +80000330: 810007b7 lui a5,0x81000 +80000334: 24878793 addi a5,a5,584 # 81000248 +80000338: 00c7a783 lw a5,12(a5) +8000033c: 00078513 mv a0,a5 +80000340: dd5ff0ef jal ra,80000114 +80000344: 810007b7 lui a5,0x81000 +80000348: 09078513 addi a0,a5,144 # 81000090 +8000034c: d8dff0ef jal ra,800000d8 +80000350: 00000013 nop +80000354: 01c12083 lw ra,28(sp) +80000358: 01812403 lw s0,24(sp) +8000035c: 02010113 addi sp,sp,32 +80000360: 00008067 ret -80000360 : -80000360: fe010113 addi sp,sp,-32 -80000364: 00112e23 sw ra,28(sp) -80000368: 00812c23 sw s0,24(sp) -8000036c: 02010413 addi s0,sp,32 -80000370: d21ff0ef jal ra,80000090 -80000374: fea42623 sw a0,-20(s0) -80000378: fec42783 lw a5,-20(s0) -8000037c: 0027b793 sltiu a5,a5,2 -80000380: fef405a3 sb a5,-21(s0) -80000384: feb44783 lbu a5,-21(s0) -80000388: 00078513 mv a0,a5 -8000038c: cedff0ef jal ra,80000078 -80000390: feb44783 lbu a5,-21(s0) -80000394: 06078463 beqz a5,800003fc -80000398: fec42783 lw a5,-20(s0) -8000039c: 0017b793 seqz a5,a5 -800003a0: fef40523 sb a5,-22(s0) -800003a4: fea44783 lbu a5,-22(s0) -800003a8: 00078513 mv a0,a5 -800003ac: ccdff0ef jal ra,80000078 -800003b0: fea44783 lbu a5,-22(s0) -800003b4: 02078263 beqz a5,800003d8 -800003b8: 810007b7 lui a5,0x81000 -800003bc: fec42703 lw a4,-20(s0) -800003c0: 00271713 slli a4,a4,0x2 -800003c4: 24078793 addi a5,a5,576 # 81000240 -800003c8: 00f707b3 add a5,a4,a5 -800003cc: 00a00713 li a4,10 -800003d0: 00e7a023 sw a4,0(a5) -800003d4: 0200006f j 800003f4 -800003d8: 810007b7 lui a5,0x81000 -800003dc: fec42703 lw a4,-20(s0) -800003e0: 00271713 slli a4,a4,0x2 -800003e4: 24078793 addi a5,a5,576 # 81000240 -800003e8: 00f707b3 add a5,a4,a5 -800003ec: 00b00713 li a4,11 -800003f0: 00e7a023 sw a4,0(a5) -800003f4: c8dff0ef jal ra,80000080 -800003f8: 0640006f j 8000045c -800003fc: fec42783 lw a5,-20(s0) -80000400: 0037b793 sltiu a5,a5,3 -80000404: fef404a3 sb a5,-23(s0) -80000408: fe944783 lbu a5,-23(s0) -8000040c: 00078513 mv a0,a5 -80000410: c69ff0ef jal ra,80000078 -80000414: fe944783 lbu a5,-23(s0) -80000418: 02078263 beqz a5,8000043c -8000041c: 810007b7 lui a5,0x81000 -80000420: fec42703 lw a4,-20(s0) -80000424: 00271713 slli a4,a4,0x2 -80000428: 24078793 addi a5,a5,576 # 81000240 -8000042c: 00f707b3 add a5,a4,a5 -80000430: 00c00713 li a4,12 -80000434: 00e7a023 sw a4,0(a5) -80000438: 0200006f j 80000458 -8000043c: 810007b7 lui a5,0x81000 -80000440: fec42703 lw a4,-20(s0) -80000444: 00271713 slli a4,a4,0x2 -80000448: 24078793 addi a5,a5,576 # 81000240 -8000044c: 00f707b3 add a5,a4,a5 -80000450: 00d00713 li a4,13 -80000454: 00e7a023 sw a4,0(a5) -80000458: c29ff0ef jal ra,80000080 +80000364 : +80000364: fe010113 addi sp,sp,-32 +80000368: 00112e23 sw ra,28(sp) +8000036c: 00812c23 sw s0,24(sp) +80000370: 02010413 addi s0,sp,32 +80000374: d1dff0ef jal ra,80000090 +80000378: fea42623 sw a0,-20(s0) +8000037c: fec42783 lw a5,-20(s0) +80000380: 0027b793 sltiu a5,a5,2 +80000384: fef405a3 sb a5,-21(s0) +80000388: feb44783 lbu a5,-21(s0) +8000038c: 00078513 mv a0,a5 +80000390: ce9ff0ef jal ra,80000078 +80000394: feb44783 lbu a5,-21(s0) +80000398: 06078463 beqz a5,80000400 +8000039c: fec42783 lw a5,-20(s0) +800003a0: 0017b793 seqz a5,a5 +800003a4: fef40523 sb a5,-22(s0) +800003a8: fea44783 lbu a5,-22(s0) +800003ac: 00078513 mv a0,a5 +800003b0: cc9ff0ef jal ra,80000078 +800003b4: fea44783 lbu a5,-22(s0) +800003b8: 02078263 beqz a5,800003dc +800003bc: 810007b7 lui a5,0x81000 +800003c0: fec42703 lw a4,-20(s0) +800003c4: 00271713 slli a4,a4,0x2 +800003c8: 24878793 addi a5,a5,584 # 81000248 +800003cc: 00f707b3 add a5,a4,a5 +800003d0: 00a00713 li a4,10 +800003d4: 00e7a023 sw a4,0(a5) +800003d8: 0200006f j 800003f8 +800003dc: 810007b7 lui a5,0x81000 +800003e0: fec42703 lw a4,-20(s0) +800003e4: 00271713 slli a4,a4,0x2 +800003e8: 24878793 addi a5,a5,584 # 81000248 +800003ec: 00f707b3 add a5,a4,a5 +800003f0: 00b00713 li a4,11 +800003f4: 00e7a023 sw a4,0(a5) +800003f8: c89ff0ef jal ra,80000080 +800003fc: 0640006f j 80000460 +80000400: fec42783 lw a5,-20(s0) +80000404: 0037b793 sltiu a5,a5,3 +80000408: fef404a3 sb a5,-23(s0) +8000040c: fe944783 lbu a5,-23(s0) +80000410: 00078513 mv a0,a5 +80000414: c65ff0ef jal ra,80000078 +80000418: fe944783 lbu a5,-23(s0) +8000041c: 02078263 beqz a5,80000440 +80000420: 810007b7 lui a5,0x81000 +80000424: fec42703 lw a4,-20(s0) +80000428: 00271713 slli a4,a4,0x2 +8000042c: 24878793 addi a5,a5,584 # 81000248 +80000430: 00f707b3 add a5,a4,a5 +80000434: 00c00713 li a4,12 +80000438: 00e7a023 sw a4,0(a5) +8000043c: 0200006f j 8000045c +80000440: 810007b7 lui a5,0x81000 +80000444: fec42703 lw a4,-20(s0) +80000448: 00271713 slli a4,a4,0x2 +8000044c: 24878793 addi a5,a5,584 # 81000248 +80000450: 00f707b3 add a5,a4,a5 +80000454: 00d00713 li a4,13 +80000458: 00e7a023 sw a4,0(a5) 8000045c: c25ff0ef jal ra,80000080 -80000460: 810007b7 lui a5,0x81000 -80000464: 2407a783 lw a5,576(a5) # 81000240 -80000468: 00078513 mv a0,a5 -8000046c: ca9ff0ef jal ra,80000114 -80000470: 810007b7 lui a5,0x81000 -80000474: 09078513 addi a0,a5,144 # 81000090 -80000478: c61ff0ef jal ra,800000d8 -8000047c: 810007b7 lui a5,0x81000 -80000480: 24078793 addi a5,a5,576 # 81000240 -80000484: 0047a783 lw a5,4(a5) -80000488: 00078513 mv a0,a5 -8000048c: c89ff0ef jal ra,80000114 -80000490: 810007b7 lui a5,0x81000 -80000494: 09078513 addi a0,a5,144 # 81000090 -80000498: c41ff0ef jal ra,800000d8 -8000049c: 810007b7 lui a5,0x81000 -800004a0: 24078793 addi a5,a5,576 # 81000240 -800004a4: 0087a783 lw a5,8(a5) -800004a8: 00078513 mv a0,a5 -800004ac: c69ff0ef jal ra,80000114 -800004b0: 810007b7 lui a5,0x81000 -800004b4: 09078513 addi a0,a5,144 # 81000090 -800004b8: c21ff0ef jal ra,800000d8 -800004bc: 810007b7 lui a5,0x81000 -800004c0: 24078793 addi a5,a5,576 # 81000240 -800004c4: 00c7a783 lw a5,12(a5) -800004c8: 00078513 mv a0,a5 -800004cc: c49ff0ef jal ra,80000114 -800004d0: 810007b7 lui a5,0x81000 -800004d4: 09078513 addi a0,a5,144 # 81000090 -800004d8: c01ff0ef jal ra,800000d8 -800004dc: 00000013 nop -800004e0: 01c12083 lw ra,28(sp) -800004e4: 01812403 lw s0,24(sp) -800004e8: 02010113 addi sp,sp,32 -800004ec: 00008067 ret +80000460: c21ff0ef jal ra,80000080 +80000464: 810007b7 lui a5,0x81000 +80000468: 2487a783 lw a5,584(a5) # 81000248 +8000046c: 00078513 mv a0,a5 +80000470: ca5ff0ef jal ra,80000114 +80000474: 810007b7 lui a5,0x81000 +80000478: 09078513 addi a0,a5,144 # 81000090 +8000047c: c5dff0ef jal ra,800000d8 +80000480: 810007b7 lui a5,0x81000 +80000484: 24878793 addi a5,a5,584 # 81000248 +80000488: 0047a783 lw a5,4(a5) +8000048c: 00078513 mv a0,a5 +80000490: c85ff0ef jal ra,80000114 +80000494: 810007b7 lui a5,0x81000 +80000498: 09078513 addi a0,a5,144 # 81000090 +8000049c: c3dff0ef jal ra,800000d8 +800004a0: 810007b7 lui a5,0x81000 +800004a4: 24878793 addi a5,a5,584 # 81000248 +800004a8: 0087a783 lw a5,8(a5) +800004ac: 00078513 mv a0,a5 +800004b0: c65ff0ef jal ra,80000114 +800004b4: 810007b7 lui a5,0x81000 +800004b8: 09078513 addi a0,a5,144 # 81000090 +800004bc: c1dff0ef jal ra,800000d8 +800004c0: 810007b7 lui a5,0x81000 +800004c4: 24878793 addi a5,a5,584 # 81000248 +800004c8: 00c7a783 lw a5,12(a5) +800004cc: 00078513 mv a0,a5 +800004d0: c45ff0ef jal ra,80000114 +800004d4: 810007b7 lui a5,0x81000 +800004d8: 09078513 addi a0,a5,144 # 81000090 +800004dc: bfdff0ef jal ra,800000d8 +800004e0: 00000013 nop +800004e4: 01c12083 lw ra,28(sp) +800004e8: 01812403 lw s0,24(sp) +800004ec: 02010113 addi sp,sp,32 +800004f0: 00008067 ret -800004f0 : -800004f0: fe010113 addi sp,sp,-32 -800004f4: 00112e23 sw ra,28(sp) -800004f8: 00812c23 sw s0,24(sp) -800004fc: 02010413 addi s0,sp,32 -80000500: b89ff0ef jal ra,80000088 -80000504: fea42623 sw a0,-20(s0) -80000508: 810007b7 lui a5,0x81000 -8000050c: fec42703 lw a4,-20(s0) -80000510: 00271713 slli a4,a4,0x2 -80000514: 25078793 addi a5,a5,592 # 81000250 -80000518: 00f707b3 add a5,a4,a5 -8000051c: fec42703 lw a4,-20(s0) -80000520: 00e7a023 sw a4,0(a5) -80000524: fec42783 lw a5,-20(s0) -80000528: 00078663 beqz a5,80000534 -8000052c: 00000513 li a0,0 -80000530: b39ff0ef jal ra,80000068 -80000534: 00000013 nop -80000538: 01c12083 lw ra,28(sp) -8000053c: 01812403 lw s0,24(sp) -80000540: 02010113 addi sp,sp,32 -80000544: 00008067 ret +800004f4 : +800004f4: fe010113 addi sp,sp,-32 +800004f8: 00112e23 sw ra,28(sp) +800004fc: 00812c23 sw s0,24(sp) +80000500: 02010413 addi s0,sp,32 +80000504: b85ff0ef jal ra,80000088 +80000508: fea42623 sw a0,-20(s0) +8000050c: 810007b7 lui a5,0x81000 +80000510: fec42703 lw a4,-20(s0) +80000514: 00271713 slli a4,a4,0x2 +80000518: 25878793 addi a5,a5,600 # 81000258 +8000051c: 00f707b3 add a5,a4,a5 +80000520: fec42703 lw a4,-20(s0) +80000524: 00e7a023 sw a4,0(a5) +80000528: fec42783 lw a5,-20(s0) +8000052c: 00078663 beqz a5,80000538 +80000530: 00000513 li a0,0 +80000534: b35ff0ef jal ra,80000068 +80000538: 00000013 nop +8000053c: 01c12083 lw ra,28(sp) +80000540: 01812403 lw s0,24(sp) +80000544: 02010113 addi sp,sp,32 +80000548: 00008067 ret -80000548 : -80000548: fe010113 addi sp,sp,-32 -8000054c: 00112e23 sw ra,28(sp) -80000550: 00812c23 sw s0,24(sp) -80000554: 02010413 addi s0,sp,32 -80000558: 800007b7 lui a5,0x80000 -8000055c: 4f078793 addi a5,a5,1264 # 800004f0 -80000560: fef42623 sw a5,-20(s0) -80000564: fec42583 lw a1,-20(s0) -80000568: 00400513 li a0,4 -8000056c: af5ff0ef jal ra,80000060 -80000570: f81ff0ef jal ra,800004f0 -80000574: 810007b7 lui a5,0x81000 -80000578: 2507a783 lw a5,592(a5) # 81000250 -8000057c: 00078513 mv a0,a5 -80000580: b95ff0ef jal ra,80000114 -80000584: 810007b7 lui a5,0x81000 -80000588: 09078513 addi a0,a5,144 # 81000090 -8000058c: b4dff0ef jal ra,800000d8 -80000590: 810007b7 lui a5,0x81000 -80000594: 25078793 addi a5,a5,592 # 81000250 -80000598: 0047a783 lw a5,4(a5) -8000059c: 00078513 mv a0,a5 -800005a0: b75ff0ef jal ra,80000114 -800005a4: 810007b7 lui a5,0x81000 -800005a8: 09078513 addi a0,a5,144 # 81000090 -800005ac: b2dff0ef jal ra,800000d8 -800005b0: 810007b7 lui a5,0x81000 -800005b4: 25078793 addi a5,a5,592 # 81000250 -800005b8: 0087a783 lw a5,8(a5) -800005bc: 00078513 mv a0,a5 -800005c0: b55ff0ef jal ra,80000114 -800005c4: 810007b7 lui a5,0x81000 -800005c8: 09078513 addi a0,a5,144 # 81000090 -800005cc: b0dff0ef jal ra,800000d8 -800005d0: 810007b7 lui a5,0x81000 -800005d4: 25078793 addi a5,a5,592 # 81000250 -800005d8: 00c7a783 lw a5,12(a5) -800005dc: 00078513 mv a0,a5 -800005e0: b35ff0ef jal ra,80000114 -800005e4: 810007b7 lui a5,0x81000 -800005e8: 09078513 addi a0,a5,144 # 81000090 -800005ec: aedff0ef jal ra,800000d8 -800005f0: 00000013 nop -800005f4: 01c12083 lw ra,28(sp) -800005f8: 01812403 lw s0,24(sp) -800005fc: 02010113 addi sp,sp,32 -80000600: 00008067 ret +8000054c : +8000054c: fe010113 addi sp,sp,-32 +80000550: 00112e23 sw ra,28(sp) +80000554: 00812c23 sw s0,24(sp) +80000558: 02010413 addi s0,sp,32 +8000055c: 800007b7 lui a5,0x80000 +80000560: 4f478793 addi a5,a5,1268 # 800004f4 +80000564: fef42623 sw a5,-20(s0) +80000568: fec42583 lw a1,-20(s0) +8000056c: 00400513 li a0,4 +80000570: af1ff0ef jal ra,80000060 +80000574: f81ff0ef jal ra,800004f4 +80000578: 810007b7 lui a5,0x81000 +8000057c: 2587a783 lw a5,600(a5) # 81000258 +80000580: 00078513 mv a0,a5 +80000584: b91ff0ef jal ra,80000114 +80000588: 810007b7 lui a5,0x81000 +8000058c: 09078513 addi a0,a5,144 # 81000090 +80000590: b49ff0ef jal ra,800000d8 +80000594: 810007b7 lui a5,0x81000 +80000598: 25878793 addi a5,a5,600 # 81000258 +8000059c: 0047a783 lw a5,4(a5) +800005a0: 00078513 mv a0,a5 +800005a4: b71ff0ef jal ra,80000114 +800005a8: 810007b7 lui a5,0x81000 +800005ac: 09078513 addi a0,a5,144 # 81000090 +800005b0: b29ff0ef jal ra,800000d8 +800005b4: 810007b7 lui a5,0x81000 +800005b8: 25878793 addi a5,a5,600 # 81000258 +800005bc: 0087a783 lw a5,8(a5) +800005c0: 00078513 mv a0,a5 +800005c4: b51ff0ef jal ra,80000114 +800005c8: 810007b7 lui a5,0x81000 +800005cc: 09078513 addi a0,a5,144 # 81000090 +800005d0: b09ff0ef jal ra,800000d8 +800005d4: 810007b7 lui a5,0x81000 +800005d8: 25878793 addi a5,a5,600 # 81000258 +800005dc: 00c7a783 lw a5,12(a5) +800005e0: 00078513 mv a0,a5 +800005e4: b31ff0ef jal ra,80000114 +800005e8: 810007b7 lui a5,0x81000 +800005ec: 09078513 addi a0,a5,144 # 81000090 +800005f0: ae9ff0ef jal ra,800000d8 +800005f4: 00000013 nop +800005f8: 01c12083 lw ra,28(sp) +800005fc: 01812403 lw s0,24(sp) +80000600: 02010113 addi sp,sp,32 +80000604: 00008067 ret -80000604 : -80000604: ff010113 addi sp,sp,-16 -80000608: 00112623 sw ra,12(sp) -8000060c: 00812423 sw s0,8(sp) -80000610: 01010413 addi s0,sp,16 -80000614: 810007b7 lui a5,0x81000 -80000618: 09478513 addi a0,a5,148 # 81000094 -8000061c: abdff0ef jal ra,800000d8 -80000620: f29ff0ef jal ra,80000548 -80000624: 00000013 nop -80000628: 00c12083 lw ra,12(sp) -8000062c: 00812403 lw s0,8(sp) -80000630: 01010113 addi sp,sp,16 -80000634: 00008067 ret +80000608 : +80000608: ff010113 addi sp,sp,-16 +8000060c: 00112623 sw ra,12(sp) +80000610: 00812423 sw s0,8(sp) +80000614: 01010413 addi s0,sp,16 +80000618: c6dff0ef jal ra,80000284 +8000061c: 810007b7 lui a5,0x81000 +80000620: 09478513 addi a0,a5,148 # 81000094 +80000624: ab5ff0ef jal ra,800000d8 +80000628: 00400513 li a0,4 +8000062c: a3dff0ef jal ra,80000068 +80000630: d35ff0ef jal ra,80000364 +80000634: 00100513 li a0,1 +80000638: a31ff0ef jal ra,80000068 +8000063c: 810007b7 lui a5,0x81000 +80000640: 0a878513 addi a0,a5,168 # 810000a8 +80000644: a95ff0ef jal ra,800000d8 +80000648: f05ff0ef jal ra,8000054c +8000064c: 00000013 nop +80000650: 00c12083 lw ra,12(sp) +80000654: 00812403 lw s0,8(sp) +80000658: 01010113 addi sp,sp,16 +8000065c: 00008067 ret -80000638 : -80000638: fc010113 addi sp,sp,-64 -8000063c: 02112e23 sw ra,60(sp) -80000640: 02812c23 sw s0,56(sp) -80000644: 04010413 addi s0,sp,64 -80000648: fca42623 sw a0,-52(s0) -8000064c: fcc42783 lw a5,-52(s0) -80000650: fef42623 sw a5,-20(s0) -80000654: a35ff0ef jal ra,80000088 -80000658: fea42423 sw a0,-24(s0) -8000065c: a35ff0ef jal ra,80000090 -80000660: fea42223 sw a0,-28(s0) -80000664: fec42783 lw a5,-20(s0) -80000668: 0107a783 lw a5,16(a5) -8000066c: fe842703 lw a4,-24(s0) -80000670: 00f77e63 bgeu a4,a5,8000068c -80000674: fec42783 lw a5,-20(s0) -80000678: 00c7a783 lw a5,12(a5) -8000067c: fe442703 lw a4,-28(s0) -80000680: 00f77663 bgeu a4,a5,8000068c -80000684: 00100793 li a5,1 -80000688: 0080006f j 80000690 -8000068c: 00000793 li a5,0 -80000690: fef401a3 sb a5,-29(s0) -80000694: fe344783 lbu a5,-29(s0) -80000698: 0017f793 andi a5,a5,1 -8000069c: fef401a3 sb a5,-29(s0) -800006a0: fe344783 lbu a5,-29(s0) -800006a4: 00078513 mv a0,a5 -800006a8: 9d1ff0ef jal ra,80000078 -800006ac: fe344783 lbu a5,-29(s0) -800006b0: 06078663 beqz a5,8000071c -800006b4: fec42783 lw a5,-20(s0) -800006b8: 00c7a703 lw a4,12(a5) -800006bc: fe842783 lw a5,-24(s0) -800006c0: 02f707b3 mul a5,a4,a5 -800006c4: fe442703 lw a4,-28(s0) -800006c8: 00f707b3 add a5,a4,a5 -800006cc: fcf42e23 sw a5,-36(s0) -800006d0: fec42783 lw a5,-20(s0) -800006d4: 0007a703 lw a4,0(a5) -800006d8: fdc42783 lw a5,-36(s0) -800006dc: 00279793 slli a5,a5,0x2 -800006e0: 00f707b3 add a5,a4,a5 -800006e4: 0007a683 lw a3,0(a5) -800006e8: fec42783 lw a5,-20(s0) -800006ec: 0047a703 lw a4,4(a5) -800006f0: fdc42783 lw a5,-36(s0) -800006f4: 00279793 slli a5,a5,0x2 -800006f8: 00f707b3 add a5,a4,a5 +80000660 : +80000660: fc010113 addi sp,sp,-64 +80000664: 02112e23 sw ra,60(sp) +80000668: 02812c23 sw s0,56(sp) +8000066c: 04010413 addi s0,sp,64 +80000670: fca42623 sw a0,-52(s0) +80000674: fcc42783 lw a5,-52(s0) +80000678: fef42623 sw a5,-20(s0) +8000067c: a0dff0ef jal ra,80000088 +80000680: fea42423 sw a0,-24(s0) +80000684: a0dff0ef jal ra,80000090 +80000688: fea42223 sw a0,-28(s0) +8000068c: fec42783 lw a5,-20(s0) +80000690: 0107a783 lw a5,16(a5) +80000694: fe842703 lw a4,-24(s0) +80000698: 00f77e63 bgeu a4,a5,800006b4 +8000069c: fec42783 lw a5,-20(s0) +800006a0: 00c7a783 lw a5,12(a5) +800006a4: fe442703 lw a4,-28(s0) +800006a8: 00f77663 bgeu a4,a5,800006b4 +800006ac: 00100793 li a5,1 +800006b0: 0080006f j 800006b8 +800006b4: 00000793 li a5,0 +800006b8: fef401a3 sb a5,-29(s0) +800006bc: fe344783 lbu a5,-29(s0) +800006c0: 0017f793 andi a5,a5,1 +800006c4: fef401a3 sb a5,-29(s0) +800006c8: fe344783 lbu a5,-29(s0) +800006cc: 00078513 mv a0,a5 +800006d0: 9a9ff0ef jal ra,80000078 +800006d4: fe344783 lbu a5,-29(s0) +800006d8: 06078663 beqz a5,80000744 +800006dc: fec42783 lw a5,-20(s0) +800006e0: 00c7a703 lw a4,12(a5) +800006e4: fe842783 lw a5,-24(s0) +800006e8: 02f707b3 mul a5,a4,a5 +800006ec: fe442703 lw a4,-28(s0) +800006f0: 00f707b3 add a5,a4,a5 +800006f4: fcf42e23 sw a5,-36(s0) +800006f8: fec42783 lw a5,-20(s0) 800006fc: 0007a703 lw a4,0(a5) -80000700: fec42783 lw a5,-20(s0) -80000704: 0087a603 lw a2,8(a5) -80000708: fdc42783 lw a5,-36(s0) -8000070c: 00279793 slli a5,a5,0x2 -80000710: 00f607b3 add a5,a2,a5 -80000714: 00e68733 add a4,a3,a4 -80000718: 00e7a023 sw a4,0(a5) -8000071c: 965ff0ef jal ra,80000080 -80000720: 00000013 nop -80000724: 03c12083 lw ra,60(sp) -80000728: 03812403 lw s0,56(sp) -8000072c: 04010113 addi sp,sp,64 -80000730: 00008067 ret +80000700: fdc42783 lw a5,-36(s0) +80000704: 00279793 slli a5,a5,0x2 +80000708: 00f707b3 add a5,a4,a5 +8000070c: 0007a683 lw a3,0(a5) +80000710: fec42783 lw a5,-20(s0) +80000714: 0047a703 lw a4,4(a5) +80000718: fdc42783 lw a5,-36(s0) +8000071c: 00279793 slli a5,a5,0x2 +80000720: 00f707b3 add a5,a4,a5 +80000724: 0007a703 lw a4,0(a5) +80000728: fec42783 lw a5,-20(s0) +8000072c: 0087a603 lw a2,8(a5) +80000730: fdc42783 lw a5,-36(s0) +80000734: 00279793 slli a5,a5,0x2 +80000738: 00f607b3 add a5,a2,a5 +8000073c: 00e68733 add a4,a3,a4 +80000740: 00e7a023 sw a4,0(a5) +80000744: 93dff0ef jal ra,80000080 +80000748: 00000013 nop +8000074c: 03c12083 lw ra,60(sp) +80000750: 03812403 lw s0,56(sp) +80000754: 04010113 addi sp,sp,64 +80000758: 00008067 ret -80000734
: -80000734: ff010113 addi sp,sp,-16 -80000738: 00112623 sw ra,12(sp) -8000073c: 00812423 sw s0,8(sp) -80000740: 01010413 addi s0,sp,16 -80000744: 00100513 li a0,1 -80000748: 921ff0ef jal ra,80000068 -8000074c: b35ff0ef jal ra,80000280 -80000750: 810007b7 lui a5,0x81000 -80000754: 0e078513 addi a0,a5,224 # 810000e0 -80000758: 981ff0ef jal ra,800000d8 -8000075c: 00400513 li a0,4 -80000760: 909ff0ef jal ra,80000068 -80000764: bfdff0ef jal ra,80000360 -80000768: 00100513 li a0,1 -8000076c: 8fdff0ef jal ra,80000068 -80000770: 00000793 li a5,0 -80000774: 00078513 mv a0,a5 -80000778: 00c12083 lw ra,12(sp) -8000077c: 00812403 lw s0,8(sp) -80000780: 01010113 addi sp,sp,16 -80000784: 00008067 ret +8000075c
: +8000075c: fc010113 addi sp,sp,-64 +80000760: 02112e23 sw ra,60(sp) +80000764: 02812c23 sw s0,56(sp) +80000768: 04010413 addi s0,sp,64 +8000076c: 00100513 li a0,1 +80000770: 8f9ff0ef jal ra,80000068 +80000774: 810007b7 lui a5,0x81000 +80000778: 1bc78793 addi a5,a5,444 # 810001bc +8000077c: fcf42423 sw a5,-56(s0) +80000780: 810007b7 lui a5,0x81000 +80000784: 1fc78793 addi a5,a5,508 # 810001fc +80000788: fcf42623 sw a5,-52(s0) +8000078c: 810007b7 lui a5,0x81000 +80000790: 26878793 addi a5,a5,616 # 81000268 +80000794: fcf42823 sw a5,-48(s0) +80000798: 00400793 li a5,4 +8000079c: fcf42a23 sw a5,-44(s0) +800007a0: 00400793 li a5,4 +800007a4: fcf42c23 sw a5,-40(s0) +800007a8: 00400793 li a5,4 +800007ac: fef42223 sw a5,-28(s0) +800007b0: 00400793 li a5,4 +800007b4: fef42023 sw a5,-32(s0) +800007b8: fe442703 lw a4,-28(s0) +800007bc: fe042583 lw a1,-32(s0) +800007c0: fc840793 addi a5,s0,-56 +800007c4: 00078693 mv a3,a5 +800007c8: 800007b7 lui a5,0x80000 +800007cc: 66078613 addi a2,a5,1632 # 80000660 +800007d0: 00070513 mv a0,a4 +800007d4: a41ff0ef jal ra,80000214 +800007d8: fe042623 sw zero,-20(s0) +800007dc: 0800006f j 8000085c +800007e0: fe042423 sw zero,-24(s0) +800007e4: 0540006f j 80000838 +800007e8: fd442703 lw a4,-44(s0) +800007ec: fec42783 lw a5,-20(s0) +800007f0: 02f70733 mul a4,a4,a5 +800007f4: fe842783 lw a5,-24(s0) +800007f8: 00f707b3 add a5,a4,a5 +800007fc: fcf42e23 sw a5,-36(s0) +80000800: 810007b7 lui a5,0x81000 +80000804: fdc42703 lw a4,-36(s0) +80000808: 00271713 slli a4,a4,0x2 +8000080c: 26878793 addi a5,a5,616 # 81000268 +80000810: 00f707b3 add a5,a4,a5 +80000814: 0007a783 lw a5,0(a5) +80000818: 00078513 mv a0,a5 +8000081c: 8f9ff0ef jal ra,80000114 +80000820: 810007b7 lui a5,0x81000 +80000824: 0f478513 addi a0,a5,244 # 810000f4 +80000828: 8b1ff0ef jal ra,800000d8 +8000082c: fe842783 lw a5,-24(s0) +80000830: 00178793 addi a5,a5,1 +80000834: fef42423 sw a5,-24(s0) +80000838: fd442703 lw a4,-44(s0) +8000083c: fe842783 lw a5,-24(s0) +80000840: fae7e4e3 bltu a5,a4,800007e8 +80000844: 810007b7 lui a5,0x81000 +80000848: 0f878513 addi a0,a5,248 # 810000f8 +8000084c: 88dff0ef jal ra,800000d8 +80000850: fec42783 lw a5,-20(s0) +80000854: 00178793 addi a5,a5,1 +80000858: fef42623 sw a5,-20(s0) +8000085c: fd842703 lw a4,-40(s0) +80000860: fec42783 lw a5,-20(s0) +80000864: f6e7eee3 bltu a5,a4,800007e0 +80000868: 00000793 li a5,0 +8000086c: 00078513 mv a0,a5 +80000870: 03c12083 lw ra,60(sp) +80000874: 03812403 lw s0,56(sp) +80000878: 04010113 addi sp,sp,64 +8000087c: 00008067 ret Disassembly of section .rodata: @@ -565,7 +627,7 @@ Disassembly of section .rodata: 8100002a: 0000 unimp 8100002c: 0062 c.slli zero,0x18 8100002e: 0000 unimp -81000030: 00000063 beqz zero,81000030 +81000030: 00000063 beqz zero,81000030 81000034: 0064 addi s1,sp,12 81000036: 0000 unimp 81000038: 0065 c.nop 25 @@ -596,7 +658,7 @@ Disassembly of section .rodata: 8100006e: 0000 unimp 81000070: 0062 c.slli zero,0x18 81000072: 0000 unimp -81000074: 00000063 beqz zero,81000074 +81000074: 00000063 beqz zero,81000074 81000078: 0064 addi s1,sp,12 8100007a: 0000 unimp 8100007c: 0065 c.nop 25 @@ -611,239 +673,239 @@ Disassembly of section .rodata: 81000090: 000a c.slli zero,0x2 81000092: 0000 unimp 81000094: 6574 flw fa3,76(a0) -81000096: 735f7473 csrrci s0,0x735,30 -8100009a: 6170 flw fa2,68(a0) -8100009c: 000a6e77 0xa6e77 -810000a0: 0030 addi a2,sp,8 -810000a2: 0000 unimp -810000a4: 0031 c.nop 12 +81000096: 645f7473 csrrci s0,0x645,30 +8100009a: 7669 lui a2,0xffffa +8100009c: 7265 lui tp,0xffff9 +8100009e: 636e6567 0x636e6567 +810000a2: 0a65 addi s4,s4,25 +810000a4: 0000 unimp 810000a6: 0000 unimp -810000a8: 0032 c.slli zero,0xc -810000aa: 0000 unimp -810000ac: 00000033 add zero,zero,zero -810000b0: 0034 addi a3,sp,8 -810000b2: 0000 unimp -810000b4: 0035 c.nop 13 +810000a8: 6574 flw fa3,76(a0) +810000aa: 735f7473 csrrci s0,0x735,30 +810000ae: 6170 flw fa2,68(a0) +810000b0: 000a6e77 0xa6e77 +810000b4: 0030 addi a2,sp,8 810000b6: 0000 unimp -810000b8: 0036 c.slli zero,0xd +810000b8: 0031 c.nop 12 810000ba: 0000 unimp -810000bc: 00000037 lui zero,0x0 -810000c0: 0038 addi a4,sp,8 -810000c2: 0000 unimp -810000c4: 0039 c.nop 14 +810000bc: 0032 c.slli zero,0xc +810000be: 0000 unimp +810000c0: 00000033 add zero,zero,zero +810000c4: 0034 addi a3,sp,8 810000c6: 0000 unimp -810000c8: 0061 c.nop 24 +810000c8: 0035 c.nop 13 810000ca: 0000 unimp -810000cc: 0062 c.slli zero,0x18 +810000cc: 0036 c.slli zero,0xd 810000ce: 0000 unimp -810000d0: 00000063 beqz zero,810000d0 -810000d4: 0064 addi s1,sp,12 +810000d0: 00000037 lui zero,0x0 +810000d4: 0038 addi a4,sp,8 810000d6: 0000 unimp -810000d8: 0065 c.nop 25 +810000d8: 0039 c.nop 14 810000da: 0000 unimp -810000dc: 0066 c.slli zero,0x19 +810000dc: 0061 c.nop 24 810000de: 0000 unimp -810000e0: 6574 flw fa3,76(a0) -810000e2: 645f7473 csrrci s0,0x645,30 -810000e6: 7669 lui a2,0xffffa -810000e8: 7265 lui tp,0xffff9 -810000ea: 636e6567 0x636e6567 -810000ee: 0a65 addi s4,s4,25 - ... +810000e0: 0062 c.slli zero,0x18 +810000e2: 0000 unimp +810000e4: 00000063 beqz zero,810000e4 +810000e8: 0064 addi s1,sp,12 +810000ea: 0000 unimp +810000ec: 0065 c.nop 25 +810000ee: 0000 unimp +810000f0: 0066 c.slli zero,0x19 +810000f2: 0000 unimp +810000f4: 0020 addi s0,sp,8 +810000f6: 0000 unimp +810000f8: 000a c.slli zero,0x2 Disassembly of section .data: -810000f4 : -810000f4: 0000 unimp -810000f6: 8100 0x8100 -810000f8: 0004 0x4 -810000fa: 8100 0x8100 -810000fc: 0008 0x8 +810000fc : +810000fc: 0000 unimp 810000fe: 8100 0x8100 -81000100: 000c 0xc +81000100: 0004 0x4 81000102: 8100 0x8100 -81000104: 0010 0x10 +81000104: 0008 0x8 81000106: 8100 0x8100 -81000108: 0014 0x14 +81000108: 000c 0xc 8100010a: 8100 0x8100 -8100010c: 0018 0x18 +8100010c: 0010 0x10 8100010e: 8100 0x8100 -81000110: 001c 0x1c +81000110: 0014 0x14 81000112: 8100 0x8100 -81000114: 0020 addi s0,sp,8 +81000114: 0018 0x18 81000116: 8100 0x8100 -81000118: 0024 addi s1,sp,8 +81000118: 001c 0x1c 8100011a: 8100 0x8100 -8100011c: 0028 addi a0,sp,8 +8100011c: 0020 addi s0,sp,8 8100011e: 8100 0x8100 -81000120: 002c addi a1,sp,8 +81000120: 0024 addi s1,sp,8 81000122: 8100 0x8100 -81000124: 0030 addi a2,sp,8 +81000124: 0028 addi a0,sp,8 81000126: 8100 0x8100 -81000128: 0034 addi a3,sp,8 +81000128: 002c addi a1,sp,8 8100012a: 8100 0x8100 -8100012c: 0038 addi a4,sp,8 +8100012c: 0030 addi a2,sp,8 8100012e: 8100 0x8100 -81000130: 003c addi a5,sp,8 +81000130: 0034 addi a3,sp,8 81000132: 8100 0x8100 - -81000134 : -81000134: 0044 addi s1,sp,4 +81000134: 0038 addi a4,sp,8 81000136: 8100 0x8100 -81000138: 0048 addi a0,sp,4 +81000138: 003c addi a5,sp,8 8100013a: 8100 0x8100 -8100013c: 004c addi a1,sp,4 + +8100013c : +8100013c: 0044 addi s1,sp,4 8100013e: 8100 0x8100 -81000140: 0050 addi a2,sp,4 +81000140: 0048 addi a0,sp,4 81000142: 8100 0x8100 -81000144: 0054 addi a3,sp,4 +81000144: 004c addi a1,sp,4 81000146: 8100 0x8100 -81000148: 0058 addi a4,sp,4 +81000148: 0050 addi a2,sp,4 8100014a: 8100 0x8100 -8100014c: 005c addi a5,sp,4 +8100014c: 0054 addi a3,sp,4 8100014e: 8100 0x8100 -81000150: 0060 addi s0,sp,12 +81000150: 0058 addi a4,sp,4 81000152: 8100 0x8100 -81000154: 0064 addi s1,sp,12 +81000154: 005c addi a5,sp,4 81000156: 8100 0x8100 -81000158: 0068 addi a0,sp,12 +81000158: 0060 addi s0,sp,12 8100015a: 8100 0x8100 -8100015c: 006c addi a1,sp,12 +8100015c: 0064 addi s1,sp,12 8100015e: 8100 0x8100 -81000160: 0070 addi a2,sp,12 +81000160: 0068 addi a0,sp,12 81000162: 8100 0x8100 -81000164: 0074 addi a3,sp,12 +81000164: 006c addi a1,sp,12 81000166: 8100 0x8100 -81000168: 0078 addi a4,sp,12 +81000168: 0070 addi a2,sp,12 8100016a: 8100 0x8100 -8100016c: 007c addi a5,sp,12 +8100016c: 0074 addi a3,sp,12 8100016e: 8100 0x8100 -81000170: 0080 addi s0,sp,64 +81000170: 0078 addi a4,sp,12 81000172: 8100 0x8100 - -81000174 : -81000174: 00a0 addi s0,sp,72 +81000174: 007c addi a5,sp,12 81000176: 8100 0x8100 -81000178: 00a4 addi s1,sp,72 +81000178: 0080 addi s0,sp,64 8100017a: 8100 0x8100 -8100017c: 00a8 addi a0,sp,72 -8100017e: 8100 0x8100 -81000180: 00ac addi a1,sp,72 -81000182: 8100 0x8100 -81000184: 00b0 addi a2,sp,72 -81000186: 8100 0x8100 -81000188: 00b4 addi a3,sp,72 -8100018a: 8100 0x8100 -8100018c: 00b8 addi a4,sp,72 -8100018e: 8100 0x8100 -81000190: 00bc addi a5,sp,72 -81000192: 8100 0x8100 -81000194: 00c0 addi s0,sp,68 -81000196: 8100 0x8100 -81000198: 00c4 addi s1,sp,68 -8100019a: 8100 0x8100 -8100019c: 00c8 addi a0,sp,68 -8100019e: 8100 0x8100 -810001a0: 00cc addi a1,sp,68 -810001a2: 8100 0x8100 -810001a4: 00d0 addi a2,sp,68 -810001a6: 8100 0x8100 -810001a8: 00d4 addi a3,sp,68 -810001aa: 8100 0x8100 -810001ac: 00d8 addi a4,sp,68 -810001ae: 8100 0x8100 -810001b0: 00dc addi a5,sp,68 -810001b2: 8100 0x8100 -810001b4 : -810001b4: 0001 nop -810001b6: 0000 unimp -810001b8: 0001 nop -810001ba: 0000 unimp -810001bc: 0001 nop +8100017c : +8100017c: 00b4 addi a3,sp,72 +8100017e: 8100 0x8100 +81000180: 00b8 addi a4,sp,72 +81000182: 8100 0x8100 +81000184: 00bc addi a5,sp,72 +81000186: 8100 0x8100 +81000188: 00c0 addi s0,sp,68 +8100018a: 8100 0x8100 +8100018c: 00c4 addi s1,sp,68 +8100018e: 8100 0x8100 +81000190: 00c8 addi a0,sp,68 +81000192: 8100 0x8100 +81000194: 00cc addi a1,sp,68 +81000196: 8100 0x8100 +81000198: 00d0 addi a2,sp,68 +8100019a: 8100 0x8100 +8100019c: 00d4 addi a3,sp,68 +8100019e: 8100 0x8100 +810001a0: 00d8 addi a4,sp,68 +810001a2: 8100 0x8100 +810001a4: 00dc addi a5,sp,68 +810001a6: 8100 0x8100 +810001a8: 00e0 addi s0,sp,76 +810001aa: 8100 0x8100 +810001ac: 00e4 addi s1,sp,76 +810001ae: 8100 0x8100 +810001b0: 00e8 addi a0,sp,76 +810001b2: 8100 0x8100 +810001b4: 00ec addi a1,sp,76 +810001b6: 8100 0x8100 +810001b8: 00f0 addi a2,sp,76 +810001ba: 8100 0x8100 + +810001bc : +810001bc: 0005 c.nop 1 810001be: 0000 unimp -810001c0: 0001 nop +810001c0: 0005 c.nop 1 810001c2: 0000 unimp -810001c4: 0001 nop +810001c4: 0005 c.nop 1 810001c6: 0000 unimp -810001c8: 0001 nop +810001c8: 0005 c.nop 1 810001ca: 0000 unimp -810001cc: 0001 nop +810001cc: 0006 c.slli zero,0x1 810001ce: 0000 unimp -810001d0: 0001 nop +810001d0: 0006 c.slli zero,0x1 810001d2: 0000 unimp -810001d4: 0001 nop +810001d4: 0006 c.slli zero,0x1 810001d6: 0000 unimp -810001d8: 0001 nop +810001d8: 0006 c.slli zero,0x1 810001da: 0000 unimp -810001dc: 0001 nop -810001de: 0000 unimp -810001e0: 0001 nop -810001e2: 0000 unimp -810001e4: 0001 nop -810001e6: 0000 unimp -810001e8: 0001 nop -810001ea: 0000 unimp -810001ec: 0001 nop +810001dc: 00000007 0x7 +810001e0: 00000007 0x7 +810001e4: 00000007 0x7 +810001e8: 00000007 0x7 +810001ec: 0008 0x8 810001ee: 0000 unimp -810001f0: 0001 nop +810001f0: 0008 0x8 +810001f2: 0000 unimp +810001f4: 0008 0x8 +810001f6: 0000 unimp +810001f8: 0008 0x8 ... -810001f4 : -810001f4: 0006 c.slli zero,0x1 -810001f6: 0000 unimp -810001f8: 0006 c.slli zero,0x1 -810001fa: 0000 unimp -810001fc: 0006 c.slli zero,0x1 +810001fc : +810001fc: 0001 nop 810001fe: 0000 unimp -81000200: 0006 c.slli zero,0x1 +81000200: 0001 nop 81000202: 0000 unimp -81000204: 0006 c.slli zero,0x1 +81000204: 0001 nop 81000206: 0000 unimp -81000208: 0006 c.slli zero,0x1 +81000208: 0001 nop 8100020a: 0000 unimp -8100020c: 0006 c.slli zero,0x1 +8100020c: 0001 nop 8100020e: 0000 unimp -81000210: 0006 c.slli zero,0x1 +81000210: 0001 nop 81000212: 0000 unimp -81000214: 0006 c.slli zero,0x1 +81000214: 0001 nop 81000216: 0000 unimp -81000218: 0006 c.slli zero,0x1 +81000218: 0001 nop 8100021a: 0000 unimp -8100021c: 0006 c.slli zero,0x1 +8100021c: 0001 nop 8100021e: 0000 unimp -81000220: 0006 c.slli zero,0x1 +81000220: 0001 nop 81000222: 0000 unimp -81000224: 0006 c.slli zero,0x1 +81000224: 0001 nop 81000226: 0000 unimp -81000228: 0006 c.slli zero,0x1 +81000228: 0001 nop 8100022a: 0000 unimp -8100022c: 0006 c.slli zero,0x1 +8100022c: 0001 nop 8100022e: 0000 unimp -81000230: 0006 c.slli zero,0x1 +81000230: 0001 nop +81000232: 0000 unimp +81000234: 0001 nop +81000236: 0000 unimp +81000238: 0001 nop ... Disassembly of section .bss: -81000234 : -81000234: 0000 unimp - ... - -81000238 : -81000238: 0000 unimp - ... - -8100023c : +8100023c : 8100023c: 0000 unimp ... -81000240 : +81000240 : +81000240: 0000 unimp ... -81000250 : +81000244 : +81000244: 0000 unimp ... -81000260 : +81000248 : + ... + +81000258 : + ... + +81000268 : ... Disassembly of section .comment: diff --git a/runtime/vortex_runtime.elf b/runtime/vortex_runtime.elf index e6e0523c01f4a9c7cb7c4175e0e162d624a4837a..5147bd11671165d255dc6c713a1a53dd00c52bcc 100644 GIT binary patch delta 1671 zcmZ8iZD<>H7=P~aaYV#jSQ~JIkPx2$PI5=$Kyyb7W&;tuIu>4}K7m zEZJ@#W1G(y=$8~*tV8EEJE_88bk=qFX=7hhwq?>uhloj8SaoEFzyIB3IlS`Z|MI;3 zp5OD__4dxYJCDU=N*_-o!i5M?A#!}QFEk<(eR*!;bZ1}T12shSHibwHWt{b1s!QgR zUr2M$b%iBqiHD=5C$olnP@!7A^5?ul#lWm$h_y7k#Mh&54Nk2%$AB5M^>0=Zj)_^e z_0OIA0$bTWhI=5nXd^@wa*vNi(|Pq^Hd3osmqq4UJ$D0&TY7574w#F!6F;?R^T`yk zWf^nUebT2^fU-;A_|?sCdAM@R;tY(BA>J*q7e1xgEV;OIzx(tzJpE=ESS^F9&)~Oq zfTfoHrceJ1&>I>uT@z?aK+E$cO@|tGDSO^_GgkPhs!0_-qxMP`FR9uqs6kmHRXOX_ zff}w%QYP$r57Tr|c%SgRbC<<_{{cl7X$2o@uPJ!o4ePXgE7DajQtnc%u3ZwAD5%BA z&pyCEiT(c=x#H9R*w#NHZVyx60rWV_4SyifmaTi>cl z`_897+tzoZC}+I2IiCU7x|1lW>JgE}Xyv|g!BwZRzwVBrHtqUY9k@FMsk71ZLPvE< zH)b&I)hXWFGb&d;w||Ty8R0Mx26rNO?mIiMLmq(NjTtlJXSM4YA3D z;P6niWKda?OJ>;?t$5t-^xB!57WqbL~ z$^(xV*i;XT9F7f|9Eh7`C+YIvEB9F;Cuk|Q5C|B>fGSDB@xr;{0p*j}r~F5(lTXC9 zhhjw3!K<+nACC9OZxa>oK<+~Rg47`xCw#*^;nleMGy;=f@bRNZ!VB?1z8df1p~SXm z6aG+A0Ds~c;UkHP)Z}ONjnWA3(Y5D4lBk%0MuJ61BHAWXu?y!Y1*wL0Z*LXX43 z#=477>sk_D*<#SMx&SYT6D5i$>v4|2YZtHTySpf?7#-itbIF$? zuMTI&hW8Cj@`dE4@Weagn??txhf=a!i13T)l=Oi2q_vRXsL92&F8+5ENBC6Q1UJ|4 ZyMzD5Z-L{_m`^O2L|cHc^#F|X{0G$yQ%C>+ delta 1426 zcmbVMTWAz#6h8m#WvbS?<0Kn253}y<&LkCFY}ZC1N>VBtQXy$jDD+_hL5x*ULaDVc zndw*(pNu))`cO8Ig%qzz6G=l0Z6#=_Qi_&BuJi1@OrEM8E?o_}W6orgYkmw*1t zcfRjj=FESu=kK18gz!W^o=irEMSx-Pc<0(kRsa~A+IwNuG8m8}0Q(?N;EYiROt22YjT{+Um1^=Lvzf`T@g!FmG71ib)Jf#5+iK*$KN1%=^fgFjEZE?YK zDyIBk?(jXWmzBy&k*_(2f&w4^CxHK1!-qhA)62#s`2x3V2G^SboibSE{OWV^S4w5$3Rkx$URLR6zW0;3T1)a}m3|7~ z^EI5Rtl@DA-c8P!4j5dd&>C<> zd}Yi#%u!zz&ry#)#2xWBmK)=0sz6O_jN@>;Q&7Id-{J%P#wi&9?8J|uP|6C)jD`1@ z05rc)H3`&|1#*}%uYr|OVpl!BM(LjMKY|f*^u6EY$B@2D9vx`{X>u*L$DFc0ePuN9 z1zt$x@I;~xpC?Rd48SVT_=?7P8k2Z1ND1Ys!Ayg3TybDCEZ$Dz3!FRMzL zt{yAwTYX2Y8DB*r-PdU!CRP@osvp#E4pS7(Zm{QuyVKCqK zy*wtX)&OfcU2|Cx%$+{IiuRR&KZ*7xZck@k?G1rBLTnx@GHp||z2~h%{r&iDdRw%o zujS*z9rz;M65VldU+3H1hdUhad P*4Zc6OwT!duesr0y7twS diff --git a/runtime/vortex_runtime.hex b/runtime/vortex_runtime.hex index d6c905bd..5af1b045 100644 --- a/runtime/vortex_runtime.hex +++ b/runtime/vortex_runtime.hex @@ -1,7 +1,7 @@ :0200000480007A :100000009705000093850502130540006B10B500AD -:10001000EF000001EF000072130500006B00050007 -:10002000130540006B000500F32610029396F600BE +:10001000EF000001EF008074130500006B00050085 +:10002000130540006B000500F32610029396A6010D :10003000732600029315A6001316260037F1FF6FF2 :100040003301B1403301D1403301C100F326100226 :1000500063860600130500006B0005006780000042 @@ -18,7 +18,7 @@ :100100001301C10067800000B702010023A0B20004 :1001100067800000130101FE232E1100232C8100B3 :10012000130401022326A4FEB70700810327C4FE9F -:10013000131727009387470FB307F70083A707001C +:10013000131727009387C70FB307F70083A707009C :1001400013850700EFF05FF9130000008320C10161 :10015000032481011301010267800000130101FEE5 :10016000232E1100232C8100130401022326A4FE58 @@ -26,100 +26,115 @@ :10018000EFF05FF9B707008113850704EFF0DFF4A4 :10019000130000008320C101032481011301010227 :1001A00067800000130101FE232E1100232C810023 -:1001B00013040102B707008183A7C7231385070033 -:1001C000EFF09FEAB707008103A78723B7070081F5 -:1001D00083A7472313850700E7000700EFF0DFEA56 +:1001B00013040102B707008183A7472413850700B2 +:1001C000EFF09FEAB707008103A70724B707008174 +:1001D00083A7C72313850700E7000700EFF0DFEAD6 :1001E0002326A4FE8327C4FE6388070013050000AE :1001F000EFF09FE76F00C00013051000EFF0DFE69F :10020000130000008320C1010324810113010102B6 :1002100067800000130101FE232E1100232C8100B2 :10022000130401022326A4FE2324B4FE2322C4FEC9 -:100230002320D4FEB7070081032744FE23ACE72226 -:10024000B7070081032704FE23AAE722B70700812E -:10025000032784FE23AEE722832744FE938507000D -:100260000325C4FEEFF0DFDFEFF0DFF31300000043 -:100270008320C10103248101130101026780000072 -:10028000130101FE232E1100232C8100130401020F -:10029000B707008113854708EFF01FE413054000FE -:1002A000EFF09FDCEFF0DFDE2326A4FE0327C4FE81 -:1002B000B70700818326C4FE939626009387072400 -:1002C000B387F60023A0E70013051000EFF0DFD995 -:1002D000B707008183A7072413850700EFF09FE38A -:1002E000B707008113850709EFF01FDFB70700810B -:1002F0009387072483A7470013850700EFF09FE14A -:10030000B707008113850709EFF01FDDB7070081EC -:100310009387072483A7870013850700EFF09FDFEB -:10032000B707008113850709EFF01FDBB7070081CE -:100330009387072483A7C70013850700EFF09FDD8D -:10034000B707008113850709EFF01FD913000000DC -:100350008320C10103248101130101026780000091 -:10036000130101FE232E1100232C8100130401022E -:10037000EFF01FD22326A4FE8327C4FE93B72700E5 -:10038000A305F4FE8347B4FE13850700EFF0DFCE2C -:100390008347B4FE638407068327C4FE93B7170020 -:1003A0002305F4FE8347A4FE13850700EFF0DFCC9E -:1003B0008347A4FE63820702B70700810327C4FEB8 -:1003C0001317270093870724B307F7001307A0002C -:1003D00023A0E7006F000002B70700810327C4FED7 -:1003E0001317270093870724B307F7001307B000FC -:1003F00023A0E700EFF0DFC86F0040068327C4FEAC -:1004000093B73700A304F4FE834794FE13850700D7 -:10041000EFF09FC6834794FE63820702B70700810F -:100420000327C4FE1317270093870724B307F70099 -:100430001307C00023A0E7006F000002B707008188 -:100440000327C4FE1317270093870724B307F70079 -:100450001307D00023A0E700EFF09FC2EFF05FC2C8 -:10046000B707008183A7072413850700EFF09FCA11 -:10047000B707008113850709EFF01FC6B707008192 -:100480009387072483A7470013850700EFF09FC8D1 -:10049000B707008113850709EFF01FC4B707008174 -:1004A0009387072483A7870013850700EFF09FC673 -:1004B000B707008113850709EFF01FC2B707008156 -:1004C0009387072483A7C70013850700EFF09FC415 -:1004D000B707008113850709EFF01FC01300000064 -:1004E0008320C10103248101130101026780000000 -:1004F000130101FE232E1100232C8100130401029D -:10050000EFF09FB82326A4FEB70700810327C4FE9F -:100510001317270093870725B307F7000327C4FEA7 -:1005200023A0E7008327C4FE6386070013050000AD -:10053000EFF09FB3130000008320C1010324810169 -:100540001301010267800000130101FE232E110038 -:10055000232C810013040102B70700809387074F03 -:100560002326F4FE8325C4FE13054000EFF05FAFA1 -:10057000EFF01FF8B707008183A707251385070051 -:10058000EFF05FB9B707008113850709EFF0DFB41B -:10059000B70700819387072583A7470013850700C6 -:1005A000EFF05FB7B707008113850709EFF0DFB2FF -:1005B000B70700819387072583A787001385070066 -:1005C000EFF05FB5B707008113850709EFF0DFB0E3 -:1005D000B70700819387072583A7C7001385070006 -:1005E000EFF05FB3B707008113850709EFF0DFAEC7 -:1005F000130000008320C1010324810113010102C3 -:1006000067800000130101FF2326110023248100CD -:1006100013040101B707008113854709EFF0DFAB31 -:10062000EFF09FF2130000008320C100032481003B -:100630001301010167800000130101FC232E110248 -:10064000232C8102130401042326A4FC8327C4FC69 -:100650002326F4FEEFF05FA32324A4FEEFF05FA3B4 -:100660002322A4FE8327C4FE83A70701032784FE59 -:10067000637EF7008327C4FE83A7C700032744FED9 -:100680006376F700930710006F0080009307000067 -:10069000A301F4FE834734FE93F71700A301F4FE91 -:1006A000834734FE13850700EFF01F9D834734FE18 -:1006B000638607068327C4FE03A7C700832784FE3B -:1006C000B307F702032744FEB307F700232EF4FC19 -:1006D0008327C4FE03A707008327C4FD9397270041 -:1006E000B307F70083A607008327C4FE03A74700CC -:1006F0008327C4FD93972700B307F70003A70700DC -:100700008327C4FE03A687008327C4FD9397270091 -:10071000B307F6003387E60023A0E700EFF05F960B -:10072000130000008320C10303248103130101048B -:1007300067800000130101FF23261100232481009C -:100740001304010113051000EFF01F92EFF05FB3E7 -:10075000B70700811385070EEFF01F9813054000BF -:10076000EFF09F90EFF0DFBF13051000EFF0DF8F89 -:1007700093070000138507008320C1000324810034 -:08078000130101016780000074 +:100230002320D4FEB7070081032744FE23A0E72430 +:10024000B7070081032704FE23AEE722B70700812A +:10025000032784FE23A2E724B70700809387471A69 +:10026000938507000325C4FEEFF09FDFEFF09FF3B7 +:10027000130000008320C101032481011301010246 +:1002800067800000130101FE232E1100232C810042 +:1002900013040102B707008113854708EFF0DFE37D +:1002A00013054000EFF05FDCEFF09FDE2326A4FE95 +:1002B0000327C4FEB70700818326C4FE9396260059 +:1002C00093878724B387F60023A0E7001305100067 +:1002D000EFF09FD9B707008183A787241385070014 +:1002E000EFF05FE3B707008113850709EFF0DFDE6A +:1002F000B70700819387872483A7470013850700EA +:10030000EFF05FE1B707008113850709EFF0DFDC4D +:10031000B70700819387872483A787001385070089 +:10032000EFF05FDFB707008113850709EFF0DFDA31 +:10033000B70700819387872483A7C7001385070029 +:10034000EFF05FDDB707008113850709EFF0DFD815 +:10035000130000008320C101032481011301010265 +:1003600067800000130101FE232E1100232C810061 +:1003700013040102EFF0DFD12326A4FE8327C4FE7D +:1003800093B72700A305F4FE8347B4FE1385070047 +:10039000EFF09FCE8347B4FE638407068327C4FE35 +:1003A00093B717002305F4FE8347A4FE13850700C7 +:1003B000EFF09FCC8347A4FE63820702B70700815A +:1003C0000327C4FE1317270093878724B307F7007A +:1003D0001307A00023A0E7006F000002B707008109 +:1003E0000327C4FE1317270093878724B307F7005A +:1003F0001307B00023A0E700EFF09FC86F0040068E +:100400008327C4FE93B73700A304F4FE834794FE0A +:1004100013850700EFF05FC6834794FE63820702EF +:10042000B70700810327C4FE13172700938787248B +:10043000B307F7001307C00023A0E7006F00000216 +:10044000B70700810327C4FE13172700938787246B +:10045000B307F7001307D00023A0E700EFF05FC257 +:10046000EFF01FC2B707008183A787241385070019 +:10047000EFF05FCAB707008113850709EFF0DFC50A +:10048000B70700819387872483A747001385070058 +:10049000EFF05FC8B707008113850709EFF0DFC3EE +:1004A000B70700819387872483A7870013850700F8 +:1004B000EFF05FC6B707008113850709EFF0DFC1D2 +:1004C000B70700819387872483A7C7001385070098 +:1004D000EFF05FC4B707008113850709EFF0DFBFB6 +:1004E000130000008320C1010324810113010102D4 +:1004F00067800000130101FE232E1100232C8100D0 +:1005000013040102EFF05FB82326A4FEB7070081B1 +:100510000327C4FE1317270093878725B307F70027 +:100520000327C4FE23A0E7008327C4FE63860700D9 +:1005300013050000EFF05FB3130000008320C1013A +:10054000032481011301010267800000130101FEF1 +:10055000232E1100232C810013040102B707008011 +:100560009387474F2326F4FE8325C4FE13054000DE +:10057000EFF01FAFEFF01FF8B707008183A78725C3 +:1005800013850700EFF01FB9B7070081138507092E +:10059000EFF09FB4B70700819387872583A74700B3 +:1005A00013850700EFF01FB7B70700811385070910 +:1005B000EFF09FB2B70700819387872583A7870055 +:1005C00013850700EFF01FB5B707008113850709F2 +:1005D000EFF09FB0B70700819387872583A7C700F7 +:1005E00013850700EFF01FB3B707008113850709D4 +:1005F000EFF09FAE130000008320C10103248101AE +:100600001301010267800000130101FF232611007E +:100610002324810013040101EFF0DFC6B707008136 +:1006200013854709EFF05FAB13054000EFF0DFA340 +:10063000EFF05FD313051000EFF01FA3B7070081A1 +:100640001385870AEFF05FA9EFF05FF01300000059 +:100650008320C10003248100130101016780000091 +:10066000130101FC232E1102232C81021304010427 +:100670002326A4FC8327C4FC2326F4FEEFF0DFA08E +:100680002324A4FEEFF0DFA02322A4FE8327C4FED0 +:1006900083A70701032784FE637EF7008327C4FE38 +:1006A00083A7C700032744FE6376F7009307100073 +:1006B0006F00800093070000A301F4FE834734FE1F +:1006C00093F71700A301F4FE834734FE1385070058 +:1006D000EFF09F9A834734FE638607068327C4FEA4 +:1006E00003A7C700832784FEB307F702032744FE4E +:1006F000B307F700232EF4FC8327C4FE03A70700EB +:100700008327C4FD93972700B307F70083A607004C +:100710008327C4FE03A747008327C4FD93972700C0 +:10072000B307F70003A707008327C4FE03A68700CB +:100730008327C4FD93972700B307F6003387E600AD +:1007400023A0E700EFF0DF93130000008320C10334 +:10075000032481031301010467800000130101FCDD +:10076000232E1102232C810213040104130510000F +:10077000EFF09F8FB70700819387C71B2324F4FCFA +:10078000B70700819387C71F2326F4FCB7070081B2 +:10079000938787262328F4FC93074000232AF4FC40 +:1007A00093074000232CF4FC930740002322F4FE1F +:1007B000930740002320F4FE032744FE832504FE14 +:1007C000930784FC93860700B707008013860766AB +:1007D00013050700EFF01FA4232604FE6F00000896 +:1007E000232404FE6F004005032744FD8327C4FE35 +:1007F0003307F702832784FEB307F700232EF4FCA8 +:10080000B70700810327C4FD1317270093878726A6 +:10081000B307F70083A7070013850700EFF09F8F4A +:10082000B70700811385470FEFF01F8B832784FEE6 +:10083000938717002324F4FE032744FD832784FEB7 +:10084000E3E4E7FAB70700811385870FEFF0DF884D +:100850008327C4FE938717002326F4FE032784FD15 +:100860008327C4FEE3EEE7F6930700001385070035 +:100870008320C10303248103130101046780000066 :02000004810079 :10000000300000003100000032000000330000002A :10001000340000003500000036000000370000000A @@ -130,32 +145,32 @@ :100060003700000038000000390000006100000087 :1000700062000000630000006400000065000000F2 :1000800066000000746573745F746D630A0000009D -:100090000A000000746573745F737061776E0A0004 -:1000A000300000003100000032000000330000008A -:1000B000340000003500000036000000370000006A -:1000C00038000000390000006100000062000000FC -:1000D000630000006400000065000000660000008E -:1000E000746573745F646976657267656E63650ACB -:0100F000000F -:1000F4000000008104000081080000810C000081E0 -:100104001000008114000081180000811C0000818F -:100114002000008124000081280000812C0000813F -:100124003000008134000081380000813C000081EF -:1001340044000081480000814C000081500000818F -:1001440054000081580000815C000081600000813F -:1001540064000081680000816C00008170000081EF -:1001640074000081780000817C000081800000819F -:10017400A0000081A4000081A8000081AC000081DF -:10018400B0000081B4000081B8000081BC0000818F -:10019400C0000081C4000081C8000081CC0000813F -:1001A400D0000081D4000081D8000081DC000081EF -:1001B4000100000001000000010000000100000037 -:1001C4000100000001000000010000000100000027 -:1001D4000100000001000000010000000100000017 -:1001E4000100000001000000010000000100000007 -:1001F40006000000060000000600000006000000E3 -:1002040006000000060000000600000006000000D2 -:1002140006000000060000000600000006000000C2 -:1002240006000000060000000600000006000000B2 +:100090000A000000746573745F6469766572676551 +:1000A0006E63650A00000000746573745F737061AD +:1000B000776E0A00300000003100000032000000BE +:1000C000330000003400000035000000360000005E +:1000D0003700000038000000390000006100000017 +:1000E0006200000063000000640000006500000082 +:0A00F00066000000200000000A0076 +:1000FC000000008104000081080000810C000081D8 +:10010C001000008114000081180000811C00008187 +:10011C002000008124000081280000812C00008137 +:10012C003000008134000081380000813C000081E7 +:10013C0044000081480000814C0000815000008187 +:10014C0054000081580000815C0000816000008137 +:10015C0064000081680000816C00008170000081E7 +:10016C0074000081780000817C0000818000008197 +:10017C00B4000081B8000081BC000081C000008187 +:10018C00C4000081C8000081CC000081D000008137 +:10019C00D4000081D8000081DC000081E0000081E7 +:1001AC00E4000081E8000081EC000081F000008197 +:1001BC00050000000500000005000000050000001F +:1001CC00060000000600000006000000060000000B +:1001DC0007000000070000000700000007000000F7 +:1001EC0008000000080000000800000008000000E3 +:1001FC0001000000010000000100000001000000EF +:10020C0001000000010000000100000001000000DE +:10021C0001000000010000000100000001000000CE +:10022C0001000000010000000100000001000000BE :040000058000000077 :00000001FF diff --git a/runtime/vx_api/vx_api.c b/runtime/vx_api/vx_api.c index f636b4e6..5b0ae371 100644 --- a/runtime/vx_api/vx_api.c +++ b/runtime/vx_api/vx_api.c @@ -31,7 +31,7 @@ void vx_spawnWarps(unsigned numWarps, unsigned numThreads, func_t func_ptr, void global_function_pointer = func_ptr; global_argument_struct = args; global_num_threads = numThreads; - vx_wspawn(numWarps, (unsigned) func_ptr); + vx_wspawn(numWarps, (unsigned) setup_call); setup_call(); } diff --git a/runtime/vx_main.c b/runtime/vx_main.c index fe94f669..ae483154 100644 --- a/runtime/vx_main.c +++ b/runtime/vx_main.c @@ -14,16 +14,16 @@ typedef struct } mat_add_args_t; -unsigned x[] = {1, 1, 1, 1, +unsigned x[] = {5, 5, 5, 5, + 6, 6, 6, 6, + 7, 7, 7, 7, + 8, 8, 8, 8}; + +unsigned y[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; -unsigned y[] = {6, 6, 6, 6, - 6, 6, 6, 6, - 6, 6, 6, 6, - 6, 6, 6, 6}; - unsigned z[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -51,48 +51,38 @@ int main() { // Main is called with all threads active of warp 0 vx_tmc(1); - /////////////////////////////////////////////////////////////////////// - - // mat_add_args_t arguments; - // arguments.x = x; - // arguments.y = y; - // arguments.z = z; - // arguments.numColums = 4; - // arguments.numRows = 4; - - - // int numWarps = 4; - // int numThreads = 4; - - // vx_spawnWarps(numWarps, numThreads, mat_add_kernel, &arguments); /////////////////////////////////////////////////////////////////////// - /* - NOTE: * when test_wspawn is called from instrinsic_tests, RA 80000458 is stored at address 6fffefbc, - but when read back again it reads zeros even though no other write request is made to that - address (when only test_wsapwn is called by itself). + mat_add_args_t arguments; + arguments.x = x; + arguments.y = y; + arguments.z = z; + arguments.numColums = 4; + arguments.numRows = 4; - * When test_wsapwn is called by itself from main new lines are not printed.... - * when test_wspawn is called with other tests from main it works fine... - */ + int numWarps = 4; + int numThreads = 4; + + vx_spawnWarps(numWarps, numThreads, mat_add_kernel, &arguments); + + for (int i = 0; i < arguments.numRows; i++) + { + for (int j = 0; j < arguments.numColums; j++) + { + unsigned index = (i * arguments.numColums) + j; + vx_print_hex(z[index]); + vx_print_str(" "); + } + vx_print_str("\n"); + } + + /////////////////////////////////////////////////////////////////////// + // intrinsics_tests(); /////////////////////////////////////////////////////////////////////// - test_tmc(); - - // Control Divergence Test - vx_print_str("test_divergence\n"); - vx_tmc(4); - test_divergence(); - vx_tmc(1); - - - // // Test wspawn - // vx_print_str("test_wspawn\n"); - // test_wsapwn(); - return 0; } \ No newline at end of file