2019-10-01から1ヶ月間の記事一覧

OpenSBIの内部実装(boot~linux kernelを実行するまで)

はじめに OpenSBIとはRISC-V向けに提供されたSBI(Supervisor Binary Interface)仕様の実装で、M-modeでの挙動が実装されている(linux kernelはS-modeとU-modeでの挙動が実装されている)。前回の記事でlinux kernel(v5.3.6)の下でOpenSBIを導入した手順を書い…

<RISC-V版> QEMU+OpenSBI(boot loader)でlinux kernelの起動

はじめに 他のサイトでもいろいろな構成でbuildされているが、今回は、OpenSBIというBoot Loaderを用いて、linux kernel(v5.3.6)を動かしてみた。 /sbin/init以下で動作させるためのスクリプトも用意する必要があるが、これはbusyboxというユーザーランドで…

RISC-Vとx86のsystem callの内部実装の違い(xv6を例に)

はじめに xv6-publicとxv6-riscvはUNIX v6を下敷きに、それぞれx86 versionとRISC-V versionに移植された教育用のOSである。 前回、RISC-Vのprivilege modeの遷移について書いたが、本記事では前回よりも少し具体的に、system callがx86 versionとRISC-V ver…