Ports/riscv64
RISC-V
RISC-V является архитектурой с открытым набором комманд (ISA). ISA RISC-V имеют лицензию Creative Commons license (CC BY 4.0). Любой желающий может получить финальную версию ISA пользовательского уровня и черновик ISA привилегированного уровня.
Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации. Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и целочисленной арифметики. Код инструкций не зависит от размера регистра, минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда 4, 8 или 16 байт соответственно. На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):
- I - целочисленные базовые инструкции;
- M - умножение и деление целых чисел;
- A - атомарные операции;
- F - число с плавающей запятой одинарной точности;
- D - число с плавающей запятой двойной точности;
- C - сжатые 16-битные инструкции.
Порт Сизифа
Порт Sisyphus на архитектуру riscv64 (RV64GC) развивается с 2018 года. Поддерживается (и тестируется) работа на платформах:
Для этих платформ выпускаются Регулярные сборки (см. также Regular).
Репозиторий
RPM/SRPM репозиторий можно найти по этой ссылке. В виде sources.list для apt:
rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64 Sisyphus/riscv64 classic # rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64 Sisyphus/riscv64 debuginfo rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64 Sisyphus/noarch classic
Зеркало на Яндексе (скачивается быстрее, иногда отстаёт):
rpm [sisyphus-riscv64] http://mirror.yandex.ru/altlinux/ports/riscv64 Sisyphus/riscv64 classic # rpm [sisyphus-riscv64] http://mirror.yandex.ru/altlinux/ports/riscv64 Sisyphus/riscv64 debuginfo rpm [sisyphus-riscv64] http://mirror.yandex.ru/altlinux/ports/riscv64 Sisyphus/noarch classic
Сборка пакетов проходит на отдельном узле girar, аналогичном Git.alt. В качестве сборочных узлов сейчас используются платы SiFive HiFive Unmatched. Сборка пакетов идёт в режиме "догоняющей сборочницы": как только какое-то задание (task) проходит в основной Сизиф, специальный робот создаёт аналогичное задание в sisyphus_riscv64. Это означает, что никаких специальных усилий для сборки пакетов под riscv64 предпринимать не нужно: собирайте в Sisyphus. Задания подтверждаются вручную, обычно в тот же день или на следующий день. Если какого-то пакета не хватает (мы собираем не всё подряд) или он долго не обновляется, свяжитесь с iv@.
Как сообщить об ошибке
Сообщения об ошибках принимаются по адресу https://bugzilla.altlinux.org/ (см. BugTracking).
- если проблема в пакете, выбирайте продукт Sisyphus, компонент соответсвующий имени пакета, платформа riscv64.
- если проблема в сборке или образе, выбирайте продукт Regular, компонент, сответствующий DE по умолчанию, платформа riscv64.
ВАЖНО:
- указать Platform: riscv64 (справа в верхней части формы создания бага)
- назначить ошибку на iv@altlinux.org
См. также Краткое пособие по использованию Bugzilla
Полезные ссылки
- OSSDEVCONF-2018
- утилиты для Berkeley bootloader для слияния ядра Linux в bbl.bin с dummy payload.
- RISC-V ISA
- All Aboard -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.
- RISC-V: стандарт, изменивший мир микропроцессоров
- Наборы команд должны быть свободны: доводы за RISC-V