Comments 5
Если вы хотите добавить поддержку расширения RISC-V в ядро, при этом само ядро это расширение использовать не будет (ну, чего-нибудь там с плавающей точкой), то все, что вам достаточно сделать, это добавить парсинг соответствующей точки в DTS и возможность узнать об этом расширении через hwprobe.
То есть сохранение соответствующих регистров при переключении контекста добавится само после описанных действий?
Там же четко было сказано: если вместе с инструкциями расширения не заезжают еще и новые регистры, то да, все просто. Но если в расширении есть новые регистры, то без поддержки этого расширения ядром уже никак не обойтись.
Смутило "чего нибудь с плавающей точкой" - она в RISC V на обычных регистрах или подразумевается, что ядро про плавучку уже знает?
Приведённая цитата (~34:15 в записи) относится к описанию расширения системного вызова hwprobe:
при этом само ядро это расширение использовать не будет (ну, чего-нибудь там с плавающей точкой), то все, что вам достаточно сделать...
Аналогия с плавающей точкой здесь выбрана не очень удачно и может ввести в заблуждение. Здесь имелись в виду расширения плавающей точки типа Zfa/Zfh/Zfhmin. Они ядром не используются, поэтому их достаточно пробросить в userspace через hwprobe. А сама по себе поддержка плавающей точки конечно требует полноценной поддержки со стороны ядра для работы с контекстами, дебагом и т.п. Более подробно эти вопросы обсуждаются примерно на 17:30.
Также в записи говорили про "парсинг соответствующей строчки в DTS", а не точки, здесь тоже стоит внести ясность, цитату в статье поправили.
YADRO x SpbLUG LINUX Kernel Meetup: шире память, точнее обновления, больше RISC-V