VirtualBox

Changeset 27361 in vbox for trunk/src


Ignore:
Timestamp:
Mar 15, 2010 2:24:42 PM (15 years ago)
Author:
vboxsync
Message:

Storate/ATA: implemented ATA_EVENT_STATUS_MEDIA_EJECT_REQUESTED (currently unused)

Location:
trunk/src/VBox/Devices/Storage
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/ATAController.cpp

    r26195 r27361  
    16851685        {
    16861686            case ATA_EVENT_STATUS_MEDIA_NEW:
    1687             /* mount */
     1687                /* mount */
    16881688                ataH2BE_U16(pbBuf + 0, 6);
    1689                 pbBuf[2] = 0x04;
    1690                 pbBuf[3] = 0x5e;
    1691                 pbBuf[4] = 0x02;
    1692                 pbBuf[5] = 0x02;
     1689                pbBuf[2] = 0x04; /* media */
     1690                pbBuf[3] = 0x5e; /* suppored = busy|media|external|power|operational */
     1691                pbBuf[4] = 0x02; /* new medium */
     1692                pbBuf[5] = 0x02; /* medium present / door closed */
    16931693                pbBuf[6] = 0x00;
    16941694                pbBuf[7] = 0x00;
     
    16991699                /* umount */
    17001700                ataH2BE_U16(pbBuf + 0, 6);
    1701                 pbBuf[2] = 0x04;
    1702                 pbBuf[3] = 0x5e;
    1703                 pbBuf[4] = 0x03;
    1704                 pbBuf[5] = 0x00;
     1701                pbBuf[2] = 0x04; /* media */
     1702                pbBuf[3] = 0x5e; /* suppored = busy|media|external|power|operational */
     1703                pbBuf[4] = 0x03; /* media removal */
     1704                pbBuf[5] = 0x00; /* medium absent / door closed */
    17051705                pbBuf[6] = 0x00;
    17061706                pbBuf[7] = 0x00;
     
    17091709                break;
    17101710
     1711            case ATA_EVENT_STATUS_MEDIA_EJECT_REQUESTED: /* currently unused */
     1712                ataH2BE_U16(pbBuf + 0, 6);
     1713                pbBuf[2] = 0x04; /* media */
     1714                pbBuf[3] = 0x5e; /* supported = busy|media|external|power|operational */
     1715                pbBuf[4] = 0x01; /* eject requested (eject button pressed) */
     1716                pbBuf[5] = 0x02; /* medium present / door closed */
     1717                pbBuf[6] = 0x00;
     1718                pbBuf[7] = 0x00;
     1719                break;
     1720
    17111721            case ATA_EVENT_STATUS_UNCHANGED:
    17121722            default:
    17131723                ataH2BE_U16(pbBuf + 0, 6);
    1714                 pbBuf[2] = 0x01;
    1715                 pbBuf[3] = 0x5e;
     1724                pbBuf[2] = 0x01; /* operational change request / notification */
     1725                pbBuf[3] = 0x5e; /* suppored = busy|media|external|power|operational */
    17161726                pbBuf[4] = 0x00;
    17171727                pbBuf[5] = 0x00;
  • trunk/src/VBox/Devices/Storage/ATAController.h

    r24772 r27361  
    7373#define ATA_EVENT_STATUS_MEDIA_REMOVED          2    /**< medium removed */
    7474#define ATA_EVENT_STATUS_MEDIA_CHANGED          3    /**< medium was removed + new medium was inserted */
     75#define ATA_EVENT_STATUS_MEDIA_EJECT_REQUESTED  4    /**< medium eject requested (eject button pressed) */
    7576
    7677
  • trunk/src/VBox/Devices/Storage/DevATA.cpp

    r27273 r27361  
    101101#define ATA_EVENT_STATUS_MEDIA_REMOVED          2    /**< medium removed */
    102102#define ATA_EVENT_STATUS_MEDIA_CHANGED          3    /**< medium was removed + new medium was inserted */
     103#define ATA_EVENT_STATUS_MEDIA_EJECT_REQUESTED  4    /**< medium eject requested (eject button pressed) */
    103104
    104105/**
     
    23612362        {
    23622363            case ATA_EVENT_STATUS_MEDIA_NEW:
    2363             /* mount */
     2364                /* mount */
    23642365                ataH2BE_U16(pbBuf + 0, 6);
    2365                 pbBuf[2] = 0x04;
    2366                 pbBuf[3] = 0x5e;
    2367                 pbBuf[4] = 0x02;
    2368                 pbBuf[5] = 0x02;
     2366                pbBuf[2] = 0x04; /* media */
     2367                pbBuf[3] = 0x5e; /* suppored = busy|media|external|power|operational */
     2368                pbBuf[4] = 0x02; /* new medium */
     2369                pbBuf[5] = 0x02; /* medium present / door closed */
    23692370                pbBuf[6] = 0x00;
    23702371                pbBuf[7] = 0x00;
     
    23752376                /* umount */
    23762377                ataH2BE_U16(pbBuf + 0, 6);
    2377                 pbBuf[2] = 0x04;
    2378                 pbBuf[3] = 0x5e;
    2379                 pbBuf[4] = 0x03;
    2380                 pbBuf[5] = 0x00;
     2378                pbBuf[2] = 0x04; /* media */
     2379                pbBuf[3] = 0x5e; /* suppored = busy|media|external|power|operational */
     2380                pbBuf[4] = 0x03; /* media removal */
     2381                pbBuf[5] = 0x00; /* medium absent / door closed */
    23812382                pbBuf[6] = 0x00;
    23822383                pbBuf[7] = 0x00;
     
    23852386                break;
    23862387
     2388            case ATA_EVENT_STATUS_MEDIA_EJECT_REQUESTED: /* currently unused */
     2389                ataH2BE_U16(pbBuf + 0, 6);
     2390                pbBuf[2] = 0x04; /* media */
     2391                pbBuf[3] = 0x5e; /* supported = busy|media|external|power|operational */
     2392                pbBuf[4] = 0x01; /* eject requested (eject button pressed) */
     2393                pbBuf[5] = 0x02; /* medium present / door closed */
     2394                pbBuf[6] = 0x00;
     2395                pbBuf[7] = 0x00;
     2396                break;
     2397
    23872398            case ATA_EVENT_STATUS_UNCHANGED:
    23882399            default:
    23892400                ataH2BE_U16(pbBuf + 0, 6);
    2390                 pbBuf[2] = 0x01;
    2391                 pbBuf[3] = 0x5e;
     2401                pbBuf[2] = 0x01; /* operational change request / notification */
     2402                pbBuf[3] = 0x5e; /* suppored = busy|media|external|power|operational */
    23922403                pbBuf[4] = 0x00;
    23932404                pbBuf[5] = 0x00;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette