Bladeren bron

Remove binaries

Taiki Endo 3 jaren geleden
bovenliggende
commit
388db84229
19 gewijzigde bestanden met toevoegingen van 0 en 453 verwijderingen
  1. 0 2
      .github/workflows/ci.yaml
  2. 0 3
      .gitignore
  3. 0 289
      asm.S
  4. 0 48
      asm.h
  5. 0 44
      assemble.ps1
  6. 0 46
      assemble.sh
  7. BIN
      bin/riscv32i.a
  8. BIN
      bin/riscv32ic.a
  9. BIN
      bin/riscv32if.a
  10. BIN
      bin/riscv32ifc.a
  11. BIN
      bin/riscv32ifd.a
  12. BIN
      bin/riscv32ifdc.a
  13. BIN
      bin/riscv64i.a
  14. BIN
      bin/riscv64ic.a
  15. BIN
      bin/riscv64if.a
  16. BIN
      bin/riscv64ifc.a
  17. BIN
      bin/riscv64ifd.a
  18. BIN
      bin/riscv64ifdc.a
  19. 0 21
      check-blobs.sh

+ 0 - 2
.github/workflows/ci.yaml

@@ -38,8 +38,6 @@ jobs:
         run: cargo check --target riscv64imac-unknown-none-elf
       - name: Run CI script for riscv64gc-unknown-none-elf under ${{ matrix.rust }}
         run: cargo check --target riscv64gc-unknown-none-elf
-      - name: Check blobs
-        run: ./check-blobs.sh
 
   # On macOS and Windows, we at least make sure that the crate builds and links.
   build-other:

+ 0 - 3
.gitignore

@@ -1,5 +1,2 @@
 Cargo.lock
 target/
-bin/*.after
-bin/*.before
-bin/*.o

+ 0 - 289
asm.S

@@ -1,289 +0,0 @@
-#include "asm.h"
-
-.section .text.__nop
-.global __nop
-__nop:
-    nop
-    ret
-
-.section .text.__ebreak
-.global __ebreak
-__ebreak:
-    ebreak
-    ret
-
-.section .text.__wfi
-.global __wfi
-__wfi:
-    wfi
-    ret
-
-.section .text.__sfence_vma_all
-.global __sfence_vma_all
-__sfence_vma_all:
-    sfence.vma
-    ret
-
-.section .text.__sfence_vma
-.global __sfence_vma
-__sfence_vma:
-    sfence.vma a0, a1
-    ret
-
-.section .text.__delay
-.global __delay
-__delay:
-    1:
-    addi a0, a0, -1
-    bne a0, zero, 1b
-    ret
-
-// User Trap Setup
-RW(0x000, ustatus)  // User status register
-RW(0x004, uie)      // User interrupt-enable register
-RW(0x005, utvec)    // User trap handler base address
-
-// User Trap Handling
-RW(0x040, uscratch) // Scratch register for user trap handlers
-RW(0x041, uepc)     // User exception program counter
-RW(0x042, ucause)   // User trap cause
-RW(0x043, utval)    // User bad address or instruction
-RW(0x044, uip)      // User interrupt pending
-
-// User Floating-Point CSRs
-RW(0x001, fflags)   // Floating-Point Accrued Exceptions
-RW(0x002, frm)      // Floating-Point Dynamic Rounding Mode
-RW(0x003, fcsr)     // Floating-Point Control and Status Register (frm + fflags)
-
-// User Counter/Timers
-RO(  0xC00, cycle)          // Cycle counter for RDCYCLE instruction
-RO(  0xC01, time)           // Timer for RDTIME instruction
-RO(  0xC02, instret)        // Instructions-retired counter for RDINSTRET instruction
-RO(  0xC03, hpmcounter3)    // Performance-monitoring counter
-RO(  0xC04, hpmcounter4)    // Performance-monitoring counter
-RO(  0xC05, hpmcounter5)    // Performance-monitoring counter
-RO(  0xC06, hpmcounter6)    // Performance-monitoring counter
-RO(  0xC07, hpmcounter7)    // Performance-monitoring counter
-RO(  0xC08, hpmcounter8)    // Performance-monitoring counter
-RO(  0xC09, hpmcounter9)    // Performance-monitoring counter
-RO(  0xC0A, hpmcounter10)   // Performance-monitoring counter
-RO(  0xC0B, hpmcounter11)   // Performance-monitoring counter
-RO(  0xC0C, hpmcounter12)   // Performance-monitoring counter
-RO(  0xC0D, hpmcounter13)   // Performance-monitoring counter
-RO(  0xC0E, hpmcounter14)   // Performance-monitoring counter
-RO(  0xC0F, hpmcounter15)   // Performance-monitoring counter
-RO(  0xC10, hpmcounter16)   // Performance-monitoring counter
-RO(  0xC11, hpmcounter17)   // Performance-monitoring counter
-RO(  0xC12, hpmcounter18)   // Performance-monitoring counter
-RO(  0xC13, hpmcounter19)   // Performance-monitoring counter
-RO(  0xC14, hpmcounter20)   // Performance-monitoring counter
-RO(  0xC15, hpmcounter21)   // Performance-monitoring counter
-RO(  0xC16, hpmcounter22)   // Performance-monitoring counter
-RO(  0xC17, hpmcounter23)   // Performance-monitoring counter
-RO(  0xC18, hpmcounter24)   // Performance-monitoring counter
-RO(  0xC19, hpmcounter25)   // Performance-monitoring counter
-RO(  0xC1A, hpmcounter26)   // Performance-monitoring counter
-RO(  0xC1B, hpmcounter27)   // Performance-monitoring counter
-RO(  0xC1C, hpmcounter28)   // Performance-monitoring counter
-RO(  0xC1D, hpmcounter29)   // Performance-monitoring counter
-RO(  0xC1E, hpmcounter30)   // Performance-monitoring counter
-RO(  0xC1F, hpmcounter31)   // Performance-monitoring counter
-RO32(0xC80, cycleh)         // Upper 32 bits of cycle, RV32I only
-RO32(0xC81, timeh)          // Upper 32 bits of time, RV32I only
-RO32(0xC82, instreth)       // Upper 32 bits of instret, RV32I only
-RO32(0xC83, hpmcounter3h)   // Upper 32 bits of hpmcounter3, RV32I only
-RO32(0xC84, hpmcounter4h)
-RO32(0xC85, hpmcounter5h)
-RO32(0xC86, hpmcounter6h)
-RO32(0xC87, hpmcounter7h)
-RO32(0xC88, hpmcounter8h)
-RO32(0xC89, hpmcounter9h)
-RO32(0xC8A, hpmcounter10h)
-RO32(0xC8B, hpmcounter11h)
-RO32(0xC8C, hpmcounter12h)
-RO32(0xC8D, hpmcounter13h)
-RO32(0xC8E, hpmcounter14h)
-RO32(0xC8F, hpmcounter15h)
-RO32(0xC90, hpmcounter16h)
-RO32(0xC91, hpmcounter17h)
-RO32(0xC92, hpmcounter18h)
-RO32(0xC93, hpmcounter19h)
-RO32(0xC94, hpmcounter20h)
-RO32(0xC95, hpmcounter21h)
-RO32(0xC96, hpmcounter22h)
-RO32(0xC97, hpmcounter23h)
-RO32(0xC98, hpmcounter24h)
-RO32(0xC99, hpmcounter25h)
-RO32(0xC9A, hpmcounter26h)
-RO32(0xC9B, hpmcounter27h)
-RO32(0xC9C, hpmcounter28h)
-RO32(0xC9D, hpmcounter29h)
-RO32(0xC9E, hpmcounter30h)
-RO32(0xC9F, hpmcounter31h)
-
-// Supervisor Trap Setup
-RW(0x100, sstatus)      // Supervisor status register
-RW(0x102, sedeleg)      // Supervisor exception delegation register
-RW(0x103, sideleg)      // Supervisor interrupt delegation register
-RW(0x104, sie)          // Supervisor interrupt-enable register
-RW(0x105, stvec)        // Supervisor trap handler base address
-RW(0x106, scounteren)   // Supervisor counter enable
-
-// Supervisor Trap Handling
-RW(0x140, sscratch)     // Scratch register for supervisor trap handlers
-RW(0x141, sepc)         // Supervisor exception program counter
-RW(0x142, scause)       // Supervisor trap cause
-RW(0x143, stval)        // Supervisor bad address or instruction
-RW(0x144, sip)          // Supervisor interrupt pending
-
-// Supervisor Protection and Translation
-RW(0x180, satp)         // Supervisor address translation and protection
-
-// Machine Information Registers
-RO(0xF11, mvendorid)    // Vendor ID
-RO(0xF12, marchid)      // Architecture ID
-RO(0xF13, mimpid)       // Implementation ID
-RO(0xF14, mhartid)      // Hardware thread ID
-
-// Machine Trap Setup
-RW(0x300, mstatus)      // Machine status register
-RW(0x301, misa)         // ISA and extensions
-RW(0x302, medeleg)      // Machine exception delegation register
-RW(0x303, mideleg)      // Machine interrupt delegation register
-RW(0x304, mie)          // Machine interrupt-enable register
-RW(0x305, mtvec)        // Machine trap handler base address
-RW(0x306, mcounteren)   // Machine counter enable
-
-// Machine Trap Handling
-RW(0x340, mscratch)     // Scratch register for machine trap handlers
-RW(0x341, mepc)         // Machine exception program counter
-RW(0x342, mcause)       // Machine trap cause
-RW(0x343, mtval)        // Machine bad address or instruction
-RW(0x344, mip)          // Machine interrupt pending
-
-// Machine Protection and Translation
-RW(  0x3A0, pmpcfg0)    // Physical memory protection configuration
-RW32(0x3A1, pmpcfg1)    // Physical memory protection configuration, RV32 only
-RW(  0x3A2, pmpcfg2)    // Physical memory protection configuration
-RW32(0x3A3, pmpcfg3)    // Physical memory protection configuration, RV32 only
-RW(  0x3B0, pmpaddr0)   // Physical memory protection address register
-RW(  0x3B1, pmpaddr1)   // Physical memory protection address register
-RW(  0x3B2, pmpaddr2)   // Physical memory protection address register
-RW(  0x3B3, pmpaddr3)   // Physical memory protection address register
-RW(  0x3B4, pmpaddr4)   // Physical memory protection address register
-RW(  0x3B5, pmpaddr5)   // Physical memory protection address register
-RW(  0x3B6, pmpaddr6)   // Physical memory protection address register
-RW(  0x3B7, pmpaddr7)   // Physical memory protection address register
-RW(  0x3B8, pmpaddr8)   // Physical memory protection address register
-RW(  0x3B9, pmpaddr9)   // Physical memory protection address register
-RW(  0x3BA, pmpaddr10)  // Physical memory protection address register
-RW(  0x3BB, pmpaddr11)  // Physical memory protection address register
-RW(  0x3BC, pmpaddr12)  // Physical memory protection address register
-RW(  0x3BD, pmpaddr13)  // Physical memory protection address register
-RW(  0x3BE, pmpaddr14)  // Physical memory protection address register
-RW(  0x3BF, pmpaddr15)  // Physical memory protection address register
-
-// Machine Counter/Timers
-RO(  0xB00, mcycle)          // Machine cycle counter
-RO(  0xB02, minstret)        // Machine instructions-retired counter
-RO(  0xB03, mhpmcounter3)    // Machine performance-monitoring counter
-RO(  0xB04, mhpmcounter4)    // Machine performance-monitoring counter
-RO(  0xB05, mhpmcounter5)    // Machine performance-monitoring counter
-RO(  0xB06, mhpmcounter6)    // Machine performance-monitoring counter
-RO(  0xB07, mhpmcounter7)    // Machine performance-monitoring counter
-RO(  0xB08, mhpmcounter8)    // Machine performance-monitoring counter
-RO(  0xB09, mhpmcounter9)    // Machine performance-monitoring counter
-RO(  0xB0A, mhpmcounter10)   // Machine performance-monitoring counter
-RO(  0xB0B, mhpmcounter11)   // Machine performance-monitoring counter
-RO(  0xB0C, mhpmcounter12)   // Machine performance-monitoring counter
-RO(  0xB0D, mhpmcounter13)   // Machine performance-monitoring counter
-RO(  0xB0E, mhpmcounter14)   // Machine performance-monitoring counter
-RO(  0xB0F, mhpmcounter15)   // Machine performance-monitoring counter
-RO(  0xB10, mhpmcounter16)   // Machine performance-monitoring counter
-RO(  0xB11, mhpmcounter17)   // Machine performance-monitoring counter
-RO(  0xB12, mhpmcounter18)   // Machine performance-monitoring counter
-RO(  0xB13, mhpmcounter19)   // Machine performance-monitoring counter
-RO(  0xB14, mhpmcounter20)   // Machine performance-monitoring counter
-RO(  0xB15, mhpmcounter21)   // Machine performance-monitoring counter
-RO(  0xB16, mhpmcounter22)   // Machine performance-monitoring counter
-RO(  0xB17, mhpmcounter23)   // Machine performance-monitoring counter
-RO(  0xB18, mhpmcounter24)   // Machine performance-monitoring counter
-RO(  0xB19, mhpmcounter25)   // Machine performance-monitoring counter
-RO(  0xB1A, mhpmcounter26)   // Machine performance-monitoring counter
-RO(  0xB1B, mhpmcounter27)   // Machine performance-monitoring counter
-RO(  0xB1C, mhpmcounter28)   // Machine performance-monitoring counter
-RO(  0xB1D, mhpmcounter29)   // Machine performance-monitoring counter
-RO(  0xB1E, mhpmcounter30)   // Machine performance-monitoring counter
-RO(  0xB1F, mhpmcounter31)   // Machine performance-monitoring counter
-RO32(0xB80, mcycleh)         // Upper 32 bits of mcycle, RV32I only
-RO32(0xB82, minstreth)       // Upper 32 bits of minstret, RV32I only
-RO32(0xB83, mhpmcounter3h)   // Upper 32 bits of mhpmcounter3, RV32I only
-RO32(0xB84, mhpmcounter4h)
-RO32(0xB85, mhpmcounter5h)
-RO32(0xB86, mhpmcounter6h)
-RO32(0xB87, mhpmcounter7h)
-RO32(0xB88, mhpmcounter8h)
-RO32(0xB89, mhpmcounter9h)
-RO32(0xB8A, mhpmcounter10h)
-RO32(0xB8B, mhpmcounter11h)
-RO32(0xB8C, mhpmcounter12h)
-RO32(0xB8D, mhpmcounter13h)
-RO32(0xB8E, mhpmcounter14h)
-RO32(0xB8F, mhpmcounter15h)
-RO32(0xB90, mhpmcounter16h)
-RO32(0xB91, mhpmcounter17h)
-RO32(0xB92, mhpmcounter18h)
-RO32(0xB93, mhpmcounter19h)
-RO32(0xB94, mhpmcounter20h)
-RO32(0xB95, mhpmcounter21h)
-RO32(0xB96, mhpmcounter22h)
-RO32(0xB97, mhpmcounter23h)
-RO32(0xB98, mhpmcounter24h)
-RO32(0xB99, mhpmcounter25h)
-RO32(0xB9A, mhpmcounter26h)
-RO32(0xB9B, mhpmcounter27h)
-RO32(0xB9C, mhpmcounter28h)
-RO32(0xB9D, mhpmcounter29h)
-RO32(0xB9E, mhpmcounter30h)
-RO32(0xB9F, mhpmcounter31h)
-
-RW(0x323, mhpmevent3)   // Machine performance-monitoring event selector
-RW(0x324, mhpmevent4)   // Machine performance-monitoring event selector
-RW(0x325, mhpmevent5)   // Machine performance-monitoring event selector
-RW(0x326, mhpmevent6)   // Machine performance-monitoring event selector
-RW(0x327, mhpmevent7)   // Machine performance-monitoring event selector
-RW(0x328, mhpmevent8)   // Machine performance-monitoring event selector
-RW(0x329, mhpmevent9)   // Machine performance-monitoring event selector
-RW(0x32A, mhpmevent10)  // Machine performance-monitoring event selector
-RW(0x32B, mhpmevent11)  // Machine performance-monitoring event selector
-RW(0x32C, mhpmevent12)  // Machine performance-monitoring event selector
-RW(0x32D, mhpmevent13)  // Machine performance-monitoring event selector
-RW(0x32E, mhpmevent14)  // Machine performance-monitoring event selector
-RW(0x32F, mhpmevent15)  // Machine performance-monitoring event selector
-RW(0x330, mhpmevent16)  // Machine performance-monitoring event selector
-RW(0x331, mhpmevent17)  // Machine performance-monitoring event selector
-RW(0x332, mhpmevent18)  // Machine performance-monitoring event selector
-RW(0x333, mhpmevent19)  // Machine performance-monitoring event selector
-RW(0x334, mhpmevent20)  // Machine performance-monitoring event selector
-RW(0x335, mhpmevent21)  // Machine performance-monitoring event selector
-RW(0x336, mhpmevent22)  // Machine performance-monitoring event selector
-RW(0x337, mhpmevent23)  // Machine performance-monitoring event selector
-RW(0x338, mhpmevent24)  // Machine performance-monitoring event selector
-RW(0x339, mhpmevent25)  // Machine performance-monitoring event selector
-RW(0x33A, mhpmevent26)  // Machine performance-monitoring event selector
-RW(0x33B, mhpmevent27)  // Machine performance-monitoring event selector
-RW(0x33C, mhpmevent28)  // Machine performance-monitoring event selector
-RW(0x33D, mhpmevent29)  // Machine performance-monitoring event selector
-RW(0x33E, mhpmevent30)  // Machine performance-monitoring event selector
-RW(0x33F, mhpmevent31)  // Machine performance-monitoring event selector
-
-// Debug/Trace Registers (shared with Debug Mode)
-RW(0x7A0, tselect)  // Debug/Trace trigger register select
-RW(0x7A1, tdata1)   // First Debug/Trace trigger data register
-RW(0x7A2, tdata2)   // Second Debug/Trace trigger data register
-RW(0x7A3, tdata3)   // Third Debug/Trace trigger data register
-
-// Debug Mode Registers
-RW(0x7B0, dcsr)     // Debug control and status register
-RW(0x7B1, dpc)      // Debug PC
-RW(0x7B2, dscratch) // Debug scratch register

+ 0 - 48
asm.h

@@ -1,48 +0,0 @@
-#ifndef __ASM_H
-#define __ASM_H
-
-#define REG_READ(name, offset) \
-.section .text.__read_ ## name; \
-.global __read_ ## name; \
-__read_ ## name: \
-    csrrs a0, offset, x0; \
-    ret
-
-#define REG_WRITE(name, offset) \
-.section .text.__write_ ## name; \
-.global __write_ ## name; \
-__write_ ## name: \
-    csrrw x0, offset, a0; \
-    ret
-
-#define REG_SET(name, offset) \
-.section .text.__set_ ## name; \
-.global __set_ ## name; \
-__set_ ## name: \
-    csrrs x0, offset, a0; \
-    ret
-
-#define REG_CLEAR(name, offset) \
-.section .text.__clear_ ## name; \
-.global __clear_ ## name; \
-__clear_ ## name: \
-    csrrc x0, offset, a0; \
-    ret
-
-
-#define REG_READ_WRITE(name, offset) REG_READ(name, offset); REG_WRITE(name, offset)
-#define REG_SET_CLEAR(name, offset) REG_SET(name, offset); REG_CLEAR(name, offset)
-
-#define RW(offset, name) REG_READ_WRITE(name, offset); REG_SET_CLEAR(name, offset)
-#define RO(offset, name) REG_READ(name, offset)
-
-#if __riscv_xlen == 32
-#define RW32(offset, name) RW(offset, name)
-#define RO32(offset, name) RO(offset, name)
-#else
-#define RW32(offset, name)
-#define RO32(offset, name)
-#endif
-
-#endif /* __ASM_H */
-

+ 0 - 44
assemble.ps1

@@ -1,44 +0,0 @@
-New-Item -Force -Name bin -Type Directory
-
-# remove existing blobs because otherwise this will append object files to the old blobs
-Remove-Item -Force bin/*.a
-
-$crate = "riscv"
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32 -march=rv32i asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv32i.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32 -march=rv32ic asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv32ic.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64 -march=rv64i asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv64i.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64 -march=rv64ic asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv64ic.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32f -march=rv32if asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv32if.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32f -march=rv32ifc asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv32ifc.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64f -march=rv64if asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv64if.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64f -march=rv64ifc asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv64ifc.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32d -march=rv32ifd asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv32ifd.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32d -march=rv32ifdc asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv32ifdc.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64d -march=rv64ifd asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv64ifd.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64d -march=rv64ifdc asm.S -o bin/$crate.o
-riscv64-unknown-elf-ar crs bin/riscv64ifdc.a bin/$crate.o
-
-Remove-Item bin/$crate.o

+ 0 - 46
assemble.sh

@@ -1,46 +0,0 @@
-#!/bin/bash
-
-set -euxo pipefail
-
-crate=riscv
-
-# remove existing blobs because otherwise this will append object files to the old blobs
-rm -f bin/*.a
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32 -march=rv32i asm.S -o bin/$crate.o
-ar crs bin/riscv32i.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32 -march=rv32ic asm.S -o bin/$crate.o
-ar crs bin/riscv32ic.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64 -march=rv64i asm.S -o bin/$crate.o
-ar crs bin/riscv64i.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64 -march=rv64ic asm.S -o bin/$crate.o
-ar crs bin/riscv64ic.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32f -march=rv32if asm.S -o bin/$crate.o
-ar crs bin/riscv32if.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32f -march=rv32ifc asm.S -o bin/$crate.o
-ar crs bin/riscv32ifc.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64f -march=rv64if asm.S -o bin/$crate.o
-ar crs bin/riscv64if.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64f -march=rv64ifc asm.S -o bin/$crate.o
-ar crs bin/riscv64ifc.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32d -march=rv32ifd asm.S -o bin/$crate.o
-ar crs bin/riscv32ifd.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=ilp32d -march=rv32ifdc asm.S -o bin/$crate.o
-ar crs bin/riscv32ifdc.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64d -march=rv64ifd asm.S -o bin/$crate.o
-ar crs bin/riscv64ifd.a bin/$crate.o
-
-riscv64-unknown-elf-gcc -c -mabi=lp64d -march=rv64ifdc asm.S -o bin/$crate.o
-ar crs bin/riscv64ifdc.a bin/$crate.o
-
-rm bin/$crate.o

BIN
bin/riscv32i.a


BIN
bin/riscv32ic.a


BIN
bin/riscv32if.a


BIN
bin/riscv32ifc.a


BIN
bin/riscv32ifd.a


BIN
bin/riscv32ifdc.a


BIN
bin/riscv64i.a


BIN
bin/riscv64ic.a


BIN
bin/riscv64if.a


BIN
bin/riscv64ifc.a


BIN
bin/riscv64ifd.a


BIN
bin/riscv64ifdc.a


+ 0 - 21
check-blobs.sh

@@ -1,21 +0,0 @@
-#!/bin/bash
-
-# Checks that the blobs are up to date with the committed assembly files
-
-set -euxo pipefail
-
-for lib in $(ls bin/*.a); do
-    filename=$(basename $lib)
-    riscv64-unknown-elf-objdump -Cd $lib > bin/${filename%.a}.before
-done
-
-./assemble.sh
-
-for lib in $(ls bin/*.a); do
-    filename=$(basename $lib)
-    riscv64-unknown-elf-objdump -Cd $lib > bin/${filename%.a}.after
-done
-
-for cksum in $(ls bin/*.after); do
-    diff -u $cksum ${cksum%.after}.before
-done