• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Alan-Jowett / ubpf
80%
master: 92%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Repo Added 18 Jun 2022 11:06PM UTC
Files 131
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • aarch64_readme
  • add_api_doc_link
  • add_bpf_conformance_tests
  • add_code_Gen_tests
  • add_code_gen_tests
  • add_ctest
  • add_test_and_coverage
  • arm64
  • cleanup
  • debug
  • dependabot
  • dependabot/github_actions/actions-09526a9899
  • dependabot/github_actions/actions-0ba81a7022
  • dependabot/github_actions/actions-0bcef6f5ce
  • dependabot/github_actions/actions-131532031c
  • dependabot/github_actions/actions-1509149478
  • dependabot/github_actions/actions-15413d93e9
  • dependabot/github_actions/actions-209eccb7e7
  • dependabot/github_actions/actions-235d117b1f
  • dependabot/github_actions/actions-243d7dc9c9
  • dependabot/github_actions/actions-2d7c865d12
  • dependabot/github_actions/actions-55f647d263
  • dependabot/github_actions/actions-62c22b5ba5
  • dependabot/github_actions/actions-6a492d700a
  • dependabot/github_actions/actions-75058fe91b
  • dependabot/github_actions/actions-85045faf4a
  • dependabot/github_actions/actions-8e8a7fd0ce
  • dependabot/github_actions/actions-9aa0d56b6e
  • dependabot/github_actions/actions-aa2a37f0ca
  • dependabot/github_actions/actions-bb3f42b061
  • dependabot/github_actions/actions-cf908d7579
  • dependabot/github_actions/actions-dec245865e
  • dependabot/github_actions/actions-ef470c4c78
  • dependabot/github_actions/actions-f7e9886b4e
  • dependabot/github_actions/actions/cache-3.0.11
  • dependabot/github_actions/actions/upload-artifact-3.1.0
  • dependabot/github_actions/coverallsapp/github-action-1.1.3
  • dependabot/github_actions/github/codeql-action-2.1.27
  • dependabot/pip/actions-d3fce962ef
  • dependabot/pip/nose-approx-eq-1.3.7
  • dependabot/pip/pyelftools-approx-eq-0.29
  • dependabot/submodules/actions-01fc0163df
  • dependabot/submodules/actions-185e3ab0e0
  • dependabot/submodules/actions-507aa59b22
  • dependabot/submodules/actions-5a4aac8c64
  • dependabot/submodules/actions-77fb9fb000
  • dependabot/submodules/actions-a1a8f43c30
  • dependabot/submodules/actions-aceee3858e
  • dependabot/submodules/actions-c7f6199ec9
  • dependabot/submodules/actions-cbc7190d65
  • dependabot/submodules/actions-ce454e3a81
  • dependabot/submodules/actions-e512bf45d3
  • dependabot/submodules/external/bpf_conformance-389cf18
  • dependabot/submodules/external/bpf_conformance-6253ac7
  • dependabot/submodules/external/bpf_conformance-832efb7
  • doxygen
  • ebpf_mitigations
  • exclude_system_header_coverage
  • feature/mips64r6-jit-backend
  • fix_readme
  • fix_signed_unsigned_mismatch
  • fuzz_test
  • gh-pages
  • integrate_bpf_conformance
  • issue110
  • issue114
  • issue115
  • issue117
  • issue120
  • issue125
  • issue126-clang-format-license-check
  • issue137
  • issue163
  • issue164
  • issue185
  • issue197
  • issue205
  • issue250
  • issue255
  • issue259
  • issue29
  • issue325
  • issue431
  • issue45
  • issue81
  • main
  • master
  • refactor_bpf_conformance
  • rename_license_for_compliance
  • restrict_coverge_to_product_code
  • sign_extend_tests
  • switch_to_ubuntu_22_04
  • test_arm64
  • test_arm64_ubuntu22
  • test_elf
  • try_arm64_ubsan_only
  • update_bpf_conformance
  • wait_for_macos_no_retpoline
  • windows_workaround

01 Apr 2026 09:23PM UTC coverage: 79.782%. Remained the same
25404271706

push

github

web-flow
Add ISA-verified MIPS64r6 JIT backend specification (#782)

* Add proposed MIPS64r6 JIT backend specification

Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following
the same template structure as the existing x86-64 and ARM64 specs.
All mappings are marked [PROPOSED] — no implementation exists yet.

Key design decisions:
- Target MIPS64r6 (compact branches, native DDIV/DMOD, no delay slots)
- N64 ABI with BPF R1-R5 -> \-\ (zero-cost helper marshaling)
- BPF R0 -> \ (natural return register)
- BPF R6-R10 -> \-\ (callee-saved)

Key challenges identified:
- 32-bit ALU zero-extension: MIPS64 sign-extends 32-bit results,
  BPF requires zero-extension (needs explicit DINSU or DSLL32+DSRL32)
- No store-immediate instruction (all ST_IMM need temp register)
- 16-bit immediate limit (64-bit values need 6-instruction sequences)
- No PC-relative data access (unlike x86-64 RIP-relative)
- Constant blinding cost: 13 instructions per blinded 64-bit load
- Cache coherence: may need synci+sync after mprotect

5 design decisions flagged for implementer resolution.
Addresses iovisor/ubpf#182.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR #781 review comments

- Fix static dispatch: remove bogus DSLL \,\,3 (always 0),
  use DADDIU for index offset computation
- Fix dynamic dispatch: OR cannot load immediate, use LI pseudo-op
- Reconcile §3.6 vs §8.2: clarify that BPF offsets always fit in
  16-bit MIPS offset; large-offset sequence is for non-BPF data only
- Fix BC branch range: ±33M instructions / ±128MB (not ±256M)
- Fix helper table base: document need for dedicated base register
  instead of ambiguous \ reference
- Fix prologue: set \ = \ after saving (not unused save/restore)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Regenerate MIPS64r6 JIT spec from formal ISA reference

Replace training-data-based MIPS spec with one verified against
the MIPS64 Architecture for Programmers Vol II, Re... (continued)

6586 of 8255 relevant lines covered (79.78%)

535941.86 hits per line

Relevant lines Covered
Build:
Build:
8255 RELEVANT LINES 6586 COVERED LINES
535941.86 HITS PER LINE
Source Files on master
  • Tree
  • List 131
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
25404271706 main Add ISA-verified MIPS64r6 JIT backend specification (#782) * Add proposed MIPS64r6 JIT backend specification Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following the same template structure as the existing x86-64 and ARM64 specs. ... push 05 May 2026 09:52PM UTC web-flow github
79.78
25345460906 main Add ISA-verified MIPS64r6 JIT backend specification (#782) * Add proposed MIPS64r6 JIT backend specification Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following the same template structure as the existing x86-64 and ARM64 specs. ... push 04 May 2026 09:52PM UTC web-flow github
79.78
25291364368 main Add ISA-verified MIPS64r6 JIT backend specification (#782) * Add proposed MIPS64r6 JIT backend specification Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following the same template structure as the existing x86-64 and ARM64 specs. ... push 03 May 2026 09:32PM UTC web-flow github
79.78
25262319635 main Add ISA-verified MIPS64r6 JIT backend specification (#782) * Add proposed MIPS64r6 JIT backend specification Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following the same template structure as the existing x86-64 and ARM64 specs. ... push 02 May 2026 09:30PM UTC web-flow github
79.78
25234379180 main Add ISA-verified MIPS64r6 JIT backend specification (#782) * Add proposed MIPS64r6 JIT backend specification Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following the same template structure as the existing x86-64 and ARM64 specs. ... push 01 May 2026 09:42PM UTC web-flow github
79.78
25190832903 main Add ISA-verified MIPS64r6 JIT backend specification (#782) * Add proposed MIPS64r6 JIT backend specification Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following the same template structure as the existing x86-64 and ARM64 specs. ... push 30 Apr 2026 09:45PM UTC web-flow github
79.78
25135701377 main Add ISA-verified MIPS64r6 JIT backend specification (#782) * Add proposed MIPS64r6 JIT backend specification Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following the same template structure as the existing x86-64 and ARM64 specs. ... push 29 Apr 2026 09:51PM UTC web-flow github
79.78
25079449616 main Add ISA-verified MIPS64r6 JIT backend specification (#782) * Add proposed MIPS64r6 JIT backend specification Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following the same template structure as the existing x86-64 and ARM64 specs. ... push 28 Apr 2026 09:50PM UTC web-flow github
79.78
25021168207 main Add ISA-verified MIPS64r6 JIT backend specification (#782) * Add proposed MIPS64r6 JIT backend specification Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following the same template structure as the existing x86-64 and ARM64 specs. ... push 27 Apr 2026 09:45PM UTC web-flow github
79.78
24967457439 main Add ISA-verified MIPS64r6 JIT backend specification (#782) * Add proposed MIPS64r6 JIT backend specification Proposed BPF ISA to MIPS64 Release 6 instruction mapping, following the same template structure as the existing x86-64 and ARM64 specs. ... push 26 Apr 2026 09:28PM UTC web-flow github
79.78
See All Builds (1937)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc