--- nono/vm/virtio_block.cpp 2026/04/29 17:05:28 1.1.1.2 +++ nono/vm/virtio_block.cpp 2026/04/29 17:05:32 1.1.1.3 @@ -13,6 +13,7 @@ #include "config.h" #include "mainram.h" #include "memorystream.h" +#include "monitor.h" // デバイス構成レイアウト class VirtIOBlkConfigWriter @@ -56,7 +57,7 @@ VirtIOBlockDevice::VirtIOBlockDevice(uin device_id = VirtIO::DEVICE_ID_BLOCK; int num_max = 32; - vqueues.emplace_back(0, "RequestQ", num_max); + vqueues.emplace_back(this, 0, "RequestQ", num_max); blocksize = 512; // 割り込み名 @@ -64,9 +65,9 @@ VirtIOBlockDevice::VirtIOBlockDevice(uin // 完了通知メッセージ msgid = MessageID::VIRTIO_BLOCK_DONE(id); - monitor.func = ToMonitorCallback(&VirtIOBlockDevice::MonitorUpdate); - monitor.SetSize(MONITOR_WIDTH, 2 + 4 * 1 + num_max + 3); - monitor.Regist(ID_MONITOR_VIRTIO_BLOCK(id)); + monitor = gMonitorManager->Regist(ID_MONITOR_VIRTIO_BLOCK(id), this); + monitor->func = ToMonitorCallback(&VirtIOBlockDevice::MonitorUpdate); + monitor->SetSize(MONITOR_WIDTH, 2 + 4 * 1 + num_max + 3); } // デストラクタ