Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2010-10-15 | [sim] made softfloat files C instead of C++ | Andrew Waterman | 113 | -114/+129 | |
2010-10-11 | [sim] added writeback tracing | Andrew Waterman | 1 | -2/+26 | |
2010-10-07 | [xcc] modified opcodes for better FP decode mapping | Andrew Waterman | 1 | -27/+19 | |
2010-10-05 | [opcodes] added code field back to syscall/break | Andrew Waterman | 1 | -2/+2 | |
2010-10-05 | [xcc] removed CEXC field from FSR | Andrew Waterman | 1 | -15/+5 | |
2010-10-05 | [xcc,sim] eliminated vectored traps | Andrew Waterman | 5 | -7/+13 | |
now, the evec register holds the address that all traps vector to, and the cause register is set with the trap number. | |||||
2010-10-02 | [sim, xcc] changed cvt/trunc to use GPRs for int args | Andrew Waterman | 16 | -16/+24 | |
this way, we don't have to futz with storing integers in recoded floating-point registers. too bad we lose some decoupling. | |||||
2010-10-02 | [xcc, sim] mff now uses rs2 for data | Andrew Waterman | 5 | -49/+49 | |
this is symmetric with fp stores, so we only need one decoding pipe | |||||
2010-09-28 | [opcodes, sim, xcc] added mffl.d instruction | Andrew Waterman | 2 | -108/+115 | |
...to be used instead of mff.s when doing int -> DP FP moves on a 32-bit cpu | |||||
2010-09-23 | [xcc, sim] eliminated zero-extended immediates | Andrew Waterman | 4 | -6/+5 | |
This is a big commit because it involved rewriting gcc's algorithm for generating constants. | |||||
2010-09-22 | [sim] fixed bug in which shift operands were reversed | Andrew Waterman | 6 | -6/+6 | |
2010-09-20 | [xcc, sim] changed instruction format so imm12 subs for rs2 | Andrew Waterman | 146 | -243/+251 | |
2010-09-13 | [xcc, sim] replaced ble/bleu with bge/bgeu | Andrew Waterman | 5 | -11/+11 | |
This will simplify control logic (since every branch has a logical inverse) | |||||
2010-09-12 | [sim] renamed sllv to sll (same for other shifts) | Andrew Waterman | 7 | -29/+29 | |
2010-09-12 | [xcc, sim] moved shamt field and renamed shifts | Andrew Waterman | 14 | -87/+72 | |
2010-09-12 | [xcc, sim] branches now are next-PC-based, not PC-based | Andrew Waterman | 3 | -8/+8 | |
2010-09-11 | [xcc] fixed broken 32-bit FP ABI | Andrew Waterman | 1 | -0/+0 | |
2010-09-10 | [sim, xcc] Added mffh.d/mtflh.d; fixed FP ABI for 32-bit | Andrew Waterman | 4 | -5/+9 | |
2010-09-10 | [sim, pk] cleaned up exception vectors and FP exc flags | Andrew Waterman | 3 | -15/+24 | |
2010-09-10 | [opcodes,xcc,sim] mffh.d,mtfh.d added (broken commit) | Yunsup Lee | 3 | -147/+148 | |
2010-09-09 | [opcodes,sim,xcc] move opcodes for 3 source instructions | Yunsup Lee | 1 | -56/+67 | |
2010-09-09 | Revert "[xcc, sim] added slei/sleui in lieu of slti/sltiu" | Andrew Waterman | 5 | -4/+4 | |
This reverts commit bf5406d4df625678bc6ec20ce1d48541541dba54. We found a clever way to efficiently implement slti/sltiu despite the reversed operands. The trick is because of the following fact: (a < b) === !(b <= a) === !(b-1 < a) So just turn off the carry-in when doing the subtraction for the comparison. | |||||
2010-09-09 | Merge branch 'master' of /project/eecs/parlab/git/projects/riscv | Andrew Waterman | 6 | -37/+60 | |
Conflicts: sim/riscv/insns/mtpcr.h sim/riscv/processor.cc | |||||
2010-09-09 | [pk, sim] added interrupt support to sim; added timer interrupt | Andrew Waterman | 7 | -17/+52 | |
2010-09-08 | [sim] add while to interactive_until | Yunsup Lee | 6 | -38/+61 | |
2010-09-08 | [sim] change applink for tohost/fromhost (forgot one file) | Yunsup Lee | 1 | -0/+2 | |
2010-09-08 | [sim] change applink for tohost/fromhost | Yunsup Lee | 2 | -2/+12 | |
2010-09-07 | [xcc, sim] added slei/sleui in lieu of slti/sltiu | Andrew Waterman | 5 | -4/+4 | |
Rationale was that since we have the datapath for rc = (ra < rb), it's straightforward to also add rc = !(imm < rb) = (rb <= imm). | |||||
2010-09-07 | [sim] yet another fix stdint.h __STDC_LIMIT_MACROS problem | Yunsup Lee | 1 | -1/+1 | |
2010-09-07 | [sim] fix stdint.h __STDC_LIMIT_MACROS problem | Yunsup Lee | 1 | -1/+1 | |
2010-09-07 | [sim, xcc] branches now have 2-byte-aligned displacements | Andrew Waterman | 2 | -2/+6 | |
This will facilitate 16-bit instructions later on | |||||
2010-09-06 | [sim, xcc] added PCRs to replace k0 and k1 | Andrew Waterman | 7 | -47/+16 | |
2010-09-06 | [sim, xcc] bthread threading model exposed; insn encoding cleaned up | Andrew Waterman | 12 | -37/+61 | |
2010-09-06 | [sim] fixed bug in msub.d; added ability to print FPRs in debug mode | Andrew Waterman | 3 | -1/+40 | |
2010-09-06 | [sim] added atomic memory operations | Andrew Waterman | 17 | -18/+184 | |
2010-08-24 | [xcc] argc/argv work for 32b programs | Andrew Waterman | 1 | -1/+0 | |
Some patch-up code runs as soon as the 32b version of crt1 begins running that massages the pointers accordingly. | |||||
2010-08-24 | [sim] privileged mode support for 32-bit operation | Andrew Waterman | 4 | -20/+26 | |
2010-08-22 | [xcc,sim] added fused multiply-add and its cousins | Andrew Waterman | 9 | -0/+80 | |
2010-08-22 | [xcc,sim] Eliminated slori instruction | Andrew Waterman | 1 | -5/+0 | |
the "li" macro in RISC-V assembly isn't as efficient anymore for 64b constants, and "la" doesn't work for 64b addresses with ".set noat". But it's worth it to remove an ugly instruction. | |||||
2010-08-18 | [pk,fesvr] improved proxykernel build system | Andrew Waterman | 2 | -0/+71 | |
Now uses a modified MCPPBS. Add --host=riscv to configure path. Front-end server now just searches PATH for riscv-pk, so just install the pk to somewhere in your path. | |||||
2010-08-18 | [sim] integrated SoftFloat-3 with ISA sim; removed SoftFloat-2b | Andrew Waterman | 178 | -9920/+461 | |
2010-08-17 | [sim] specialized softfloat for riscv | Andrew Waterman | 5 | -8/+7 | |
2010-08-17 | [sim] added riscv folder to softfloat | Andrew Waterman | 12 | -0/+442 | |
2010-08-17 | [sim] added SoftFloat-3 source | Andrew Waterman | 118 | -0/+9111 | |
2010-08-09 | [xcc,sim] implement FP using softfloat | Andrew Waterman | 87 | -503/+537 | |
The intersection of the Hauser FP and MIPS FP is implemented. | |||||
2010-08-09 | [sim] removed unused elf loader | Andrew Waterman | 5 | -89/+0 | |
2010-08-09 | [sim] added softfloat | Andrew Waterman | 6 | -0/+6661 | |
2010-08-05 | [sim,xcc] Added first few Hauser FP insns (sign-injection) | Andrew Waterman | 21 | -48/+69 | |
Also updated FPmove test case to test negation and moving between FP regs | |||||
2010-08-04 | [sim] Bug fixes in shifts, plus a new test case | Andrew Waterman | 3 | -3/+3 | |
2010-08-04 | [xcc] Removed ctc1, cfc1 instructions; added fp move test case | Andrew Waterman | 3 | -18/+0 | |