cheribsd icon indicating copy to clipboard operation
cheribsd copied to clipboard

CHERI-RISC-V CheriABI package repository

Open gvnn3 opened this issue 2 years ago • 0 comments

Required changes:

  • [ ] In the pure-capability world:
    • [ ] pkg should use ABI=riscv64c and ALTABI=freebsd:13:riscv:64:cheri:hf, install and register packages as upstream;
    • [ ] pkg64 should use ABI=riscv64, ALTABI=freebsd:13:riscv:64:hf, install packages in /usr/local64 and register them in a database in /var/db/pkg64.
  • [ ] In the hybrid world:
    • [ ] pkg should install and register packages as upstream;
    • [ ] pkg64c should behave as pkg from the pure-capability world but install packages in /usr/local64c and register them in a database in /var/db/pkg64c;
  • [ ] emulators/qemu-user-static configure binmiscctl for riscv64c in rc.d/qemu_user_static (see CTSRD-CHERI/poudriere-infrastructure); An ELF header for riscv64 should not be conflicting with an ELF header for riscv64c. The e_flags field should be considered to differentiate them.
  • [ ] Generate repository keys and sign packages with them;
  • [ ] Include the repository keys and a repository configuration in CheriBSD.

Optional improvements:

  • [ ] FreeBSD port (emulators/qemu-cheri-user-static) with the qemu-cheri-bsd-user branch;
  • [ ] Build a static toolchain so that host libraries (/lib, /usr/lib, /usr/local/lib) are not required to use a toolchain;
  • [ ] A core dump of a failed QEMU user-mode process should be stored in a location so that it can be attached to a report on a failed QEMU-based build;
  • [ ] For optimisations, compare building times for a QEMU-based build, a host build and a host cross-build:
    • [ ] Replace CheriABI base utilities with host utilities to speed up build times, e.g. tar;
  • [ ] Compiler warnings that usually lead to incorrect package builds should be treated as errors, e.g. cheri-capability-misues, cheri-inefficient;
  • [ ] (?) Repository integration with Poudriere and Jenkins.

Depends on:

  • CTSRD-CHERI/qemu#163.

gvnn3 avatar Oct 22 '21 21:10 gvnn3