From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52921) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwdU4-0003du-Vz for qemu-devel@nongnu.org; Wed, 11 Nov 2015 17:03:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZwdU4-0000TM-0W for qemu-devel@nongnu.org; Wed, 11 Nov 2015 17:03:16 -0500 From: Eduardo Habkost Date: Wed, 11 Nov 2015 20:02:53 -0200 Message-Id: <1447279373-5006-1-git-send-email-ehabkost@redhat.com> Subject: [Qemu-devel] [RFC] ide: Don't use qemu_hw_version() for firmware revision List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , "Michael S. Tsirkin" , John Snow Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org The IDEState.version field is used for firmware version information returned to the guest. Updating firmware information on QEMU upgrade is supposed to be acceptable, so IDE doesn't need the version compatibility magic of qemu_hw_version() and can use QEMU_VERSION directly. Signed-off-by: Eduardo Habkost --- I'm sending this just to start a discussion about what exactly we are supposed to return to the guest on those IDE fields. Should we return: 1) Something that never changes and don't reveal QEMU version information (e.g. "QEMU")? 2) Something that is always the same depending on the machine-type (machine-type name? MachineClass.hw_version?) 3) Something that change every time QEMU is upgraded (QEMU_VERSION)? 4) Something else? This patch implements option (3). --- hw/ide/core.c | 2 +- hw/ide/internal.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/ide/core.c b/hw/ide/core.c index 364ba21..1602707 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -2312,7 +2312,7 @@ int ide_init_drive(IDEState *s, BlockBackend *blk, IDEDriveKind kind, if (version) { pstrcpy(s->version, sizeof(s->version), version); } else { - pstrcpy(s->version, sizeof(s->version), qemu_hw_version()); + pstrcpy(s->version, sizeof(s->version), QEMU_VERSION); } ide_reset(s); diff --git a/hw/ide/internal.h b/hw/ide/internal.h index e4629b0..a4277ce 100644 --- a/hw/ide/internal.h +++ b/hw/ide/internal.h @@ -378,6 +378,7 @@ struct IDEState { /* set for lba48 access */ uint8_t lba48; BlockBackend *blk; + /* Firmware revision/version */ char version[9]; /* ATAPI specific */ struct unreported_events events; @@ -488,6 +489,7 @@ struct IDEDevice { uint32_t unit; BlockConf conf; int chs_trans; + /* Firmware revision/version */ char *version; char *serial; char *model; -- 2.1.0