我正在为特定 SCSI 控制器编写 OpROM(BIOS)。在插入英特尔服务器主板 S2600CW 之前,BIOS 工作正常。硬盘驱动器连接到 SCSI 控制器,并由 SCSI BIOS 扫描和识别。但是当系统启动到 MS-DOS 环境(通过 USB 拇指驱动器)时,SCSI 设备根本找不到!检查 BIOS BDA 0:475h,只有 1 个设备(USB 驱动器)。
但是,如果我F2在 SCSI BIOS 完成后按下进入系统 BIOS 设置,则扫描的 SCSI 设备将显示在启动设备选择菜单上!
我设法在 BIOS EBDA 中预分配一个区域来记录系统 BIOS 如何调用 SCSI,但似乎没有发现任何异常。在 init 阶段之后调用 SCSI BIOS BCV,然后调用 int13 例程约 52 次,传入各种命令,例如 08h、41h、48h 和 42h,全部无错误完成。
我已经为另一个 SCSI 控制器编写了 BIOS,并且该控制器在相同的 Intel M/B 上运行良好。
我想知道是否有任何 int13 函数被错误地实现,导致英特尔系统 BIOS 不高兴?