On 04/12/2011 06:06 PM, Amit Shah wrote:
The GET_EVENT_STATUS_NOTIFICATION ATAPI command is listed as a
mandatory command in the spec but we don't really implement it any of
its sub-commands.

The commit message for the last commit explains why implementing just
the media subcommand is helpful and how it goes a long way in getting
guests to behave as expected.

The difference from the RFC series sent earlier is:
- Split into more patches
- Add tray open/close notification (from Markus)

There certainly is much more work to be done for the other commands
and also for state change handling (tray open / close / new media)
overall for the block layer, but this is a good first step in being
spec-compliant and at the same time making guests work.

v5:
  - re-add initialisation of gesn_event_header->notification_class; it
    is a bug to not init it; add comment.
  - remove max_len param from call to event_status_media()
  - convert enums to upper case.

v4:
  - gesn_event_header should point to buf
  - compile fix for patch 3/5
  - remove initialisation without effect of a variable.

v3:
  - Add gesn_event_header struct, further removing a few constants used
  - Set reserved bits to 0 for the media subcommand
  - Remove the function handling NEA, move to generic code
  - Re-do patch series to reflect above change
  - Merge vmstate patches with patch introducing new fields
  - Merge fixes for other comments by Kevin

v2:
  - Update comments
  - Use struct instead of enum for cdb packet
  - Add a new subsection to vmstate for new fields for save/restore

v1:
  - Split into more patches
  - Add tray open/close notification (from Markus)

RFC:
  - Orig. series

Amit Shah (5):
   atapi: Allow GET_EVENT_STATUS_NOTIFICATION after media change
   atapi: Move GET_EVENT_STATUS_NOTIFICATION command handling to its own
     function
   atapi: GESN: Use structs for commonly-used field types
   atapi: GESN: Standardise event response handling for future additions
   atapi: GESN: implement 'media' subcommand

  hw/ide/core.c     |  187 +++++++++++++++++++++++++++++++++++++++++++++++------
  hw/ide/internal.h |    6 ++
  2 files changed, 174 insertions(+), 19 deletions(-)

ACK

Please consider moving structs and enums to a common header file (mmc.h or atapi.h) and naming them to avoid void* casts in a followup.

Paolo

Reply via email to