summaryrefslogtreecommitdiffstats
path: root/src/interface
diff options
context:
space:
mode:
authorMichael Brown2025-07-10 13:50:00 +0200
committerMichael Brown2025-07-10 14:32:45 +0200
commit634d9abefbb896e0c563ede4b6a7df40d0948501 (patch)
tree7cb4d796a8e74685a69f9cacb87f4953655b5e21 /src/interface
parent[riscv] Provide a DMA API implementation for RISC-V bare-metal systems (diff)
downloadipxe-634d9abefbb896e0c563ede4b6a7df40d0948501.tar.gz
ipxe-634d9abefbb896e0c563ede4b6a7df40d0948501.tar.xz
ipxe-634d9abefbb896e0c563ede4b6a7df40d0948501.zip
[riscv] Add optimised TCP/IP checksumming
Add a RISC-V assembly language implementation of TCP/IP checksumming, which is around 50x faster than the generic algorithm. The main loop checksums aligned xlen-bit words, using almost entirely compressible instructions and accumulating carries in a separate register to allow folding to be deferred until after all loops have completed. Experimentation on a C910 CPU suggests that this achieves around four bytes per clock cycle, which is comparable to the x86 implementation. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/interface')
0 files changed, 0 insertions, 0 deletions