From nobody Mon Feb 9 09:09:44 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1615831407; cv=none; d=zohomail.com; s=zohoarc; b=RnbShhMZ3fNmBa2iihuoz+deavqnp/X8/rliqvK1+B5XeapQmjRlxZ4+s4HMJ0NW6FI2NsKsnVjDJJN0kB3mry2XordoyKhqb61Xk/rmdizwnyJaa1/6qg8MVx0Wz/P6hTWor2QZksN1A+yZwdXnemllH/X2MjRgqmPKkFDztRc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615831407; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=VdfoDktG6lIFQgHBnGuruhduXWRdfmaLgecDFEBNAVU=; b=XM6a6x+ekMn4XB/wNqny9WZ7MBUkmJ1NBLlK1ET+/yGgEqt2VA2SXC+1EfgolXWSPrPbtdWkopG+W+1cnXx17erRkwRwHRjp4R+7mR3rRxNgBynfTU/7q43nEDWNoUNbP+S7fj9Xx7zCZNFVhCCiurr1X89eS2st/rf3pZFnCjo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1615831406673436.36535020717395; Mon, 15 Mar 2021 11:03:26 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-127-K-tYxdg9Mwy7y6jG60RQ-g-1; Mon, 15 Mar 2021 14:03:21 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4864D108BD10; Mon, 15 Mar 2021 18:03:11 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 21B8D18A69; Mon, 15 Mar 2021 18:03:11 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id D625B181A0E0; Mon, 15 Mar 2021 18:03:10 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 12FI2v86007576 for ; Mon, 15 Mar 2021 14:02:57 -0400 Received: by smtp.corp.redhat.com (Postfix) id 7CACB610F0; Mon, 15 Mar 2021 18:02:57 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-141.ams2.redhat.com [10.36.112.141]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DC56660C0F; Mon, 15 Mar 2021 18:02:50 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 795EC18007BF; Mon, 15 Mar 2021 19:02:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1615831405; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=VdfoDktG6lIFQgHBnGuruhduXWRdfmaLgecDFEBNAVU=; b=X8v44tLiJpU36z/jcdL+sGOsw617ppb71OH9K8k/UwHy9XD/rmJMvpyTNkrKFHeSdILWIO MMYY9Qby68SCZ/PxkY9wkvFQ5MhMxowj6B1jfQxWrqhN0ax7iJDLfZA0XI5FCB5yPn/CfQ jhqXwUuwCgIsOouPiKdZ76LGyzWOzWU= X-MC-Unique: K-tYxdg9Mwy7y6jG60RQ-g-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PULL 09/13] usb/storage: move declarations to usb/msd.h header Date: Mon, 15 Mar 2021 19:02:36 +0100 Message-Id: <20210315180240.1597240-10-kraxel@redhat.com> In-Reply-To: <20210315180240.1597240-1-kraxel@redhat.com> References: <20210315180240.1597240-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Cc: libvir-list@redhat.com, Huacai Chen , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Jiaxun Yang , Gerd Hoffmann , Paolo Bonzini , Samuel Thibault X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" In preparation for splitting the usb-storage.c file move declarations to the new usb/msd.h header file. Signed-off-by: Gerd Hoffmann Message-Id: <20210312090425.772900-2-kraxel@redhat.com> --- include/hw/usb/msd.h | 54 ++++++++++++++++++++++++++++++++++++++++++++ hw/usb/dev-storage.c | 48 +++++---------------------------------- 2 files changed, 60 insertions(+), 42 deletions(-) create mode 100644 include/hw/usb/msd.h diff --git a/include/hw/usb/msd.h b/include/hw/usb/msd.h new file mode 100644 index 000000000000..7538c54569bf --- /dev/null +++ b/include/hw/usb/msd.h @@ -0,0 +1,54 @@ +/* + * USB Mass Storage Device emulation + * + * Copyright (c) 2006 CodeSourcery. + * Written by Paul Brook + * + * This code is licensed under the LGPL. + */ + +#include "hw/usb.h" +#include "hw/scsi/scsi.h" + +enum USBMSDMode { + USB_MSDM_CBW, /* Command Block. */ + USB_MSDM_DATAOUT, /* Transfer data to device. */ + USB_MSDM_DATAIN, /* Transfer data from device. */ + USB_MSDM_CSW /* Command Status. */ +}; + +struct usb_msd_csw { + uint32_t sig; + uint32_t tag; + uint32_t residue; + uint8_t status; +}; + +struct MSDState { + USBDevice dev; + enum USBMSDMode mode; + uint32_t scsi_off; + uint32_t scsi_len; + uint32_t data_len; + struct usb_msd_csw csw; + SCSIRequest *req; + SCSIBus bus; + /* For async completion. */ + USBPacket *packet; + /* usb-storage only */ + BlockConf conf; + bool removable; + bool commandlog; + SCSIDevice *scsi_dev; +}; + +typedef struct MSDState MSDState; +#define TYPE_USB_STORAGE "usb-storage-dev" +DECLARE_INSTANCE_CHECKER(MSDState, USB_STORAGE_DEV, + TYPE_USB_STORAGE) + +void usb_msd_transfer_data(SCSIRequest *req, uint32_t len); +void usb_msd_command_complete(SCSIRequest *req, size_t resid); +void usb_msd_request_cancelled(SCSIRequest *req); +void *usb_msd_load_request(QEMUFile *f, SCSIRequest *req); +void usb_msd_handle_reset(USBDevice *dev); diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c index a5f76fc00120..027e29dda3f5 100644 --- a/hw/usb/dev-storage.c +++ b/hw/usb/dev-storage.c @@ -14,6 +14,7 @@ #include "qemu/option.h" #include "qemu/config-file.h" #include "hw/usb.h" +#include "hw/usb/msd.h" #include "desc.h" #include "hw/qdev-properties.h" #include "hw/scsi/scsi.h" @@ -29,43 +30,6 @@ #define MassStorageReset 0xff #define GetMaxLun 0xfe =20 -enum USBMSDMode { - USB_MSDM_CBW, /* Command Block. */ - USB_MSDM_DATAOUT, /* Transfer data to device. */ - USB_MSDM_DATAIN, /* Transfer data from device. */ - USB_MSDM_CSW /* Command Status. */ -}; - -struct usb_msd_csw { - uint32_t sig; - uint32_t tag; - uint32_t residue; - uint8_t status; -}; - -struct MSDState { - USBDevice dev; - enum USBMSDMode mode; - uint32_t scsi_off; - uint32_t scsi_len; - uint32_t data_len; - struct usb_msd_csw csw; - SCSIRequest *req; - SCSIBus bus; - /* For async completion. */ - USBPacket *packet; - /* usb-storage only */ - BlockConf conf; - bool removable; - bool commandlog; - SCSIDevice *scsi_dev; -}; -typedef struct MSDState MSDState; - -#define TYPE_USB_STORAGE "usb-storage-dev" -DECLARE_INSTANCE_CHECKER(MSDState, USB_STORAGE_DEV, - TYPE_USB_STORAGE) - struct usb_msd_cbw { uint32_t sig; uint32_t tag; @@ -259,7 +223,7 @@ static void usb_msd_packet_complete(MSDState *s) usb_packet_complete(&s->dev, p); } =20 -static void usb_msd_transfer_data(SCSIRequest *req, uint32_t len) +void usb_msd_transfer_data(SCSIRequest *req, uint32_t len) { MSDState *s =3D DO_UPCAST(MSDState, dev.qdev, req->bus->qbus.parent); USBPacket *p =3D s->packet; @@ -277,7 +241,7 @@ static void usb_msd_transfer_data(SCSIRequest *req, uin= t32_t len) } } =20 -static void usb_msd_command_complete(SCSIRequest *req, size_t resid) +void usb_msd_command_complete(SCSIRequest *req, size_t resid) { MSDState *s =3D DO_UPCAST(MSDState, dev.qdev, req->bus->qbus.parent); USBPacket *p =3D s->packet; @@ -320,7 +284,7 @@ static void usb_msd_command_complete(SCSIRequest *req, = size_t resid) s->req =3D NULL; } =20 -static void usb_msd_request_cancelled(SCSIRequest *req) +void usb_msd_request_cancelled(SCSIRequest *req) { MSDState *s =3D DO_UPCAST(MSDState, dev.qdev, req->bus->qbus.parent); =20 @@ -337,7 +301,7 @@ static void usb_msd_request_cancelled(SCSIRequest *req) } } =20 -static void usb_msd_handle_reset(USBDevice *dev) +void usb_msd_handle_reset(USBDevice *dev) { MSDState *s =3D (MSDState *)dev; =20 @@ -565,7 +529,7 @@ static void usb_msd_handle_data(USBDevice *dev, USBPack= et *p) } } =20 -static void *usb_msd_load_request(QEMUFile *f, SCSIRequest *req) +void *usb_msd_load_request(QEMUFile *f, SCSIRequest *req) { MSDState *s =3D DO_UPCAST(MSDState, dev.qdev, req->bus->qbus.parent); =20 --=20 2.29.2