Subversion Repositories HelenOS

Rev

Rev 4531 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4531 Rev 4546
Line 48... Line 48...
48
 
48
 
49
enum {
49
enum {
50
    MAX_DISKS   = 2
50
    MAX_DISKS   = 2
51
};
51
};
52
 
52
 
-
 
53
/** ATA Command Register Block. */
53
typedef union {
54
typedef union {
54
    /* Read */
55
    /* Read/Write */
55
    struct {
56
    struct {
56
        uint8_t data_port;
57
        uint16_t data_port;
57
        uint8_t error;
-
 
58
        uint8_t sector_count;
58
        uint8_t sector_count;
59
        uint8_t sector_number;
59
        uint8_t sector_number;
60
        uint8_t cylinder_low;
60
        uint8_t cylinder_low;
61
        uint8_t cylinder_high;
61
        uint8_t cylinder_high;
62
        uint8_t drive_head;
62
        uint8_t drive_head;
-
 
63
        uint8_t pad_rw0;       
-
 
64
    };
-
 
65
 
-
 
66
    /* Read Only */
-
 
67
    struct {
-
 
68
        uint8_t pad_ro0;
-
 
69
        uint8_t error;
-
 
70
        uint8_t pad_ro1[5];
63
        uint8_t status;
71
        uint8_t status;
64
    };
72
    };
65
 
73
 
66
    /* Write */
74
    /* Write Only */
67
    struct {
75
    struct {
68
        uint8_t pad0[7];
76
        uint8_t pad_wo0;
-
 
77
        uint8_t features;
-
 
78
        uint8_t pad_wo1[5];
69
        uint8_t command;
79
        uint8_t command;
70
    };
80
    };
71
} ata_cmd_t;
81
} ata_cmd_t;
72
 
82
 
73
typedef union {
83
typedef union {