2. 下準備
xv6に自作プロトコルスタックを移植するにあたって、いくつか下準備をしておきます。
自作プロトコルスタックは、通常のC言語プログラムとして標準ライブラリやビット幅指定の整数型、コンソール出力、時刻の取得といった機能を前提に書かれています。しかし、これらはxv6のカーネル内にそのままは存在しません。そこで移植を始める前に、本体のコードが期待する「足回り」をxv6の側に用意しておきます。
具体的には、ビット幅指定の整数型の追加、ログ出力に必要なprintk()の機能拡張、現在時刻を取得する仕組みの実装を順に行います。これらを土台として、最後に標準ライブラリを肩代わりする簡易libcと便利ライブラリを移植します。あわせて、深い呼び出しになりがちなプロトコル処理に耐えられるよう、カーネルスタックの拡張も行います。
この章を終えると、#include <stdio.h>のように書かれた本体のコードを、ほとんど手を加えずにxv6のカーネル内でビルドできる状態になります。