+int
+ahci_identify_device(struct hba_port* port)
+{
+ // 用于重新识别设备(比如在热插拔的情况下)
+ vfree(port->device);
+ return ahci_init_device(port);
+}
+
+void
+achi_register_ops(struct hba_port* port)
+{
+ port->device->ops.identify = ahci_identify_device;
+ if (!(port->device->flags & HBA_DEV_FATAPI)) {
+ port->device->ops.read_buffer = sata_read_buffer;
+ port->device->ops.write_buffer = sata_write_buffer;
+ } else {
+ port->device->ops.read_buffer = scsi_read_buffer;
+ port->device->ops.write_buffer = scsi_write_buffer;
+ }
+}
\ No newline at end of file