From nobody Wed Dec 17 04:05:11 2025 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 80.81.252.135 is neither permitted nor denied by domain of seabios.org) client-ip=80.81.252.135; envelope-from=seabios-bounces@seabios.org; helo=mail.coreboot.org; Authentication-Results: mx.zoho.com; dkim=fail spf=none (zoho.com: 80.81.252.135 is neither permitted nor denied by domain of seabios.org) smtp.mailfrom=seabios-bounces@seabios.org; Return-Path: Received: from mail.coreboot.org (mail.coreboot.org [80.81.252.135]) by mx.zohomail.com with SMTPS id 1493216345079444.5568504866652; Wed, 26 Apr 2017 07:19:05 -0700 (PDT) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1d3NmP-0003Ax-Oj; Wed, 26 Apr 2017 16:18:53 +0200 Received: from mail-ve1eur01on0129.outbound.protection.outlook.com ([104.47.1.129] helo=EUR01-VE1-obe.outbound.protection.outlook.com) by mail.coreboot.org with esmtps (TLSv1.2:ECDHE-RSA-AES256-SHA384:256) (Exim 4.86_2) (envelope-from ) id 1d3NmC-00035K-02 for seabios@seabios.org; Wed, 26 Apr 2017 16:18:51 +0200 Received: from rkaganb.sw.ru (195.214.232.6) by VI1PR08MB0845.eurprd08.prod.outlook.com (10.164.93.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13; Wed, 26 Apr 2017 14:18:18 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=TWkJletDiEGEx9acuuN93uudvxQahHExvwfXMu6o4sQ=; b=C1ZNChrt7LzC/owPxVtPdjA2qH5gHx+P8PzF9REF37CuEnQIns5aJHCO+EUySXy5pjzFk827NBBp3F4TCrJhYPuRUR1ASKD9wXll2DFfDmHq6XwlUKQ8SWmZ+1SoUd8GML3NEt/zY05dxZzLbb3DXicHLx5V1yhZSJeyfzX6IEU= Authentication-Results: seabios.org; dkim=none (message not signed) header.d=none;seabios.org; dmarc=none action=none header.from=virtuozzo.com; From: Roman Kagan To: , Kevin O'Connor Date: Wed, 26 Apr 2017 17:18:03 +0300 Message-ID: <20170426141809.12661-4-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170426141809.12661-1-rkagan@virtuozzo.com> References: <20170426141809.12661-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: DB6PR0802CA0047.eurprd08.prod.outlook.com (10.172.252.161) To VI1PR08MB0845.eurprd08.prod.outlook.com (10.164.93.143) X-MS-Office365-Filtering-Correlation-Id: ead765cb-da51-46bf-5352-08d48caf16b1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:VI1PR08MB0845; X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0845; 3:2MQDPS/bDgfSULV4cPmCuY62u4tNX0OKvAn2pnkbY4FO0B6pray+K0/mvp1Lc/DkmrXAWj25v7wIi11bhONgTw0Qlvk6N4hPnrnEcotfv8Jm43UMmxpeRpF6wj+mwuG+oaUfCYpYvZY6nKXqjA8EAglZOESqtaT03GefvHpITNqAK35R7vOEFo6mo8dclJcwC1TXtJvNJy4+fJMCRqdHMq964EUCSAM4sBxDLafk4ViSRW43H8GCGe4bh9Oauk2z8sdL4Ukryerv1WFFIRsuGx/YPepcyjEBC8iR+82+lYG60NsvrPbRYlXTP99nlYZmQSDvEje7gkEek+xb0jd17w==; 25:L37PqbEoGLnJ58cxIyLKMJGqO0MDGgnVA7ZgD3VGF4ZqeT4oIez+DIyUJukq/XRDp3qiKbfbO17YBOxz7bV7/2sfSftPUfh9XY5sNwnEN2GqGp0/hj0Eu08/BpcgOgMyMcTM1tr7Vt9rQjCTIk8uKv11GkMopH1f8beovrWuzlOZGmbY02PmEiATVacWciePzzklM1D1K+Y9pvcuGw8SvFuPbsHmc9aNjDhtsPUpffMOgIg8twnumbBGGzcJRAXsVWIkQ5UVXu8IKm4ZCp7CA2XeKN17un/sygo9v3clzWMrnfLZEqh5AVyS3YDrV2XwxTCJ5uy7frT+a1kcUP97tBQj4sID3JIJV+QavPMJ8GBm9Nl670DRDeiUrIGBVq65zBvRXBRifRDNX8V+77PscdIFvSMw6qzAHYRTOgkem7ZYHEE2QaoqCjoQNjk/nwHEnIRsmNT1a7ihcNhwX2k/BA== X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0845; 31:/TBC84Agj04lWCYnLUHyVmQsEVV0HvuWVWgetO44bQQdo/OApLsYG4PqT1rH9bHuHYcM5+PNcOva4yKNgSzKUmptEe78Se/Cg7abXMAOV0lGf3DevIewILTmEoDt353F63ppOyBkqC38IW1kRzMGTzVIwxrlXo5dsuh/l69qHqpJo71erBOOh+tTxxFre4MCdAWnVCfggnnjFuxOzBpRg1faux95CxZkIrS4rtTOA7CSUmjxqz6lR9aCICTrW4Kb; 20:y5UP26l2LX9Qw0fQjNBYe5rdqdolwvB8SsARAehdMskGicchZDvtU+gO+1970/rc/+Kzz8906BXTPQvp9a9L7d9dtnBMHGmr9IhiWbxXOGkAL95iUWpLj4ieg8RhmegxHosJuqbgjcBfO0IN0U8/vL6xw3pEbl91l5+6pOr0PDx3PlQM0bIDwR6jWTkSXEYwa3zJ3eA9MSX9F/V1pc/3oftKzJmnz4HZThGf7bwbnYtj1Cz1ABJUpHlOZbnfJjU4WaCqaBWTjLyJ1aEF4xu3KfpLIC1zGkElNhKsW3M0Qg/VGdcYkOdMJeOEgQ6+le7U/Gtq/hdxTxF4hHowFJSeOIKvtL6hri/+IcOL0sjGOuYj/PeUACqggzmQnEl76GVef9FFwuKLeH4gP+Ox80QTanHUuWKQ2ZktCHedp4MGQnw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(6041248)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(20161123560025)(20161123555025)(6072148); SRVR:VI1PR08MB0845; BCL:0; PCL:0; RULEID:; SRVR:VI1PR08MB0845; X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0845; 4:BygbfRwOw+wqiPqmm4k3YC7H01XK/y8RtD1cD9jcUOcCD2VYMAYJv1lpyA3dygZC+HLHjG1oz5LFvZhVxtO5KHe+D139gdfgPTS8wg2VU72p4Tqo5FypF7Bap75JZnQliXYoby+WpS1ARoOCc4ZjYQTAPhCSIU8i0QTnbQi4TyZDYwciOeG4qupwqsD/LZ5j4Hj8Gf1B851QvP0Q6khRNh3gAqt2euG63ogYI1eOdXW4EXOfaICgMHkZGzYWA9Fx9hXBz0xuxEDIVX9g82iFSA+m3UQldIeu1HomF6U8LtMkmSlBKDTNOMbFBxAmWEKp/oV8uY9n1XBYDHRTkbYhCYcZEJYzwcmEEa5I1aYSfRgKr/6qCeJlKCNcs4Rib35FhtEihVl59jGXeZYBQ8K0B4u9FL0rTEXbwL42K+fLMG59gLXsNQkEIKR3dmhaepACMKfQdu2sUvo0Edyc0plNp13GpgLwE9+NRzSF4+wPqEwWaPEE1NjSjssTgXKIMmrdwoG6JnpY/KIcRNAXh7RFB3u2qsRhWVzPTB/CcLXIS3vcXFF+iJUwy/hb5Z54aHyT0Kzyj4tf0uA96AA01JDSV5BWXN1v3OrrCfZLyBoDHcdctaZDGZjsrjsy/e6p7oarftMTERJ4TIbGSwRWg9ZFWKrKnk8jzkyrJs0N3sIDpad7sMOjTppjz+TXyH5GcHXOH0Tn6+YU2PIycVWhrXt4hA== X-Forefront-PRVS: 0289B6431E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(39410400002)(39840400002)(39450400003)(39400400002)(305945005)(7736002)(189998001)(5660300001)(8676002)(25786009)(48376002)(86362001)(53416004)(42186005)(4326008)(2950100002)(38730400002)(81166006)(6666003)(36756003)(2906002)(50466002)(33646002)(66066001)(50226002)(6506006)(6116002)(54906002)(76176999)(47776003)(6512007)(50986999)(5003940100001)(6486002)(3846002)(53936002)(1076002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR08MB0845; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR08MB0845; 23:GqoYz6jqvJsqXoEBURxIIz4sT3ViZDY6W1QEbKwKP?= =?us-ascii?Q?eVn7o0+FDfDe2hIeONxbhBmxPCHcRtCCXdUOaD8PvWE9/nA2dcim1h7m3NG9?= =?us-ascii?Q?pP3uQeQdpaFsBkzcs5WXORLLKRF6mXyuDJtcdDbBqfHwUnDy8724LwxBMG2y?= =?us-ascii?Q?fxVgfqbEQ/2t0wLgQl1p6gaPRDh2Nv2HzkAkKm8YKtPagl5E0QeTXdhzglDF?= =?us-ascii?Q?VPq9y0UDZtVAOoEVOh1iET1998pFljrZnnN0pHozCouVl8uUBPLDgfgSJhoC?= =?us-ascii?Q?93WVdKMKbzLJxgpfSkMSsDtidDVHevOhH1fE8mx2wABJEw9G/N3C/cED+VUO?= =?us-ascii?Q?XD9q7jic2Sr9dytiyMdTI8rNG/Hegu5Le5tH9rmIsVPUbwrMAFcfIE+NCvsp?= =?us-ascii?Q?TBeSbMA9h5px8dyG4URX+foiFxMj/4WFX6WrVx7PcLtUQxLqlGeYgWoldekd?= =?us-ascii?Q?cQfplxJu+wJu6HTr/z+CSB0BYhj/iebEwomfY3wHRWB95uvOatm8FyaNnWHR?= =?us-ascii?Q?h1TUe7iSzCoNwXHsCnT1RsEVQK88zQo9pSO/ckkKFsqCkqkNpSliNUpupmJf?= =?us-ascii?Q?oDDB/vPkxyM+scT4SLgRxmxmk8Eejo3N+YRCqVqBgP7iSrNflRpqDT9N29eH?= =?us-ascii?Q?wmnlgpj3eYz0WCof5xv8AyUrHgtR4usVx4+1GWE6LElhlSXwKxCkFli5onyl?= =?us-ascii?Q?cLDleLufwc6PM4nLLCcfAE9dom9Bd08XmrjOBzFWleQVTynDPRI3ZUmbHELO?= =?us-ascii?Q?FP8IRS6jNyY0uqjvruYYJxOJ5aDYvOkjnMF/dlRaNzi+gSE9t4q2awwz1I8c?= =?us-ascii?Q?jBTOBst+JpqGdr6c1l50Ji3GiNy2k6yDdjF4pJz/uZZ1RkGfuHIB9/TVRPLQ?= =?us-ascii?Q?m5/aVOpUG6bvbmbh6hdjNL5mKpR7FYbu5YmI/qkSfmBMJ7Mtq4uFhhnSwfMk?= =?us-ascii?Q?3cYrJa+uNyUySRUtYkG2r1HJszeJREwwFJFKbKg4+08AaFdn34N6IRz8ue+V?= =?us-ascii?Q?o8=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0845; 6:XQBI/tyQA2zgqtqNQYrS9P5EAFNJMrrrGiF2LZ9Dq7bctclfn90iuDTrz30MQhaUvOBHyLK9NLEOoN1HtHgCWe8l7aUYZG9jE6zYE6RV0gkeZlI/OwJVTNI04HK3QcDSAmt5+l/ZF4uTkn8N2xY6GlgeiuAamIoHfRgo9SBSYN49qtNq4F+lMUzn+HZg0dntBWet2BTTtxOHV4pEzrckKuividHOcwKFlXyvdYyxd8u8CgNSRrnaQ68icew38nevLVNKjGM9Q1X9k5fn63fguP7slQ8fo4eBwJbdoikuh5D5A16qRqGjXUvimwtqWFxAjerfhHIpFStrqus4yoo6IECzhXISX90dU60vgpVqZqTuvAh4eGOntTMnP0up+NrJNjskMxCi+3WVTPv4LlsEhtQxdSX/Jw+XXExh80HMBj6sqClNwdqIFWxn5Qqe78Jb2W10O+pSISh2gdGDwE+1ddYL3iOsaby8Mg+Fsw3WAolm93qdOtv49Ld7NNM9nPwuBI8XPCyaLB+e0CQTcVlJ6Q==; 5:ClnepBXJ8dwBfhq5WgII0eEpUQYjWluDOWvEqdDngbH3X280I2fdwayTeu+mHN0JIn0xWCL1vzUMM0QZfKMkVQi/0TYE3dmlPuPzaL5Jm3j2J+dzA+35HwNt2Ppj46+G8C1cL+F2s7i0ANHD7cgKSQ==; 24:eEqIF7VkcmpaqI1BI3IBIWynT/iK2hCIob+05EkYtPqvP5GCnDMUcUUySHhehMntmsYhK3oQG1lZOwernqSU1H+gQXHTQLeaF3v2YY4nJwY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0845; 7:8vmbx0wsVGJNtu0WibyVp7dSHaTKoBVlvloeS0r7e9uIl4vkvoKmSyTUoKjlgUzgc1cj/5Vs1h7C1r6P7zs0KX6sk0kV1JCOgB19Az25ETlIdnzs8qD/db5kyCRUwWRidvIJpVB0qUBTFX4JKLnCKh6Z0KQOe0iQOruI8Yisj0UYRmZ5Fml0MEbvDiG1Csb/U5vsqoAxp7c0AqJwMNraIHuT9Jmhg0cZjBg1o+Bo/goe04A4CwQitt7ktweBjO0UMG8TITc4RYbSShffLlD2Eiwx8hZOD/T6kbjmx4yn5kwagsramDVLh13RxHSbjXSEu5RTBJXvMS0K8Kk52UFUZw==; 20:Ud9U0dy/88uAGzJgDMfHBXG0mTCXlQpEM1x5oenkd0SJG1XmH6TR78OZauBX92+2lLRc2+YJEgwo2H3yCRFmrTiD1PP5pFbaNHykFi5Wlrk3KLuwRzgYXEjIfuDAMv9+NrxvjZMfuKf5rWcK9pfr/RMeP9RtPGL/k96OxmM4tSQ= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2017 14:18:18.7913 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB0845 X-Spam-Score: -5.1 (-----) Subject: [SeaBIOS] [PATCH v2 3/9] virtio-scsi: enumerate luns with REPORT LUNS X-BeenThere: seabios@seabios.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SeaBIOS mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Evgeniy Yakovlev Content-Transfer-Encoding: quoted-printable Errors-To: seabios-bounces@seabios.org Sender: "SeaBIOS" X-Duff: Orig. Duff, Duff Lite, Duff Dry, Duff Dark, Raspberry Duff, Lady Duff, Red Duff, Tartar Control Duff X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Roman Kagan --- src/hw/virtio-scsi.c | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/src/hw/virtio-scsi.c b/src/hw/virtio-scsi.c index 5fb9409..7490ec0 100644 --- a/src/hw/virtio-scsi.c +++ b/src/hw/virtio-scsi.c @@ -94,15 +94,11 @@ virtio_scsi_process_op(struct disk_op_s *op) return DISK_RET_EBADTRACK; } =20 -static int -virtio_scsi_add_lun(struct pci_device *pci, struct vp_device *vp, - struct vring_virtqueue *vq, u16 target, u16 lun) +static void +virtio_scsi_init_lun(struct virtio_lun_s *vlun, struct pci_device *pci, + struct vp_device *vp, struct vring_virtqueue *vq, + u16 target, u16 lun) { - struct virtio_lun_s *vlun =3D malloc_fseg(sizeof(*vlun)); - if (!vlun) { - warn_noalloc(); - return -1; - } memset(vlun, 0, sizeof(*vlun)); vlun->drive.type =3D DTYPE_VIRTIO_SCSI; vlun->drive.cntl_id =3D pci->bdf; @@ -111,8 +107,22 @@ virtio_scsi_add_lun(struct pci_device *pci, struct vp_= device *vp, vlun->vq =3D vq; vlun->target =3D target; vlun->lun =3D lun; +} =20 - int prio =3D bootprio_find_scsi_device(pci, target, lun); +static int +virtio_scsi_add_lun(u32 lun, struct drive_s *tmpl_drv) +{ + struct virtio_lun_s *tmpl_vlun =3D + container_of(tmpl_drv, struct virtio_lun_s, drive); + struct virtio_lun_s *vlun =3D malloc_fseg(sizeof(*vlun)); + if (!vlun) { + warn_noalloc(); + return -1; + } + virtio_scsi_init_lun(vlun, tmpl_vlun->pci, tmpl_vlun->vp, tmpl_vlun->v= q, + tmpl_vlun->target, lun); + + int prio =3D bootprio_find_scsi_device(vlun->pci, vlun->target, vlun->= lun); int ret =3D scsi_drive_setup(&vlun->drive, "virtio-scsi", prio); if (ret) goto fail; @@ -127,9 +137,13 @@ static int virtio_scsi_scan_target(struct pci_device *pci, struct vp_device *vp, struct vring_virtqueue *vq, u16 target) { - /* TODO: send REPORT LUNS. For now, only LUN 0 is recognized. */ - int ret =3D virtio_scsi_add_lun(pci, vp, vq, target, 0); - return ret < 0 ? 0 : 1; + + struct virtio_lun_s vlun0; + + virtio_scsi_init_lun(&vlun0, pci, vp, vq, target, 0); + + int ret =3D scsi_rep_luns_scan(&vlun0.drive, virtio_scsi_add_lun); + return ret < 0 ? 0 : ret; } =20 static void --=20 2.9.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://mail.coreboot.org/mailman/listinfo/seabios