Ticket #13578: patch2.diff

File patch2.diff, 3.3 KB (added by Alexco, 7 years ago)
  • headers/private/drivers/ide_types.h

    diff --git a/headers/private/drivers/ide_types.h b/headers/private/drivers/ide_types.h
    index 3d4acaa..e5b051b 100644
    a b  
    1010#include <lendian_bitfield.h>
    1111
    1212
     13
    1314// IDE task file.
    1415// contains the command block interpreted under different conditions with
    1516// first byte being first command register, second byte second command register
    union ide_task_file {  
    2425        uint8   sector_number;
    2526        uint8   cylinder_0_7;
    2627        uint8   cylinder_8_15;
    27         LBITFIELD8_3(
     28        B_LBITFIELD8_3(
    2829            head                : 4,
    2930            device              : 1,
    3031            mode                : 3
    union ide_task_file {  
    3738        uint8   lba_0_7;
    3839        uint8   lba_8_15;
    3940        uint8   lba_16_23;
    40         LBITFIELD8_3(
     41        B_LBITFIELD8_3(
    4142            lba_24_27           : 4,
    4243            device              : 1,
    4344            mode                : 3
    union ide_task_file {  
    4546        uint8   command;
    4647    } lba;
    4748    struct {
    48         LBITFIELD8_3(
     49        B_LBITFIELD8_3(
    4950            dma                 : 1,
    5051            ovl                 : 1,
    5152            _0_res2             : 6
    5253        );
    53         LBITFIELD8_2(
     54        B_LBITFIELD8_2(
    5455            _1_res0             : 3,
    5556            tag                 : 5
    5657        );
    5758        uint8   _2_res;
    5859        uint8   byte_count_0_7;
    5960        uint8   byte_count_8_15;
    60         LBITFIELD8_6(
     61        B_LBITFIELD8_6(
    6162            lun                 : 3,
    6263            _5_res3             : 1,
    6364            device              : 1,
    union ide_task_file {  
    6869        uint8   command;
    6970    } packet;
    7071    struct {
    71         LBITFIELD8_5(
     72        B_LBITFIELD8_5(
    7273            ili                 : 1,
    7374            eom                 : 1,
    7475            abrt                : 1,
    7576            _0_res3             : 1,
    7677            sense_key           : 4
    7778        );
    78         LBITFIELD8_4(
     79        B_LBITFIELD8_4(
    7980            cmd_or_data         : 1,    // 1 - cmd, 0 - data
    8081            input_or_output     : 1,    // 0 - input (to device), 1 - output
    8182            release             : 1,
    union ide_task_file {  
    8485        uint8   _2_res;
    8586        uint8   byte_count_0_7;
    8687        uint8   byte_count_8_15;
    87         LBITFIELD8_5(
     88        B_LBITFIELD8_5(
    8889            _4_res0             : 4,
    8990            device              : 1,
    9091            _4_obs5             : 1,
    9192            _4_res6             : 1,
    9293            _4_obs7             : 1
    9394        );
    94         LBITFIELD8_7(
     95        B_LBITFIELD8_7(
    9596            chk                 : 1,
    9697            _7_res1                 : 2,
    9798            drq                 : 1,
    union ide_task_file {  
    103104    } packet_res;
    104105    struct {
    105106        uint8   sector_count;
    106         LBITFIELD8_4(                   // only <tag> is defined for write
     107        B_LBITFIELD8_4(                 // only <tag> is defined for write
    107108            cmd_or_data         : 1,    // 1 - cmd, 0 - data
    108109            input_or_output     : 1,    // 0 - input (to device), 1 - output
    109110            release             : 1,
    union ide_task_file {  
    112113        uint8   lba_0_7;
    113114        uint8   lba_8_15;
    114115        uint8   lba_16_23;
    115         LBITFIELD8_3(
     116        B_LBITFIELD8_3(
    116117            lba_24_27           : 4,
    117118            device              : 1,
    118119            mode                : 3
    union ide_task_file {  
    126127        uint8   lba_0_7;
    127128        uint8   lba_8_15;
    128129        uint8   lba_16_23;
    129         LBITFIELD8_3(
     130        B_LBITFIELD8_3(
    130131            _5low_res0          : 4,
    131132            device              : 1,
    132133            mode                : 3
    union ide_task_file {  
    143144    struct {
    144145        // low order bytes
    145146        uint8   sector_count_0_7;
    146         LBITFIELD8_4(
     147        B_LBITFIELD8_4(
    147148            cmd_or_data         : 1,    // 1 - cmd, 0 - data
    148149            input_or_output     : 1,    // 0 - input (to device), 1 - output
    149150            release             : 1,
    union ide_task_file {  
    152153        uint8   lba_0_7;
    153154        uint8   lba_8_15;
    154155        uint8   lba_16_23;
    155         LBITFIELD8_3(
     156        B_LBITFIELD8_3(
    156157            _5low_res0              : 4,
    157158            device                  : 1,
    158159            mode                    : 3
    union ide_task_file {  
    169170    struct {
    170171        uint8   _0_res[3];
    171172        uint8   ver;            // RMSN version
    172         LBITFIELD8_3(
     173        B_LBITFIELD8_3(
    173174            pena    : 1,        // previously enabled
    174175            lock    : 1,        // capable of locking
    175176            pej     : 1         // can physically eject