QEMU中的辅助IDE通道似乎不起作用

时间:2014-12-04 01:36:13

标签: disk qemu disk-io

当我尝试等待辅助IDE控制器中的第一个磁盘在QEMU中空闲时,inb(0x177)始终返回0)

遵循的步骤:

我尝试通过执行以下操作向QEMU添加第3个磁盘:

1)创建一个新的空白磁盘映像 2)在QEMU选项中将图像添加为hdc 3)创建一个名为ide.c的新文件来处理辅助通道。 (使用h / w手册中指定的端口0x17 *而不是0x1F *)

在ide.c中,我有以下内容来检查辅助控制器是否存在:

outb(0x173, 0x88);
int r = inb(0x173);
printf("SECONDARY DISK CONTROLLER%s\n", r==0x88?" present":"not present")

&安培;它表明它确实如此。

但检查设备不忙不起作用。有人知道那是为什么吗?

static int
ide_wait_ready(bool check_error)
{
        int r;
        //WAIT FOR !BUSY
        while (((r = inb(0x177)) > 0)
        ;
}

0 个答案:

没有答案