=> R0 = flags
R2 = pointer to parameter block for command and results
R3 = pointer to buffer
R4 = length to transfer
R5 = timeout in centiseconds (0 => use default)
<= R0 = command status (0 or a disc error number)
R2,R3 preserved
R4 updated (number of bytes not transferred)
R5 corrupted
Block at R2 updated with error and status values
This call provides the direct use interface for low-level IDE commands. It must not be called in the background.
See PRM 2, page 294.
IDE Controller flags
Bit Meaning
0 set : reset controller
clr : process command
24-25 transfer direction:
00 : no transfer
01 : read (ie bit 24 set)
10 : write (ie bit 25 set)
11 : reserved
IDE Operation block
Offset Meaning
0 Features/Error
1 Sector count
2 LBA (LSB) or Sector number
3 : or Cylinder LSB
4 LBA (MSB) or Cylinder MSB
5 Device and head
6 Command/Status
|
|
|