From patchwork Wed Jan 20 06:51:26 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Snow X-Patchwork-Id: 8069061 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 8BF949FC36 for ; Wed, 20 Jan 2016 06:51:56 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 00E4C20221 for ; Wed, 20 Jan 2016 06:51:56 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4EB4220259 for ; Wed, 20 Jan 2016 06:51:55 +0000 (UTC) Received: from localhost ([::1]:40452 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLmcU-0005PU-OC for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Jan 2016 01:51:54 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42284) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLmcJ-0005Km-5L for qemu-devel@nongnu.org; Wed, 20 Jan 2016 01:51:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aLmcI-0004at-7m for qemu-devel@nongnu.org; Wed, 20 Jan 2016 01:51:43 -0500 Received: from mx1.redhat.com ([209.132.183.28]:44589) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLmcG-0004Z3-7c; Wed, 20 Jan 2016 01:51:40 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id CDE3742E5D8; Wed, 20 Jan 2016 06:51:39 +0000 (UTC) Received: from scv.usersys.redhat.com (vpn-54-49.rdu2.redhat.com [10.10.54.49]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u0K6pZw4019741; Wed, 20 Jan 2016 01:51:39 -0500 From: John Snow To: qemu-block@nongnu.org Date: Wed, 20 Jan 2016 01:51:26 -0500 Message-Id: <1453272694-17106-5-git-send-email-jsnow@redhat.com> In-Reply-To: <1453272694-17106-1-git-send-email-jsnow@redhat.com> References: <1453272694-17106-1-git-send-email-jsnow@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 Cc: kwolf@redhat.com, John Snow , armbru@redhat.com, qemu-devel@nongnu.org Subject: [Qemu-devel] [PATCH v4 04/12] fdc: add disk field X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Currently, 'drive' is used both to represent the current diskette type as well as the current drive type. This patch adds a 'disk' field that is updated explicitly to match the type of the disk. As of this patch, disk and drive are always the same, but forthcoming patches to change the behavior of pick_geometry will invalidate this assumption. disk does not need to be migrated because it is not user-visible state nor is it currently used for any calculations. It is purely informative, and will be rebuilt automatically via fd_revalidate on the new host. Signed-off-by: John Snow Reviewed-by: Eric Blake --- hw/block/fdc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/block/fdc.c b/hw/block/fdc.c index 041f1aa..e72a906 100644 --- a/hw/block/fdc.c +++ b/hw/block/fdc.c @@ -140,6 +140,7 @@ typedef struct FDrive { uint8_t track; uint8_t sect; /* Media */ + FloppyDriveType disk; /* Current disk type */ FDiskFlags flags; uint8_t last_sect; /* Nb sector per track */ uint8_t max_track; /* Nb of tracks */ @@ -157,6 +158,7 @@ static void fd_init(FDrive *drv) drv->drive = FLOPPY_DRIVE_TYPE_NONE; drv->perpendicular = 0; /* Disk */ + drv->disk = FLOPPY_DRIVE_TYPE_NONE; drv->last_sect = 0; drv->max_track = 0; } @@ -286,6 +288,7 @@ static void pick_geometry(FDrive *drv) drv->max_track = parse->max_track; drv->last_sect = parse->last_sect; drv->drive = parse->drive; + drv->disk = drv->media_inserted ? parse->drive : FLOPPY_DRIVE_TYPE_NONE; drv->media_rate = parse->rate; }