译文:
ATA驱动初识化主要是由ata_initialize() 函数实现,其主要工作是侦测那些和IDE控制器相关联的ata设备并将它们在系统中进行注册。
rtems_device_driver ata_initialize(rtems_device_major_number major, rtems_device_minor_number minor,void *arg)
{
对ATA核心数据结构进行初始化
对每个IDE控制器(成功初始化后)
如果是一个中断设备,则建立中断处理
获取属于控制器的ATA设备的信息用于我们对相关命令在执行时作出诊断
对每个ATA设备(成功侦测出)
获取其中设备参数作为命令中的设备标识符
将新的ATA设备作为系统一个新的块设备进行注册
}
对于ATA设备命令来讲,特殊的处理是有必要的,着是因为在驱动初始化时的缺乏对多重任务处理环境的相应处理
作为被侦测到的设备来讲,它们将作为一个物理块设备在系统中注册,而其驱动的形式则是基于其IDE控制器,在目前的可以具有64个次设备的情况下,皆可用于最多可以有63个逻辑分区ATA设备。
controller minor device number device name ata device minor
0 0 hda 0
0 1 hdb 64
1 0 hdc 128
1 1 hdd 172
... ... ...
浙公网安备 33010602011771号