Shaos wrote:
В этом эмуляторчике по ходу кроме базового набора инструкций из RV32I есть умножение-деление (RV32M) и атомарные операции (RV32A) - сделаю макрос, чтобы их отключить
Текущее состояние эмуля:
https://gitlab.com/nedopc/npc5/blob/master/emu-rv32i.c
P.S. А ещё у RISC-V есть инструкции привелигированного режима (в микро-эмуле поддержаны все, кроме URET):
Оказывается National Cheng Kung University (Taiwan) взял этот эмуль и дальше развивает
https://github.com/sysprog21/rv32emu
Теперь полный набор копирайтов там выглядит вот так
Code: Select all
Copyright (c) 2019 National Cheng Kung University, Taiwan
Copyright (c) 2018 Alexander Shabarshin
Copyright (c) 2018 Frank Buss
Copyright (c) 2016-2017 Fabrice Bellard
Надо чтоли ихние изменения себе тоже замёрджить
P.S. У них есть несколько открытых пулл-реквестов, например компресснутый набор инструкций, а мне как минимум надо взять те пулл-реквесты, которые было одобрены и смёрджены:
https://github.com/sysprog21/rv32emu/pulls?q=is%3Apr+is%3Aclosed
Также их репу уже форкнули 19 раз:
@sysprog21 sysprog21 / rv32emu
@0x59616e 0x59616e / rv32emu
@amirgon amirgon / rv32emu
@brchiu brchiu / rv32emu
@czak czak / rv32emu
@eddie9712 eddie9712 / rv32emu
@HexRabbit HexRabbit / rv32emu
@kaeteyaruyo kaeteyaruyo / rv32emu
@kksweet8845 kksweet8845 / rv32emu
--- @dc-tw dc-tw / rv32emu
@kohnakagawa kohnakagawa / rv32emu
@llvmphighter llvmphighter / rv32emu
@manbing manbing / rv32emu
@sun363587351 sun363587351 / rv32emu
@taisukef taisukef / rv32emu
--- @shihyu shihyu / rv32emu
@tylerchen0619 tylerchen0619 / rv32emu
@xl86305955 xl86305955 / rv32emu
@yangyi625 yangyi625 / rv32emu
@yuppox yuppox / rv32emu
Дополнительную работу поделали вот эти форки:
https://github.com/czak/rv32emu - This branch is 7 commits ahead, 3 commits behind sysprog21:master.
https://github.com/kaeteyaruyo/rv32emu - This branch is 1 commit ahead of sysprog21:master.
https://github.com/kksweet8845/rv32emu - This branch is 24 commits ahead, 3 commits behind sysprog21:master.
---
https://github.com/dc-tw/rv32emu - This branch is 14 commits ahead, 36 commits behind kksweet8845:master. (форкнут из предыдущего форка)
https://github.com/manbing/rv32emu - This branch is 1 commit ahead, 1 commit behind sysprog21:master.
https://github.com/taisukef/rv32emu - This branch is 13 commits ahead, 3 commits behind sysprog21:master. (добавлена поддержка RV32C)
---
https://fukuno.jig.jp/2691
---
https://fukuno.jig.jp/2722
https://github.com/xl86305955/rv32emu - This branch is 1 commit ahead, 15 commits behind sysprog21:master.