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-битные инструкции.
На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC). Сборка системы ведётся на плате SiFive HiFive Unleashed. Для целей тестирования выполняется сборка образов для QEMU и платы HiFive Unleashed. Подробнее об этом можно прочитать тут
Рабочий план
- Следующие ядра Linux были протестированы на SiFive HiFive Unleashed:
- Методы загрузки (boot):
- Berkeley bootloader -- ГОТОВО
- U-BOOT (link) -- ГОТОВО
- Порт Sisyphus -- В ПРОЦЕССЕ
- Toolchain -- ГОТОВО
- Linux Kernel -- ГОТОВО
- X11 -- ГОТОВО
- Desktop Environments -- В ПРОЦЕССЕ
- образ ALT metaprofile -- В ПРОЦЕССЕ
- Girar Builder -- ГОТОВО
- образ для QEMU (см. ниже) -- ГОТОВО
RPM/SRPM репозиторий можно найти по этой ссылке.
Полезные ссылки:
- утилиты для Berkeley bootloader для слияния ядра Linux в bbl.bin с dummy payload.
- RISC-V ISA
- All Aboard -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.
- OSSDEVCONF-2018