[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 10/45] ide/atapi: Track tray open/close state
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v2 10/45] ide/atapi: Track tray open/close state |
Date: |
Fri, 02 Sep 2011 12:23:15 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20110816 Thunderbird/6.0 |
Am 03.08.2011 15:07, schrieb Markus Armbruster:
> We already track it in BlockDriverState since commit 4be9762a. As
> discussed in that commit's message, we should track it in the device
> device models instead, because it's device state.
>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
> hw/ide/atapi.c | 6 +++++-
> hw/ide/internal.h | 1 +
> 2 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c
> index 17fbef8..96f7c31 100644
> --- a/hw/ide/atapi.c
> +++ b/hw/ide/atapi.c
> @@ -510,7 +510,7 @@ static unsigned int event_status_media(IDEState *s,
> uint8_t event_code, media_status;
>
> media_status = 0;
> - if (s->bs->tray_open) {
> + if (s->tray_open) {
> media_status = MS_TRAY_OPEN;
> } else if (bdrv_is_inserted(s->bs)) {
> media_status = MS_MEDIA_PRESENT;
> @@ -915,6 +915,10 @@ static void cmd_start_stop_unit(IDEState *s, uint8_t*
> buf)
> ide_atapi_cmd_error(s, SENSE_NOT_READY, ASC_MEDIUM_NOT_PRESENT);
> break;
> }
> +
> + if (loej && !err) {
> + s->tray_open = !start;
> + }
> }
>
> static void cmd_mechanism_status(IDEState *s, uint8_t* buf)
> diff --git a/hw/ide/internal.h b/hw/ide/internal.h
> index 46e84fa..cd8e977 100644
> --- a/hw/ide/internal.h
> +++ b/hw/ide/internal.h
> @@ -442,6 +442,7 @@ struct IDEState {
> struct unreported_events events;
> uint8_t sense_key;
> uint8_t asc;
> + bool tray_open;
> uint8_t cdrom_changed;
> int packet_transfer_size;
> int elementary_transfer_size;
Probably needs to be migrated.
Kevin
- Re: [Qemu-devel] [PATCH v2 10/45] ide/atapi: Track tray open/close state,
Kevin Wolf <=