PFN - virtio

結局 QEMU を -O0 でビルドし直した。 が無くて快適。
id:kvm さんにアドバイスを頂き、PFN は物理メモリインデックスだと分かった。
ユーザーランドから virtio を使いたいので リニアアドレス → 物理アドレスへの変換システムコールが必要だったので追加。


おおよそ仕組みが理解できたと思う。理解が正しければ virtio-console の使い方は

  1. device リセット
  2. output queue(番号は1) を select
  3. PFN を指定(ここに書き込む)
  4. NOTIFY で実際に書き込みを指示

となる。


現状は 2 でつまっていて、VIRTIO_PCI_QUEUE_SEL が正しく QEMU に伝わっていないようだ。謎。