同事,
我正在实现对 ATA 可信命令的支持
0x5C, TRUSTED RECEIVE,
0x5D, TRUSTED RECEIVE DMA,
0x5E, TRUSTED SEND
0x5F, TRUSTED SEND DMA,
Run Code Online (Sandbox Code Playgroud)
用于 Linux(两台主机,Fedora 12 和 14)以支持自加密驱动器。我从这个页面http://www.jukie.net/bart/blog/ata-via-scsi中获取了一个代码作为基本代码。对于可信接收(在这一层,它与 IDENTIFY, 0xEC 相同):
sg_io.interface_id = 'S';
sg_io.cmdp = cdb;
sg_io.cmd_len = sizeof(cdb);
sg_io.dxferp = data_in_buffer;
sg_io.dxfer_len = data_in_length; // multiple of 512
sg_io.dxfer_direction = SG_DXFER_FROM_DEV;
sg_io.sbp = sense;
sg_io.mx_sb_len = sizeof(sense);
sg_io.timeout = 5000; // 5 seconds
cdb[0] = 0x85; // pass-through ATA16 command (no translation)
cdb[1] = (4 << 1); // data-in
cdb[2] = …Run Code Online (Sandbox Code Playgroud)