From nobody Sun Apr 28 08:31:15 2024 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; 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 1488365191651300.2499568724994; Wed, 1 Mar 2017 02:46:31 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1cj1lm-0004PK-PX; Wed, 01 Mar 2017 11:46:06 +0100 Received: from mail-ve1eur01on0130.outbound.protection.outlook.com ([104.47.1.130] 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 1cj1ld-0004Mo-4E for seabios@seabios.org; Wed, 01 Mar 2017 11:46:05 +0100 Received: from rkaganb.sw.ru (195.214.232.6) by DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 1 Mar 2017 10:45:46 +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=K43+/27UOa3xzbOj0IsGY/jyE9Bo9+tiHWYjco9WQkM=; b=V4usBg/7Ad8xvDt/kb6CjNG3/oPJVP/jJ9vtCTXHsXjcBSUcJGrbgjmquRbbvcurBJUUoHT6TLw1Rtoyz+zsL7RLbw1uuFqAz6O3VOkONzdJEjbVLRKb+82i/KphJN6IZku05wKzipIsGoIYxIaWh1qvf2GwL5aF4qtH3FoCNf4= 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: Date: Wed, 1 Mar 2017 13:45:34 +0300 Message-ID: <20170301104542.7373-2-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170301104542.7373-1-rkagan@virtuozzo.com> References: <20170301104542.7373-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR03CA0038.eurprd03.prod.outlook.com (10.163.170.176) To DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) X-MS-Office365-Filtering-Correlation-Id: 4dadf8a7-fccd-42b3-fe72-08d460901e90 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 3:6Zu12aDCe4Rcsvzq+KN1Dvo/QVBnOwSOET5mhQ8u47bXCT5xmo2BKOcMrhwHPnYe/c/dA1Lw247qiGp4Tciovk+COEoZzp/vPoCdiD64op/Xo1J8fWT7JoJEWivJP1aMPzGYedF8tKNjTgCBZGCavW/FMpGf5EkuP63r0nC3W1qhp6dae6860u8L9jWzkvtfTQlFN30Z/kbC1TfK4vfKSFtMD6XF+06RSzHr62Wp6dwl5dVvcnEchk0aOotyCxmUE1PPppVKxwSpDJ2g4PQC8A==; 25:9V1KvX2a8VbusRUcCH+3PL6w4l2/r1SVDbxDsPT17PHaUJ9ONIKU3X0AWTiiIovXefW/HQ5beZyKXiX42tMFJArsdRyBM0dBxK23H+w9LnUHlzvI1WE04icO3ZJ/c7+rkIVg2Gg1tPkizEzuHqQ5934o9eomCLZF3czrMpJXtsIFHZqp3xlVS2cqfjKUJ0D6mGQvMSw1xZf8dvCMW+MEiwLLQ6mXzdgtCztvnxuIYgg/ONAc0XQmH+5HHIp8E6mqe223vKfwMjvxNH2QH5O9v+1OiFLGvavnGj8A4vSgkDMFpr8w/9FwLqBXy4WxKWh70++oj87uYZdR0feXNCdESVy0L2aWeuSquq9IK/3UlUtmOUamPCczzcNW/JF4eTSakhbG+yPyebMMZ8mZkvBVyi3R35f4c20UlRODWo5V235e9WdCk8rsAiEFRoDLhf6ZT/ZatLYwnB+hlIU9qzQ4eQ== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 31:bVsq9tIvPKKVrr4xUbuqlU3cUJzXi36N5HxddBFW17mjR09x3sqK7ilL53NdlLx9Mm2ZkXiuRRhhoOIIkoXmHUOeXRa9wLqBDSnNFJqKIQiPqdyM7qOr8IcG/f99WYTdC5FL+9ob6fUiTcmGMq+gvEdAIJYlsNrfCXGLs+HbDLDDa4AKYGzut4O4R9jMt0AvHB/crvehb3n16FGpovg5qeDv5AxrANnPldC2zESs7QGNhFaGE+DJ7iPQoD+4ISGlhRNWdPOQdDD0Y8ZWXK4tUA==; 20:tNRyha80iDhU9kKb8HP/VFczy9oUkdpgWbtLAPwud60DXL8mGJEEdl2bRfK+CFOdmjsqsC/qqJKfWFmWN/OeGltCxd+zenorm2iCYqHtPztXiE3H7aOz8/trWsifaKHBlLvY3zGS/NCsttrHJpbWAHiSIKg8XC+iJJxa/jg0U+gzjt4M7IfrU42cyEvIH8fEn4fUPOhKjUTtK3mxDfgBwgWqsnznzL8Xj+4d5Y5YuFk2hfP6EaltYjDO2TDi7bbeMGWIztzjR6cTzSVbdtDLUP3juSPDJx7stl4g1l1kfKE6NpZGYphHLTDxSu3EG3mPJ8ydCdgai4PFdXwy3teUewIJ12XzfGoIoT7THvTV0eiVw8tIT0vQS5BKbmnYa97jQrWfNgpkSL1TedXz7SqCvMcav75cqd+Fri08OOq9PfM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123558025)(20161123560025)(6072148); SRVR:DB6PR0802MB2469; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 4:RrNxLKn6gO0d74R93jboM1etup7aQQMcPKdHowlkE9YuY1ztJQlv+qNgj+ZIquswum/W9GvEzFO6S86n7mSl5rGKsdztcR7CZ6UcabRFqc0UeyZRE3+e/fjyyQTM2vSCA69JJ/Bs3CWwWp8r1IomnpR4cfPxXqOsf9W+81SybOk44wKKFXFTmHN0Kq2BHzOaMi/4pVE+sZ6epezaWYFn77uUXFCXMpUDMAh6GLHfQ/gpvGJEY2WJUAs2AkMm0BUjZXbTxvWq8rjDuHAN9sZhpmKBJSAcTHIFwr07pDZ9D2jXGHlBXc9/Dbx5CSysqKd/C7mgTAMDVbULTWJNZN0mk0aTGJa4cAn1gDKCHBHQ+kK5P/uzCJfRcK9Xc4jcIGxHM5nCGdbI2Gkw+97aA58mb9GCK2gTZaPr2RgZZ8cd1OGStbDatz0gqo4LVPs5LZ6tXw2a5cqCLXS6QU4LpK9sWpWGii+vSzhomQ64ZysDHm2dTv9TJKk/eD/+XUH2ZtVN7M1qVOh3VM+RfG3LnKo39h07Av2vO3pAocH44K3GnCueJKHw1LORWuj3ItDXfveeAgAG3SOFisikKVP6a7uaxN6Ci/jtyvyNck10plHsoWw= X-Forefront-PRVS: 0233768B38 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39450400003)(36756003)(5660300001)(6486002)(5003940100001)(50986999)(76176999)(6512007)(2906002)(25786008)(2950100002)(450100001)(1076002)(6666003)(33646002)(6916009)(50466002)(6506006)(2351001)(42186005)(38730400002)(53936002)(305945005)(66066001)(92566002)(81166006)(8676002)(86362001)(53416004)(7736002)(110136004)(189998001)(47776003)(6116002)(3846002)(50226002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2469; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2469; 23:olRkYpP4LnAf8eQIgfJL7gzE1TX84ETlXHio6TM?= =?us-ascii?Q?HPsoIC7D20wO1s7aC2GEfQOgRNZIrN4VxG1vg2mjuRVo7UGYuS2GegDiQB6Y?= =?us-ascii?Q?PEZLZzOqFRSwXg+Dvxthbqf54RL/SfTLOAfAVdmAT5Hx50GIXncle79KjcpM?= =?us-ascii?Q?3ttmHUUGiSgvoG44lKeAWAcjdA+8qzNuPvbnKNWkOUng6eWoRXVT9C7KGGZM?= =?us-ascii?Q?adX8fUo5TC7Cvtq2we7KjzdXR4pK/VI0BuuzXYq/91SuiHr4nqPpXA35SLFf?= =?us-ascii?Q?Ys2cwwJrn10+7TLpky9+/pOfzj2Ekkl7b1s4+73sOlK+tZKLc60t/tHoY5tz?= =?us-ascii?Q?5zW8DMVKtRxBL/CESiHV9twscPr1milQyAWYWfO+oRtzNWJCdHdz2EM5+Lfx?= =?us-ascii?Q?Ihl95qR21MEmzbgY8/JXZVUIECnfR9orrjoHxGjdtJKPxht91P5Z3W0Lrfzt?= =?us-ascii?Q?uD3hAFOf2WM17kxKC5fguxEcTPcMWvDdrQ9ld9pToPgWmzDwJV34vIhlIUJg?= =?us-ascii?Q?ng8xoojBHNaszIC4UuEcBwVMdPzUqOTz5KSCDy8ymtWo15tjqUY2/3pWQMaR?= =?us-ascii?Q?t06DyzJSSwsebbni9jtLrlSmLTxUziqdAoQx9NzZsqNGJuK9sf5alTz8NN3t?= =?us-ascii?Q?OZLi1YlZ0AbFJ4AnBMcdmvzA+CjFTHNzG2V+ZRUfWd3VIhATAjybQYF8pgte?= =?us-ascii?Q?FqDn1YkmXrvIxTGR7+0AjvuaFibNVjaTUWDY+u0lRTjIq3cVARaVQLuGertj?= =?us-ascii?Q?iYj9M11UMKwfIjSQuFWzQ1SDmJ0KL/Jn8ikjGRLKLxAnW45WFNJa0/XzML5n?= =?us-ascii?Q?0dZjKZSBC9cGA7XqjUW+pYqHlrZAo1Jmkch9qfVEt2kXM3RW26M11SdVTt8j?= =?us-ascii?Q?UYmkqqsTBIBQoub1gBCjoDqPeNMIXAwf3SMTXLJy9MrcznqMrn5sjq9SfJ52?= =?us-ascii?Q?nu3ZkR7ixeausXb3gcQxwW0YYDkgKtGuR3J7Ptj2XkA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 6:ZlpKV9ahMYWX53wCEVjVsfQVKTuEgxiHYvybXMfl3W6k3XQAR7zgZGMiNbr1eSEtRzoMyuHDRDQ0Q4sE/LGHnWEhEOAWcw9b3HdLjXj85+hBI8F8FJlF8zcTLmKGUEl4U+Q5DjJyrEsBjvrma/tenMT46z2McQISkEA1Ra0FWMBBihcHxXoKcioX/1IIwAD2ft/ll2Aly9EsK9DMSkqyQ7aX8gh0UMRADf0FMx7rDuDwgAL8OB4Tq7oni4QrdAeX89Rn49wOmqpf/Zlmn+r0CICtXsJ+8mw7uj+mjZeSvwKc4xT+MN6ULIT85Xi6R1077hw5moPr5RU5xJiJ+Gc1NjNQeUPaQLAxiOCowD02J6p0/volzQqhxZTPqhyDciHg0lEjFol14wwWj9fH8nr8tQ==; 5:09UMZ5Nn8poBLF1W5r8uXLX2zS2v5yCjQSAjidd0ZBDZI8Iap7Y6m9lz0xE5ukZZeUCvViQDV51PXI7ivfiV4szR3mnjGdhNzTc3U8SFBkIHZwdZ39RdVvO51mGK9jHmjFql1BV1PWDcDFPPlnCgaQ==; 24:liDPHkGielaiN9O2rfx25/Inn9UDNU6OkQ0mFiSCFyMShzTm9TAUbq0hjro4/qpGASjB2MQ1fsqeGeaXcf0awx3+tE/y7tIStpxjzQnZEjQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 7:zB5ny5dZe9Ucc+qCaPvEZGDv4ZAS+qeaqIc4db0+YEDhiGH2WWhux8LkJDWydNVMkz9Ez9q70qFH2w+tY0fxh5ytwrbHDxBa0sBb98lhpLEV9ivAMEpMIr0jmAZOW3aBzZEK/g926uQy3NOkNnAl2fCsts7yIRTUYuvmOdYy4JnZ/Ab+bJ2P6k/EK6w88ImLqAM+Xr0Vr3kDRlUKHc9+HvNX6nHjCd6SWKJDDLXBKtGoMt4kavlMs3Gp7m4ELjZQB0IbV7iAzBYVSGVXC0C/LbNsaiRdbTTnBhYE3eL98ygLYyuNeWG8HfJfFZ4EcvIk0cZt9w3D2O029WOJcLee1Q==; 20:9cKWZuU3aZxDc8bztNCryLOmzzgkOv+TmxHaN63vH/Wo5s2Wnmhe5cB0gN78ZLQsHOppYG4PbcyKWhw7gQlqTgacSr3ppjCNzTfZ0WqHjEebMqUTMRY//EMcuYFwh96sMf9ujxRnNA9NWoTb8txi2PXfcZFHW97NxNZcLNwWm5M= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2017 10:45:46.8076 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2469 X-Spam-Score: -6.6 (------) Subject: [SeaBIOS] [PATCH 1/9] blockcmd: accept only disks and CD-ROMs 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: , 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: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Luns that report to INQUIRY with a type other than CD-ROM are considered disks. This isn't necessarily the case; working with such luns as disks may lead to unpredictable results. So bail out if the lun is neither CD-ROM nor disk. Signed-off-by: Roman Kagan --- src/hw/blockcmd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/hw/blockcmd.c b/src/hw/blockcmd.c index f147100..5ad128e 100644 --- a/src/hw/blockcmd.c +++ b/src/hw/blockcmd.c @@ -217,6 +217,9 @@ scsi_drive_setup(struct drive_s *drive, const char *s, = int prio) return 0; } =20 + if (pdt !=3D SCSI_TYPE_DISK) + return -1; + ret =3D scsi_is_ready(&dop); if (ret) { dprintf(1, "scsi_is_ready returned %d\n", ret); --=20 2.9.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://www.coreboot.org/mailman/listinfo/seabios From nobody Sun Apr 28 08:31:15 2024 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; 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 1488365183915674.277921350339; Wed, 1 Mar 2017 02:46:23 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1cj1lp-0004Py-I8; Wed, 01 Mar 2017 11:46:09 +0100 Received: from mail-ve1eur01on0093.outbound.protection.outlook.com ([104.47.1.93] 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 1cj1lf-0004Lp-QV for seabios@seabios.org; Wed, 01 Mar 2017 11:46:07 +0100 Received: from rkaganb.sw.ru (195.214.232.6) by DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 1 Mar 2017 10:45:47 +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=u/un2TnaBZYXe4vRPCsWJr/JTwiHBkz1JbPqEjV/DR0=; b=JL2U3meVGN4jKXecSySSZQGQebsKSxsTdwwbFKj47uCF0Wo8deillgnC0CdroHuc6yUifiUIcxE/1FjTweUh8Z4SGMIBaWAWZSFbBNlburJGsrbMRJ0VfB8YaKciILtCE1SZdRZMse7uAX2CVC6GesXTMkkktWVKKrygsgQxTfw= 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: Date: Wed, 1 Mar 2017 13:45:35 +0300 Message-ID: <20170301104542.7373-3-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170301104542.7373-1-rkagan@virtuozzo.com> References: <20170301104542.7373-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR03CA0038.eurprd03.prod.outlook.com (10.163.170.176) To DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) X-MS-Office365-Filtering-Correlation-Id: ca9ea7ae-29ce-4d22-7b10-08d460901ef5 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 3:/YBWmQlRLFecjTJYrAm9clzmZ9N7JRBrEJiZAOLuS40IMqiTSczZdt4FvfnZga25zqnt3a3udRHVm4bZm/IdWxS1Z3sXzCL+hnm6RTvqOsw94njnaazJWoWziYI/ePZQYv8ivwIE4/VYv/IZuMHPDEEDM7yzcoa2+sCM5P+3wc/UkhpRv6cFndS+GOL2p1GmamZVeAq1ygtG8oN9OuSie5WcF+bcyZWcZNayOzmi9/zwXRHnsop7XVQt7+IpXqvm1c2Re0qy0MGOxNjy/h4fQw==; 25:mU6d+dRIzUCe6Cn8mxdTGFeGmek/IYPWiTEQJNULmLgY5v7jC/7ee49w8tklYO+XFvsZxKEqyOQJS/UZjybU9M/SuFuaKQVZ5NFfpKggtnZeRoYagiOxyM1/AQdmwF5RXiW0nLKwSQIUrxNYpBJ5MzFPAwsvFN6L/5AMQjI002MjUgEtTLIDwnaHtpQss9ieE9DJfwcR2W5xAkZpvfR4Xdz2l2lVCdxYM5mVZ2kBJ2uRDd87GkSSDCvAqe57F4f6mcV9afj8tQ96k+cYxkb5HE31ftJufIPBfG4MLlTOcJCiLzoZMQFUG9HZKibUq88ZOLuoUMibQ2J3zSMBbXcPAbijYwXaACp4G6fmbN+k9vY57U/It5hWVkVAfMPDoNwQQ/MgJKL1ONLBcvxfsoci3r4cTHdDRUXV1Vybk4SL5R/OkTRUnTppXZR83t35knRl1goJ9sgHXsavs/ykhfrQKw== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 31:QJe7KJ7PbwbDRQuE91uag8C25DbLNGeoLclteHw5p1BoLppHiJfaDsfTgKhyPUh1wcNXMURstMxiqm6nDI4B5HiY3W/yQORW5DwouNnnfLrk21pEqMvnqgueftJdNFjyjYthAJTPYrXl4jqScSRlIZ5GlPM+UHZkxt0lMY2LlKvMp9tnNGgjxzvFjqWyYzIFq1LRiLHlQlC7/aF/DZ0SJ2prI31tcEQI/rh8EOrJTlxLrfx++7SgymqHMimtmcNjrjYVgXApXwN+47l4DSnIIQ==; 20:TEd8x9YVfyBlLA2A9Dq9XX6hGKdRNN3VhbLgFuA5wD+tzveIowRdmO1Ucr9qWvlua9GDEpQ/YrENZThmuB1sxdw/kWdsaC81B4rWn1dUI+rz9pz/ajkvua4rk6MEBgl6UU/y8S1Y6nmAUHofy4DD26I6ZIZhXDBbLrPrDia8BGxi5yX2Qukt5PQpFAGIeIqAm9XSMKoWWSID6SAid8dW2tV8DpRW9wItjdbKjbtWMuIzqE7rTMtoE3T1glGTzJzabalxErczPQbfqLY0Hhfnd7CnZwWCmCqWJi1e3MzdyWPoKbDRxAOKltXcMbYDqo3xDkSjMCwQu6X/YkNcnCW627dyM/A0xCZoqHqb2vQksOPzsvN7fIAFYP9i6Hushz/W09c24pGdhAnMwiknagyRoeX1R/ZtpybgTJE96YqjC5w= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123558025)(20161123560025)(6072148); SRVR:DB6PR0802MB2469; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 4:z05DUQg87HqkVEpPVuy2vtFpdaTByOL7A+/6eoTcqoK5l22VvVr53u6pRmzgk8YHeKXwOEejeK1vrdIXtGv3+t7rnvsY3cWlcByCkoH/jAdSRGf8er9VlJPt4wRjc8/89A+XAf0xHN0u5iZ3KE2aLsH3GOngTfQMgWLUgnirthHPXWkNkhNOsCkWoyglieRtPxBrjkiFrF9mnCCnOSoFFuiapq3OIoLkf6eGX0rHTuGMLSezxwTV0YvDH/dkbpA9grps3K2KoXQgwZRxx3j9NrmqVLyT9yh1C5gFo7o9+BYCIqrPbFo8sKiyK0Y0RHz5pTOVSYmBl9+ob36NZaqTbfzuIQTop9YkCpVUAChxgBG0fIIT+jDBf4eWXHIb77i5DIRw54SZDiQJvl76lXDdmSpcsi2NR1U08l5e8/9kAlD28UwmfhuV7PdaQkfeuNshQ2Vh9byu+2YwOjRj75aLOeOjAxCvbXzLA7VKs8X9JX3mUPsMSsjH3CgtXoO2lPkeuIfkVFyi3ASGIzvQ+axIiVSMDcOzGCnhrGGTOCkKZ6NP2lRjIxJ6YGLbbqrrnr1wCBhS/Tond8QQETMtRrWJCkXWlaeneQcS3Vguztcbur0= X-Forefront-PRVS: 0233768B38 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39450400003)(36756003)(5660300001)(6486002)(5003940100001)(50986999)(76176999)(6512007)(2906002)(25786008)(2950100002)(450100001)(1076002)(6666003)(33646002)(6916009)(50466002)(6506006)(2351001)(42186005)(38730400002)(53936002)(305945005)(66066001)(92566002)(81166006)(8676002)(86362001)(53416004)(7736002)(110136004)(189998001)(47776003)(6116002)(3846002)(50226002)(41533002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2469; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2469; 23:j9VwUFJ/IJREe1g7IRWjZUHIRdEChvVNvpW/Q6s?= =?us-ascii?Q?akWiUusyODks0505ynUq+ZhnYZ+7DSiv5dDx8vZVvzpxB+jlqAkWLz3UVsha?= =?us-ascii?Q?MpblLgnT0CEQ9avOviNDfsCzCB1DREO8bhewaSYtlh4Rd4XYlXv1RtvoNqAu?= =?us-ascii?Q?RAR3gqv/Xs5ZuwcY+MW4kh2UcKEypUzNID+m4c608Nx1o5CpqHONrn9q++M5?= =?us-ascii?Q?Ut+6pMB3ypVr+/WsQnudhhZRUHnC1tLmB/ghYBvfJasp1RFaIsjUEEu5ZHlw?= =?us-ascii?Q?zI95XkN8pXI8isQdxjPut4CchTFNmZ7S4aaOLR/HKpWN214d6V4wlLq3Sylw?= =?us-ascii?Q?JJ4iY8eJDJv3uqHKtzc/1xcoWlgwqCtPHVqnUpUPCKlp/y6yTC4lt6cZ+yKb?= =?us-ascii?Q?TIkNRn92nTsNt8XchEhkY3ObRStGoOmhG8HtSU4K4ofrDuZyulZH9Zleb7RB?= =?us-ascii?Q?i4b1If9cfs0MgqzJEDGQSmcANQ02KKPERaGzjZbMbzwrUWuqVvztdlEjMWLe?= =?us-ascii?Q?xNREyQ/9Im6TX+u5IDLiu+oBDXz8+C38sbzCksNcCcBIW9CrSw6sK21q0daq?= =?us-ascii?Q?ezz1C5+3syrCBehwFPIb/gjrHviDQH7qaOxthhSHxkah60Y+wqZjZ+ursXwK?= =?us-ascii?Q?IFOdvJVgP3cXFDEW0zD4HjfBbKczHxj9CKFIcmwSw/wd24yOtzHlcWTSWI8a?= =?us-ascii?Q?A9UDyMcQQCnMDwWWgmbpXgnLutkUcwZf+X/kblIuQjEPaLC9uBeSlJVWsxfa?= =?us-ascii?Q?0pWoEvr1S8ju3/KKt5c7wQOjDeKXcWzNttEoUv99IGODHLSkOOXziq0rCP7e?= =?us-ascii?Q?R+2KZKYwKgkkYWguVetpH2UpBuyfqdC8RzImJ698yzUMro++SX87U7aCw/D7?= =?us-ascii?Q?vNJlGsu5R75x3jfIA0aPdFeTcKb+vbMaBSClhZBygwx9hOqXR0CTn/J7EUz7?= =?us-ascii?Q?Bt5uWOZk9l21F2b7QxCKpO/2XZlijnWJobbct4Uq2a9FaUyuZwt54kZLIs6z?= =?us-ascii?Q?uO1s=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 6:IAfGg4El1djI575a62izOhOqgtp+5PoHaNtziiXmeFZ1AEGvluwqYblHqbFstDzmFKBn6FYS09AHcAfaSBrgg6jB3E7QD3FzD/7stKt5BuwehwdrNKBVNvkO0HX/uk+ZIMQMKPH6OL5N84p3jhST3dp+j4txIpeTdaKhg1HYY7hMkcJyyywzZLUkLUumimOwtRNhj9vzew9Dy18EZPbm7oywyFDDpiI6/US46bTMX8b5sMMqyVEFv1AU0loXGmSbEr6o5XIt221mmFriQCO/NaPwjMlHcgeqyH1IQ0S2f+e4rh5pmOGk8zdBaRsi8sQC3depwp7CZdrC3KWY7Qcz2vC9cYIlEM0Q2fuQMbZBuSz4h9kvaDDf2kRra4vflvtDQB1Ll+JlED9pELPty7hxrw==; 5:wt73/iOta+WNsiJbgmkpVLfLDqr0i3YSKJEcONeT+IaBdKPrO5FXspBsxBsWUIQMo9gMSMvXMIHXeULRs8mxzfAPsQMRWR8yRzE0ggkarEixcF94zF20D0goIFOG94JjLJt9V95XAz5aGXOUNtq6Sw==; 24:zGGTypiiZ4uz33xPZXfL0z955E6IebRLpi8a5ENcbAqsXKXCrawcdDdIdOuNEtVTAxGALxQptfXG4Ue7kQKg1qEwFhvr5cwTe+37E8vm+ss= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 7:jeBWcORNJ69H2tm+wbRwmfp7yusN2UV0+vbwIsmX2TrjXNb8Vaj/6a3VyiXwKtyr2tHdn6/c5KDq7XWfATWmAh+nTCLB3PwUt0hFqvWFADBi/bkIomD/e1M75iZMPWyTYNs4WEMyUB9ahIXMrlQjHjx7Z6TiO0vzurbHrJCNueH5HDO2mE5qmHN5JESFItK9UuTbKp7/TZUT9YtzAt2ntj3aVSkOV6Jc6X3p78HkIS/TpHqqMUAexG38jPPSMIR0esFibuR1WtkNjoPyY5VPdb9t3iixqeIe1XpxZ3lQIDA/Xh6whcguFOo1uiBGpsvhcBpmKGGX0AmY9qtmtTXBkA==; 20:6/JLylLpCQEl/4PNj1WpARGfKU4y4K1w3VR/5D4jE3ZH/wN3PCGcLOlKB+hTgohqfMtZR/D8Yu7eIxNf+5+pZ8sTDoBXZnbseJtwt3AVMe2EIegEi/WgrkL8Lw73ncEOfe3JiLkvyrKBUa+FrwowiF9X8IC5C2PLyZ/pYek8tJ4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2017 10:45:47.4672 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2469 X-Spam-Score: -5.6 (-----) Subject: [SeaBIOS] [PATCH 2/9] blockcmd: generic SCSI luns enumeration 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: , 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: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Add two generic functions to discover active LUNs on a SCSI target. The functions take a temporary drive descriptor on the target, and a callback to create a new drive descriptor with a new LUN using the temporary one as a template. One of the functions performs REPORT LUNS on the temporary drive to obtain the list of candidate luns; the other sequentially iterates the lun numbers up to the given maximum, and is meant as a fallback. Both functions return the number of successfully created drive descriptors, or a negative number if an error occured. This will allow to lift the limitation of most of the SCSI drivers that support booting off the LUN #0 only. Signed-off-by: Roman Kagan --- src/hw/blockcmd.h | 4 +++ src/hw/blockcmd.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 97 insertions(+) diff --git a/src/hw/blockcmd.h b/src/hw/blockcmd.h index b543f85..f18543e 100644 --- a/src/hw/blockcmd.h +++ b/src/hw/blockcmd.h @@ -106,5 +106,9 @@ int scsi_is_read(struct disk_op_s *op); int scsi_is_ready(struct disk_op_s *op); struct drive_s; int scsi_drive_setup(struct drive_s *drive, const char *s, int prio); +typedef int (*scsi_add_lun)(u32 lun, struct drive_s *tmpl_drv); +int scsi_rep_luns_scan(struct drive_s *tmp_drive, scsi_add_lun add_lun); +int scsi_sequential_scan(struct drive_s *tmp_drive, u32 maxluns, + scsi_add_lun add_lun); =20 #endif // blockcmd.h diff --git a/src/hw/blockcmd.c b/src/hw/blockcmd.c index 5ad128e..eeafb63 100644 --- a/src/hw/blockcmd.c +++ b/src/hw/blockcmd.c @@ -13,6 +13,7 @@ #include "std/disk.h" // DISK_RET_EPARAM #include "string.h" // memset #include "util.h" // timer_calc +#include "malloc.h" =20 =20 /**************************************************************** @@ -181,6 +182,98 @@ scsi_is_ready(struct disk_op_s *op) return 0; } =20 +#define CDB_CMD_REPORT_LUNS 0xA0 + +struct cdb_report_luns { + u8 command; + u8 reserved_01[5]; + u32 length; + u8 pad[6]; +} PACKED; + +struct scsi_lun { + u16 lun[4]; +}; + +struct cdbres_report_luns { + u32 length; + u32 reserved; + struct scsi_lun luns[]; +}; + +static u64 scsilun2u64(struct scsi_lun *scsi_lun) +{ + int i; + u64 ret =3D 0; + for (i =3D 0; i < ARRAY_SIZE(scsi_lun->lun); i++) + ret |=3D be16_to_cpu(scsi_lun->lun[i]) << (16 * i); + return ret; +} + +// Issue REPORT LUNS on a temporary drive and iterate reported luns calling +// @add_lun for each +int scsi_rep_luns_scan(struct drive_s *tmp_drive, scsi_add_lun add_lun) +{ + int ret =3D -1; + u32 maxluns =3D 511; + u32 nluns, i; + struct cdb_report_luns cdb =3D { + .command =3D CDB_CMD_REPORT_LUNS, + }; + struct disk_op_s op =3D { + .drive_gf =3D tmp_drive, + .command =3D CMD_SCSI, + .count =3D 1, + .cdbcmd =3D &cdb, + }; + struct cdbres_report_luns *resp; + + ASSERT32FLAT(); + +retry: + op.blocksize =3D sizeof(struct cdbres_report_luns) + + maxluns * sizeof(struct scsi_lun); + op.buf_fl =3D malloc_high(op.blocksize); + if (!op.buf_fl) { + warn_noalloc(); + return -1; + } + + cdb.length =3D cpu_to_be32(op.blocksize); + if (process_op(&op) !=3D DISK_RET_SUCCESS) + goto out; + + resp =3D op.buf_fl; + nluns =3D be32_to_cpu(resp->length) / sizeof(struct scsi_lun); + if (nluns > maxluns) { + free(op.buf_fl); + maxluns =3D nluns; + goto retry; + } + + for (i =3D 0, ret =3D 0; i < nluns; i++) { + u64 lun =3D scsilun2u64(&resp->luns[i]); + if (lun >> 32) + continue; + ret +=3D !add_lun((u32)lun, tmp_drive); + } +out: + free(op.buf_fl); + return ret; +} + +// Iterate LUNs on the target and call @add_lun for each +int scsi_sequential_scan(struct drive_s *tmp_drive, u32 maxluns, + scsi_add_lun add_lun) +{ + int ret; + u32 lun; + + for (lun =3D 0, ret =3D 0; lun < maxluns; lun++) + ret +=3D !add_lun(lun, tmp_drive); + return ret; +} + // Validate drive, find block size / sector count, and register drive. int scsi_drive_setup(struct drive_s *drive, const char *s, int prio) --=20 2.9.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://www.coreboot.org/mailman/listinfo/seabios From nobody Sun Apr 28 08:31:15 2024 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; 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 1488365191012718.1308374832524; Wed, 1 Mar 2017 02:46:31 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1cj1lt-0004RC-Rs; Wed, 01 Mar 2017 11:46:13 +0100 Received: from mail-ve1eur01on0130.outbound.protection.outlook.com ([104.47.1.130] 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 1cj1ll-0004Mo-P5 for seabios@seabios.org; Wed, 01 Mar 2017 11:46:12 +0100 Received: from rkaganb.sw.ru (195.214.232.6) by DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 1 Mar 2017 10:45:47 +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=TXIwOYNxSxUrpShZFZ8TExfQkkxTJWTTlkh8FXn1SQ3pNyYGSp6Go41pOiM2DDEvSK4iaMajYwfYf6t0/iHY5ENlp6VOSPzoh3cuXMjVcX6HNsYuEK+zUg2dY/CQqzxcDJ5x3KMaJluokT2z1WvpcuKqZ4sBrikJ94bl2FCUQkQ= 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: Date: Wed, 1 Mar 2017 13:45:36 +0300 Message-ID: <20170301104542.7373-4-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170301104542.7373-1-rkagan@virtuozzo.com> References: <20170301104542.7373-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR03CA0038.eurprd03.prod.outlook.com (10.163.170.176) To DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) X-MS-Office365-Filtering-Correlation-Id: 794dd3f0-8336-448a-1d57-08d460901f46 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 3:qSjleckIFv6tOxt309apFtuIOlvd2rRq6I9STfz5U1EMSL7JgDmTl3e3I6seQ4Y05NQxL7km1qKCgAL0FrYp8raigsmT1X8M7BOUvNCSgdsJelEIYi7gsSwJ6mGeiteF9vgFSezbb1rN2o6SX51CT9UynsKAlW1PXko0JYVfmIMQpcshajh7jzWBn/20tfH0sq7QhGvnzgVDSjmfAg2kHsurJ+vZJOU68WIkGewy3KHGIisXEZs1nwQHurAqnYMobXX8uZBQiQr7yLqOccyo3Q==; 25:7SJXp22XckmkQxQa7VAoqUCRgJKZc5pEOI3gen+E+amBU7WA2KNruooDjuprOOVGSFn2T0RJmSYRxerlTHPGuI5cA3jblWT43gdNsepkOWgYb6FXTyQiUP+rVXYv9aDhhTdoKBB7pto3td/wfXq59RNolzjcckK0N2kMaBjHiUqWCEFo+ujxnQIpnjYgOgQEqpPDH7rO5hNbtJIkTyoaMqvKkyBaGbGdixi6YwwO1E0IOC9eGNOPRc3bJuTuaYrbx33rZeTYv4uSoiI50W+fExwcjsGubZdAkF7QSK0WgsOFZ/duUHalQugtqvhLY6nlX9sOApUCBa3HuJDl6juua1fHdP3f1VxHHbelnqBrbSi9YgBUfjY7mOF1fBNCPCiB9Zlz4ZgxyglYtSmKFLVdYChCpeI0cCexDOp1hVkoNTAoXmD6s4vhiTyhtM8e9kAbm5dp8AIAgbZZKcqWZPt/Bw== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 31:jbFmOzw2DQyurURiTRz7RjUes3MlrD3WCstw5AFdMbxDP4I7Kp+APfhFZNwUb1rfeFA9U5Blw8uYrQHN9/U0yLQflILvThCh4wmQqjJ4yvjFbnDl3y8z4zGl1FcaXIfTl//zY6Sf2wahuk+lbr1JU/owNY064uTG4SA4U6+47J19Rif2s5hyiVDFViH5hUEFzsQ14MxbOaLkVoIHoX1MLJcegnwVhMmgZv2TShC642FD6jJtKmqspu+URdpNiJuD0tVe5o8e7vlihYMTG96oEw==; 20:sZMC3YWZeAe1TVDMd8lkxLpBsb0pkDnMC1VEVYJ63bMwKK+CA9rejy14MbQfEVWz74hgMEq+6NfN47oD7WiU53vzNbikpQqWANaP93weXmA2zOBxGpitFSoGMDsU24J7/jwViO2C5n8bauuy0Uk3uRyP5+t5i2rhgZ5aT+B+wnW9GE7J8qteakMPDdkk+3V5LGQJqi3peFSeMG1NzlTNA/GdYPOaeRKP5Nas9XFyhwcaqKv6QvmBLCCBw35MS2FSRqMQ4W0Oi+G5/iI3nuut7RJPRcQHjqplaeW96XkWler8NATK1j9edn5WuZyygVoTBJ0a1yjLJcxQrzY9D22lFmJ21Yw8gAFoloEEytU9OD80cjut9x+JqCSkebhI7qnmDTpo1UUS2wlCucbSK3r0O90Ywpfk64I8ysLV68dyTU0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123558025)(20161123560025)(6072148); SRVR:DB6PR0802MB2469; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 4:1XJSWAnrN4jFAouhnpnopWih989YW2ApXDHR40ubnDKWv7V6T/Gg+OiBfRtlJf/Cvoxf47b8Y7y2kABHg882lPzhwrtNPqh9UudEhUCv2x7s9LMbeRgR1zvoZ3g0AQZlHiEFzpvAYCnPIHEXJsNnF+CBe9tOGkjqT+qAI1lU5nxsTb2x6p6mwoAWSOUv5VwYG2pepcsvZA7tLAquls4jA6HV8my2zZMn3mvhqXe+Mb+vRaiIEovyrsC2gJeDsINlm195VM+1C/siBlGZJvdN69LSnOt7xKI0jgOdSPZ3sXZzTE9g8y5fG5ztgorb2wuNosiAdH+4qT1KMBESdrNOL2dfPJmWCzE7yhy6WqGGexxQOX8AuY1/bSDXzJnEvI7mRJnKnwxBMxQmnMuBPIZLXMhsWhX/FB52edbMqPf1nTuzN5NoXSP1jZOFDnDafqUv9BCwXrBj9qFbcUPQuV7C4gKrrYaH79BbBCvSjU0DD/BQaFpLDd+OYq10ag1w4Yo6HXj0hoSgzWm6wYkrvUd98bm1F4RJwa2kv2sPuhnCI9+t9lRsH0hNGRgNKyVuvuQ+eMw7BBf5dfwgSnJEGhSOO5sAr8gg0ZtPfurbTTbEXHo= X-Forefront-PRVS: 0233768B38 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39450400003)(36756003)(5660300001)(6486002)(5003940100001)(50986999)(76176999)(6512007)(2906002)(25786008)(2950100002)(450100001)(1076002)(6666003)(33646002)(6916009)(50466002)(6506006)(2351001)(42186005)(38730400002)(53936002)(305945005)(66066001)(92566002)(81166006)(8676002)(86362001)(53416004)(7736002)(110136004)(189998001)(47776003)(6116002)(3846002)(50226002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2469; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2469; 23:IyqLh/eV7kbAt6tybRouHW4jjPcQe2VWBUDwALu?= =?us-ascii?Q?L18C4B3FKeZTG91ytv7lN48R7LQUuhsrJBTq021Zfv3TpnfpvQ3tRs8H0meX?= =?us-ascii?Q?Cwz6iF+udFyUw/Afdhd4W65J2HkScnMtQkUCX3mE0syZHS+H7C14Blwuga0u?= =?us-ascii?Q?E1ep3IO9lYplgagTjSDzXN+eFNZc6pEi1K5SLzHO+/FhrL23oteVejHhyQIM?= =?us-ascii?Q?tRdFlrWa+9CRE/32jujvWyFqum8O5HGsTlYk5As+PpdYQMkJ/t/grBnoJILI?= =?us-ascii?Q?WrsJBT6DsDjR5yEq1wWmmCJOZqicGXv4HGuvF92PHtfiJ5bDCymTabLTRIFk?= =?us-ascii?Q?gUQ22gnPuQTMuIxIG6eXL1ZBw7y2Jm1AT2juFNNWuEAdN7fzellpBw7ndr37?= =?us-ascii?Q?1TJBz1L+ArKYe4uQ3aeMF0GvRRBC08FFGFVip9qxCQLvVu7cSj2eloR3kyTY?= =?us-ascii?Q?3cIPwB7EFCq8xFDNTwQlPid5ecCpBun2NlQ6J57yU2whe410WGQoofzCLWsd?= =?us-ascii?Q?DsO6C/pZtqXkJLQ7+YwT2m/17e4QBizm1guMO5VYP8t/0aAiJOPId2iFY9PC?= =?us-ascii?Q?LJ+4gdRp5nibGfFJZTEfVawDfYfOD64UiTNlektb+C4DD4SsS77xh2JkKQjN?= =?us-ascii?Q?Avm2QmoPSmSr+VMBkBSaWpr7bw7+4Hv1/Pc3PP2O9JH7u7dyl4YCUuwv1tbe?= =?us-ascii?Q?NsSSJ65Jq98tM+UDYsKlxY82/ywttTB9a5FTzHOLPeNpU2fjfY5+33J8iU9V?= =?us-ascii?Q?ey4w1Y1ElSISZ2KQOamWwueDyrXOBCQIBxCyZOCKQNBIT/AjPqFRkGPAU3SA?= =?us-ascii?Q?IkN88PmDkYeLQjWu0NQk8v6V5ur2rQzi+HN3ApVfcHnn7w7FvMAPeYkShgmq?= =?us-ascii?Q?MQx8v9UmHG6VjRdfYFYG50ILzaMmq+ThdyPrCK0wgqQ3P4C+fZ5lRsr8Wlg2?= =?us-ascii?Q?2KPyQDDUKEd2wOZJ6u/Iu25PpwNijMJ3wjcIIjT9Bpw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 6:VZ5cZefgzJC34Z37ZlTjLR5iqtw5hAucANohukNX1RaqNNKdgvkVCtgYJ4ftBfvP6Me/WQ9Mu8ijTfr8VgR3jmyo1MJdo2u+9ICEx5dH6bkMedO/LNRmbORbGvLvVW3bPQTE2cJPF6kJG1ElPnx4tp+EtLhjMANQZLz2iptxoudH6V7Vh6F07P4pugTcnmEt3Ex/yOJfFN5P4yZ8JC5pievl9z0UMQUYvjA9qr0QX1btddaC5EKf00yvJ1qEXcX2wyXFVlE8XCyzsnNDI3L6JBBAg2v2TLnren4x1Pt5tRg0pa+C1hNwyDXt0gI751+dIz7UbyhH9suhMTf9lk4zB3d3Y5LdgcbQ/AJEeKhriFw7EBZSnY52GWlc9FM4MIm7HyyZYEASvfl2ed8Q/yimGQ==; 5:+QAWIMjK7xQVs6WPosWYAZBq77Iqc2ZdAXgH4wQh7UL63w+4JyKrF/jWSrqpdoQ41XFSJkaFSg0FDEW/azzG1Qc/v5sD7Pn0zegDeGxpxAwCf9cmTwBBAZN0c15zPLpTV/T7AY9Pul6n4tPRQxoQDw==; 24:3Kad3e8wmkGqcHQvEF2BJhG1RvEHBQzJt7qOf4EiQQmczinUGF1DoyQHBdbYV/T5X6iWlqX6SZLNKA4NJDnAkUUk0WYysOM2NVmT8e0K1DE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 7:+OFfguSDMkhLhRS8C6rDcOLTi2UJX9ITNs14zFrNKe9VvUFw8CrYYODZCjX+K1Gofbztvdh2yfopvkMlu9aMA+9EaAZuhukd5Wn7oaSNaz8sejO/Pf2nxtkN79kiN+FhnO2zmZqOG3+0Ur6py9iJtJWeGhB61lCYpq4z/PqGaR7/PpWKYZ7AfsCFfVtwzI5dBmMkV8dvE1QT0OJlClGdUFzBHjPA3kQgh8bscxo+9rokURCu9kjxTMMLO05PYHNcIVSLWxTknRLFdmpK13lOpvnvEvKcmf0eM6ZoT25SEUaDTmtPTelqvYGNlfGz5CljrUDRObced0pd8vM9OU3bDg==; 20:YNcgPHOYJyrON5vJq84WNhJ9PZlUFe/zT1naF+M8ojlfRfLYtGZVmeH+eYrBK7CzGvGkXu5LqEwSCBRvBmG2NDqIVumRvElX0NRXuVlmQJiG+Kq5zTVBGaS6DJbMhJBKtf22sPLWHlC9nRvYne3tYweHtmnQnnmTIQdZwFRD84A= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2017 10:45:47.9966 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2469 X-Spam-Score: -6.6 (------) Subject: [SeaBIOS] [PATCH 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: , 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: 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://www.coreboot.org/mailman/listinfo/seabios From nobody Sun Apr 28 08:31:15 2024 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; 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 148836518878780.01761230563909; Wed, 1 Mar 2017 02:46:28 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1cj1lz-0004SW-HL; Wed, 01 Mar 2017 11:46:19 +0100 Received: from mail-ve1eur01on0093.outbound.protection.outlook.com ([104.47.1.93] 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 1cj1ln-0004Lp-H8 for seabios@seabios.org; Wed, 01 Mar 2017 11:46:17 +0100 Received: from rkaganb.sw.ru (195.214.232.6) by DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 1 Mar 2017 10:45:48 +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=OluJM3mjXP/sBvGF4eyQOFLBK1fYO4koD0AG+/PZgm0=; b=W3dwR8ePX1zgpl8A0kwJiPxTsph2QyfuEqBK9z4LPVg5N9JLUXHdh4tefg2AEPFi29HA+aWP+tjbQjLVzzPE/j2O20bG7EnWUlGbgbtwIoiy6pYjd1HFqb2RdLVP75YVdRMIKhtXS2mY28r1/f9zKUWV/rloa2YlOW0WM4RmB7U= 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: Date: Wed, 1 Mar 2017 13:45:37 +0300 Message-ID: <20170301104542.7373-5-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170301104542.7373-1-rkagan@virtuozzo.com> References: <20170301104542.7373-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR03CA0038.eurprd03.prod.outlook.com (10.163.170.176) To DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) X-MS-Office365-Filtering-Correlation-Id: bd9e917b-ee07-4a36-9c40-08d460901f94 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 3:mb2CMzBt1JKvx5fEnjhy7pVh7W7fz9tHMUJqDJSq+RzFTjOVgoFj2BZS5gpRT2zwPdQCk7mDcEHF7RanvNoDVWGim/ouoa3ge+MgmZssOWD+L3/2MP8ERlI9G6+NXO5nVgncVzmGAFw+P4Z19R8AieQZvWCT01lTr/Vrq40uhKTKIq5jKk1Htljgh7AELVrpsgoZh5hfhTKO8ev7jgPnsBPsvpUWX5qmLsY9/Z2E1erpehisJ3nciOa171M5npGW/2MmYlbGFexlI60XzK/CYQ==; 25:XIf5p8GtpWzAuUFVVSlVBfBWFbSnBNDGu5kcPfAuACYq38IV79NJ+JEOcI15zFbALbEKiXBLGsVImag0x5ClxBXcA72CHqGRUlw6UoOzmIPYmi9ruqFzcprzfjfLG9vosi55uCliSYWxV+xWGHzFeHqc2M/iAJxEeOrYYzMj/366Ja5cN/p/na74klNVhaYtaOXLAcvsvUJICDoeCga5DrYcuIysDsAaZD2xNop0/TcNUew8GvsoqcLD0LGLpmtSIucu/BwTd13KbUVcgfSDlTBfsldNkYXWxxqpzi7k63gdPZhmNo6We1Cl4DNiMk+CGahIx8DlTjSlVa0PFyYj3j2/dQcrg+BBZ5Cgkk9MBKje1H/VjuuqSnb25Y438AjXdEqY6iqaZ6kCb5hfnCBFpCz7kL1HzcKKUEG1Cegm62G2iJfcZJwBbWzpVAOvlofD7alZRmFKfexaWeL/IbZVTg== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 31:1ZTg4o6qlkuZs5huGKTH6SBiKHK9KRFePiu0lJELOAaAqf6LNE3JolxLa1ayOVCw+0MEAeX0QFh+nr43uX/bMOnS87t+Zetfk3xsLXfXgauS4n/DJSNbcnVhVD8XhoqRLBRczPqSeK4e2rs3DA35bLCXybjJqGqPKQBCdzfHcQ3xcuHsbuaPxxzjHFCpmW/CW+irWtkFBT9eGXGA8buYyIqSpQrk7WMEaUqED3CJSbsH2hYj61w0cBH4ya3a63uS35h3XqMyLNtfu1ypdArzUA==; 20:00lp3+UFdbTq8E8msZ6e+PkQMnwyclGlO1idvKz7TkN3XKeeQ4YYQjHkdzo8RE6tR6rBgpYAa9xDWQ2naSW125dlaqw66JxgEK9lqyxLmPMGk5otmITsP8iNDu6sm5XuVFZx2+QBPpM7w61/tjqitSprMqfuv4bJmBGhmiye0/LtfvX8wu8vduzPAxumWpklHRcZkEPl3tkJE07164CLjmaTp/qajuAXLuQizCuwwkB80VYJyvBLaLit+zuc2A2OnPPEXQWSdLwYVIOeusu9Vfc+TRQDwL5x08EtMSp5UIhPdPdQTLxU1PDlRWZFttmAICDhjf09R6o6QxMDkMAFHHJGi9FxeqfbJMsCKwED3jBEZxLU81CDX2N9GonbtH+h9lMCpmv36hVN+qGvaHhCinRSUB/Lm7vYjwNJ8lSOkCQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123558025)(20161123560025)(6072148); SRVR:DB6PR0802MB2469; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 4:fTcbcLmiSr6SaAMD/F9hKU4S4R0jyojNsYhpPiuhZfGhTBMGLBZUbsHQi0UEOpfjiauxz1WgddF/8BFk82yKTQHCAz8VCxhAl3+EXg87BnR7EgC8oQHGxEo7nYWRU11IKajDX+Pq0TDMtJp2VjakmgkNtdcjRcLQ7VCvZ7OjwsbeLCWnX1DxE9Two2Y9x3dS20EeMX1+NbxFUe/acZrSpPdvlRXoaEM4zqsJnOR6Yb2ru5rjyAVEDZPXbnY49tGxTtfqN8reDHSleaQ+nCQ7adww6YWjV40/CFoYDca3rsxi0IvGSWkT7+lqM9ZSAccj43sAt8iSAv0oeAH4BRNjlLQbW/TKKm0+NZwkL91BxNGUpxd6c/pauZRGlpYBayoslAxerYnfycFECuTzPWHVZk811uZJwx8HjRCl1M96WdvnlW49vMDrgwqCXxffnGa/VwCYX3hHNPRot9IgX+KshDPy7jnDn1+dm+iQDb6EHtzXGcf1zmxM9lLaJ/yqAA4s0CLIDYiTahIcxkn0QKoBXLAJRdIUln63SmYJnDyWXp9kcNJo49SqMKgHhPOWYN0hB1Nb3iezqGdVgZ5+aOxcJvOfQJHLmEH6dTdYbNK3w/4= X-Forefront-PRVS: 0233768B38 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39450400003)(36756003)(5660300001)(6486002)(5003940100001)(50986999)(76176999)(6512007)(2906002)(25786008)(2950100002)(450100001)(1076002)(6666003)(33646002)(6916009)(50466002)(6506006)(2351001)(42186005)(38730400002)(53936002)(305945005)(66066001)(92566002)(81166006)(8676002)(86362001)(53416004)(7736002)(110136004)(189998001)(47776003)(6116002)(3846002)(50226002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2469; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2469; 23:ZO/d4VHM9Zh0jCv8LSXZyBmxeY6rrffFN33ZO/B?= =?us-ascii?Q?4WTjY95IPZlCG0KmJSc+59/hQKqkKZqR/c5YZObAI0pPjAnqCePMw1T8pXWB?= =?us-ascii?Q?v/ZrGIuIS5xxIc4Dqv7qhWtJmvx50NXY3PSmRhfueE7e9GM+Myr4V3pRqgOn?= =?us-ascii?Q?O5qaMoZd94nsTT2YV1J4nx9ogpCrt5GQ12IrQwXWGx/77eQAb85yN2/ih1O2?= =?us-ascii?Q?p+JyW1tEKNPQcrXKPj4+Jo6UMCi/gQ0P0Jf7XUJCu6tCT+/6/rS6k0KOpM5I?= =?us-ascii?Q?Ur6i55unPfcx5xRWMn2BmyXJzURLMluQfFfwVKccEItXRVuuihEXvQCyc+HF?= =?us-ascii?Q?IjVLgd3b34sEvP72InCRV1C/iq/bdgGK2I3AOUQJn43g+HVDbekgIr3twiPf?= =?us-ascii?Q?xq/glXDMLbZUHmE24f8OCn4232sNNv/CM0cbSIEymAtkLkZfKwkfK4kq/1xj?= =?us-ascii?Q?AUL5Q6ByC7rd7yZiM7POA4zRGa5Nb2B1rnFt3CvWba9vJKS4rnjVX8uJpS/7?= =?us-ascii?Q?3h+tJpKHajVYtB6KWVChrwwf9BcLvotQRQRmD6B1S9wmHKiZA/7tXtFoVe+k?= =?us-ascii?Q?Vh7n9tv8sUB5lN9YiIOdR3jWtE4f3yq28zPRCjzLqWIz6X9IH08th+d80fEU?= =?us-ascii?Q?1QpwJDHQbANrym44XtPDN5fVBt5JuCi5fzsBNMCsajrHZyU9eztuyr151uor?= =?us-ascii?Q?xIFj0xRBiuhfd8WbC7pC6zHydCFiLVky2xNmtXeZXiS+CsUt3oiUp+n4mTWL?= =?us-ascii?Q?pXOcSndniiceB50ZxQpLLGytsjUYcP0X3PfFEuGPt4NHsGGf6kDAysjRP5Gw?= =?us-ascii?Q?L1rC/c5pklONqjH2eQ9CULmwlNCK4+sj3Fo4kdFRCrsWQVgi9vL3gsr9KnTh?= =?us-ascii?Q?Zr7hEEAqOQltH+qZc9yCndHwCdn8KcPMb4NJbl6B7xxdmLhle9tDt8HEs8Nv?= =?us-ascii?Q?vOCFhCd/cSk5CroZO8OkYyqvkyNTGycj9qMEq2NWYxg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 6:7F2fNd+2CApuCuPcQRNViKZFrrZWaHncIknNAwlELxdd666FMemOP9x0IGUvA10s6DY/LTV78X4HfJaTeydTRNbODJCQgrhZ1qNAfAox1QtzPEHP+khCzK4uCw/TX14O21IWS5rQgzKPeR2PwH/TlHn++4XIPkfJ92MoDne5vB2ZFglDIHX7kbhmbTwXqhNig0tFWSkias97cwCEqEXE6At78ukqSZgnkgjbH4wcDXaJiH86nwsz87NX7gqtPaLKpnL/J5k0/lSYwdoQAooFYj9SiXrAazrks1d4wTfPsWQIhVetY+rzmsS8ouu28HskyEkv5HPRel7GU3xhD2dxICeEwX++pVciffMkZeBhtKo8I7oMUMykSsUGPdckNhCMypa1Pn2Ueaa30MoHWxT/wQ==; 5:GOmvsKvOYxelyr5/kGZ4KiHh0usJAebooImVCAOCWZmAAvvvuVct6ahOHlfQtejUTBqPauORaHoLtMUNA0+hLUavEhGe6CArL4e2oTzyw7RLtXC7HQsLptZ8Ox6K3kTDCivfc8etLm0yiT5zSiNC9g==; 24:K2bivNC6gF/6CSl2lHB6zaYSqymE6gv7nACzBabdeaKcu5das+wQ6HkVIILhIGYqmfNJb+W5OessoKKHCxoLvSfXh5DAliUL28hnT6r+ZX8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 7:tQFMPefLazPi8pRaQnM9+0TPOfxONih1EGbDKYGW6+kXhMe8/y0ZejFuy2Pjy61FS8wPWorM9jc0IR12ABfKivz3Sd1AvSbIrxki8JSGAEwtMHJXvF2SL8EIk+zqBA5l6v0zPkXeITp6n8LVO29GCoLI+x4Mbpx7X+YDqs2k+DOXNXgdo8B6qMZwGw+PQEPp7/0t6GrwLJZY/SY4A7//CAWkuxzJZNlLzyFBcZT1UrpOAcQyiJ+gIwF3Di0Ldo++F52O2X2jU6el1ipPzc4BDa3W2YkTT79bxUN4FC9GV72lqJ5zXugZU82MdDZ4n+7EXp1fk6C8IqJH2d+s47560A==; 20:/l0onDvuUDou0SwrJTQUqv49Erq9xUcPe70oxF1pXtYoJByQSEXUzT1wG7dt1CjmAeEqW0VCydijwQpjNh2bgFP/PKBieJcw1Scf8NRJjqzAHnwyjPgIfhfZGQKm/OKBTFgzbX5LiIVHPuX/AcrUP7FgiPUvB0Tku+NaSgiSFDo= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2017 10:45:48.5100 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2469 X-Spam-Score: -5.1 (-----) Subject: [SeaBIOS] [PATCH 4/9] esp-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: , 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: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Roman Kagan --- src/hw/esp-scsi.c | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/src/hw/esp-scsi.c b/src/hw/esp-scsi.c index d2ba023..57d3832 100644 --- a/src/hw/esp-scsi.c +++ b/src/hw/esp-scsi.c @@ -153,14 +153,10 @@ esp_scsi_process_op(struct disk_op_s *op) return DISK_RET_EBADTRACK; } =20 -static int -esp_scsi_add_lun(struct pci_device *pci, u32 iobase, u8 target, u8 lun) +static void +esp_scsi_init_lun(struct esp_lun_s *llun, struct pci_device *pci, u32 ioba= se, + u8 target, u8 lun) { - struct esp_lun_s *llun =3D malloc_fseg(sizeof(*llun)); - if (!llun) { - warn_noalloc(); - return -1; - } memset(llun, 0, sizeof(*llun)); llun->drive.type =3D DTYPE_ESP_SCSI; llun->drive.cntl_id =3D pci->bdf; @@ -168,9 +164,24 @@ esp_scsi_add_lun(struct pci_device *pci, u32 iobase, u= 8 target, u8 lun) llun->target =3D target; llun->lun =3D lun; llun->iobase =3D iobase; +} + +static int +esp_scsi_add_lun(u32 lun, struct drive_s *tmpl_drv) +{ + struct esp_lun_s *tmpl_llun =3D + container_of(tmpl_drv, struct esp_lun_s, drive); + struct esp_lun_s *llun =3D malloc_fseg(sizeof(*llun)); + if (!llun) { + warn_noalloc(); + return -1; + } + esp_scsi_init_lun(llun, tmpl_llun->pci, tmpl_llun->iobase, + tmpl_llun->target, lun); =20 - char *name =3D znprintf(MAXDESCSIZE, "esp %pP %d:%d", pci, target, lun= ); - int prio =3D bootprio_find_scsi_device(pci, target, lun); + char *name =3D znprintf(MAXDESCSIZE, "esp %pP %d:%d", + llun->pci, llun->target, llun->lun); + int prio =3D bootprio_find_scsi_device(llun->pci, llun->target, llun->= lun); int ret =3D scsi_drive_setup(&llun->drive, name, prio); free(name); if (ret) @@ -185,7 +196,11 @@ fail: static void esp_scsi_scan_target(struct pci_device *pci, u32 iobase, u8 target) { - esp_scsi_add_lun(pci, iobase, target, 0); + struct esp_lun_s llun0; + + esp_scsi_init_lun(&llun0, pci, iobase, target, 0); + + scsi_rep_luns_scan(&llun0.drive, esp_scsi_add_lun); } =20 static void --=20 2.9.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://www.coreboot.org/mailman/listinfo/seabios From nobody Sun Apr 28 08:31:15 2024 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; 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 1488365199273368.86935002190285; Wed, 1 Mar 2017 02:46:39 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1cj1m3-0004Ut-9j; Wed, 01 Mar 2017 11:46:23 +0100 Received: from mail-ve1eur01on0130.outbound.protection.outlook.com ([104.47.1.130] 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 1cj1lt-0004Mo-CW for seabios@seabios.org; Wed, 01 Mar 2017 11:46:20 +0100 Received: from rkaganb.sw.ru (195.214.232.6) by DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 1 Mar 2017 10:45:49 +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=dpWyIVFmCgL1UzOnTiZTO5zjfIjForrWHZPkS0Vv4TU=; b=E+oRG+geIJURfTd0B6CmqKBhBJXIlGXW3M34vlmR8dSK2N4S/R0aWAaMUa6aWrQNpdnQVp+iNFPPQCYr1Ka+M4Rwh/pl0kA0A/GS8FOjdNCZzNY7kawqiDkQodnxbjNdEpW8mGTGU+RIoErAOOpYHYI/ZEprqoVnpcn0Kdc3vqY= 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: Date: Wed, 1 Mar 2017 13:45:38 +0300 Message-ID: <20170301104542.7373-6-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170301104542.7373-1-rkagan@virtuozzo.com> References: <20170301104542.7373-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR03CA0038.eurprd03.prod.outlook.com (10.163.170.176) To DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) X-MS-Office365-Filtering-Correlation-Id: 7e7396ca-4112-48bc-3462-08d460901fe0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 3:uDyYq4rQgAZv1Tdty40hHc+aM8qQrOcQ+J96yA6oitkI+UkQngpS+eq28vOg6u1KdkNIulcZ9YEN72uc707NFJ7eZv5BdmP6o0D14dHLPKQ1eYaUua546nshJamTdd/iamhQerQ3thciyvu5I6qrPCeA/DSj5GGTCPm00I/3UwG7lQaekXWlvQFTbrZGfhvgEHjvprNIksO6fglMF/4nFSSr0Q1iodCVYwuzobd3x5hDFFt+GNoDH64juWl//WgOGj37t67bIOBgpaQWRTY/1g==; 25:WDDNLcOKJQzYh6IszHu7R+pORGE+OjFeDK0sMPMrR78WfSL6Pgj+hHGjUD29t6yaBw1MloBLrq+teo41Rbo5Qhij4A/6F1yIUZvnw8a20WIFtissLmANHLXhkj4jwjQ5qkQNINkVi9YQys2U139ljPEWzC9+mpxyy5cnJe9sIzMD02ak5aP7Rq0Mge3yvZd8Yh3zH45Elc4uq4pNlVhZMQOXsYeMfF5QtXC88ggYME3w3PAAyEaW9RPNyfjRXGmkNq4tI5USZ98eRQCwSmrHjzoXPiJOWYnD81iIkp4eA6fUKmQZjB+z3DEgF9edsfBRP03PjrICBBH03JQqikYzIBXU/nFAaH2MVvyBWgkkHapb/Nv+FTy3W4OXB1Kd5tTC0dVUUhPn0KqCYlfKUWNALGqf/2gL5eQDmjr9nnL6FBxefzJBkWSzIASPk97n8yMYm7KbDHiN0nndWwJ8OMPcjw== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 31:NK3D63FVxp2Hp+816mW4+miMAHc5kXjHvVTj3+PKGwrxYps5IPEVgd6JHwqd7jMPmF4dAEIorH/y2F3sNyHg8pX4qP/dFAyWnMjIqsGuA3JZ2F+gOfcWXVRnr6DsO/btEGrPFEdr0a25RCFKKuTqHmVX0GddxhnpatgBch0x0092Xsqu7sNPQXpvr5vc3223D+j2wnVcvWP7qa4L0eEJ5H1qMwbh+nvqGakE1xlnGJ10yCx33bYJoVUujUQdV4gIUfAMyayf8owWDWuyzVKPkzDR71wYeDGoASnsrw8dQ0E=; 20:s7MQKMhXUKZCo6XLVn+TdeEqpZBl6AmO+0etpxLDxGAlaxnpOtrEzjpukWiqiwPW4EV+kuJH+xV1oDDSg3/SY+kXQPJ2gryF6jc5MOx4k27Qnaw4iyFj1RN0nMXq3cXR5HQlezVzxkNomRISF6UlK6HrFgdeCFC/3PxhIl6fGK7QNZ0Yd6x2hOUD9lZsrK+ivhH94IWLZtkKqKw5UFru+IGsyPwCrWRMfr2hRfcO8xDNTesJBxRVDnvyi5IMR81XgWDEMVDp34gCW42hbKbzUw8sOI2sivn5onyaADaC46ti248JblSh+5ZTnqWvhm/EjX8GOUf+6B+AXvBRIRFYXWdvMtk7ZYAy8piJPnxM0DVJlNi54pwCHQX5e2UNxK7oXqX9mMGp/NpiEpbmxhAgnp5w8cHzvSKv+tXMKXBd5Ic= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123558025)(20161123560025)(6072148); SRVR:DB6PR0802MB2469; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 4:VRPI1Jf524qThw5XUQg6md3p5MUsRgLa7WqHIW7dpjpagDfDqzic1liV3b9bzrAfN7OXDDQINGGLIcvAO2DDVKvjF1LZYzUy6YGIWWdirbmw8KE1WDyBD0oQEwXyVgMlAPGUUXSny3QjP3b9IFYPfL15nA8YYIAtVHThvk+kFREW/uC5RBD+6KSvJjK8bxFXWBgMyBUry+AcMhOUNWgkKqNnFpOVzC4rpP+u0+yp/g9+p5Aob8gviHUDp+YPtWLh5B2nO8tgvtgHkognY5PzAmRHsw50EMSgJvhTEy24vjinmrzfzSjcsuKNVHs2A17h3A4+dHRepD4vvdFVn/W+PFMafR8AYXlEWkMP0sIok784fHAZ0xaKYPvfmSDHPHN3ias4/MLtJ+mjn3V7VtbHdP79wXQn90mLW382x4npCXmcQPwdoDUYkhpywqkAGB8Vd9TBS71mViT1YgyjhExE6aL9FSJiedYa8GCu3+6b+wBzk7qbC4QVjjoi5fbuTnhouStQwF8RkXB8EzDSbrg7uS8zz1qxxlaEETpn6Z6uWdeAfYhabZ/jOxKRsyi2AFdTXjSNrGDvsx6zhWkXHh4QvWK+l7bvaFbPI3lmf+UmT/A= X-Forefront-PRVS: 0233768B38 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39450400003)(36756003)(5660300001)(6486002)(5003940100001)(50986999)(76176999)(6512007)(2906002)(25786008)(2950100002)(450100001)(1076002)(6666003)(33646002)(6916009)(50466002)(6506006)(2351001)(42186005)(38730400002)(53936002)(305945005)(66066001)(92566002)(81166006)(8676002)(86362001)(53416004)(7736002)(110136004)(189998001)(47776003)(6116002)(3846002)(50226002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2469; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2469; 23:yQAoa6d0LGgDmdcMKgtsqPi9Pgl5bkm7V03u8BT?= =?us-ascii?Q?ssIsRpzpMJ9Xx0jr3PdcAfIZc5DmceK2t6p4AqI/SWrQSrFJTabIo0PFnTDj?= =?us-ascii?Q?T+rVnKpd6H9lrsgwiPXgw8ZWGYONb89miVxmTCNxogD4LbU/eH+mFnn2eODT?= =?us-ascii?Q?x+oL+LBpbVt6JE6a5fLS5UbiWmmiaox8CyQdQqCdG15ZoUsjjxJKtLsZtSQ5?= =?us-ascii?Q?Y9lndmjf9kW+sB8DtAVx3ac1NnB2Rn/1Qc6LZLNBo5wKFeNXbItvOZmqWTHu?= =?us-ascii?Q?ap9hrfLhtnQFSX97TQvHFGIPjOAi2THql8pTTJSfTCNZ7ZVRWNcIbuYEDz+N?= =?us-ascii?Q?iT8muJe0xxWaUPNa8JM1NaU15qjKz/JZT8bUImUWtrkX6mBoRopi4K7ip1eo?= =?us-ascii?Q?FYY5agtYBrT3D2p2081vMoI9bna3XsfAocBvyHeY9asT2PX1haAGJiOaQJ8G?= =?us-ascii?Q?F7r1xmpgHQaQfHL/HrJh+jgQdz8/lh2aIMhS/tzVOltCX0CAwwott4C3ww04?= =?us-ascii?Q?kdfTm8sWW+uGCYHPAsIaUUvUFMoVT2PZE5nyx+sRMG07Sjbz5w/w8MH6aThO?= =?us-ascii?Q?YD590iT7xM6tPaGgThPEET2lqKewPIm1W3o4KLRwSEmqmXIpr76w5jNgM6kW?= =?us-ascii?Q?5TwyosCJqDDtz4U2RWjYmkjWuKrCIdViDvFY84wC30SqvtpRRedZQHzzWIeA?= =?us-ascii?Q?o15hQR0ta7OL3I+vPI+SxrkUDZIcNK1Vypwpz/NI3huGYNzP/jNNBvXdBR8j?= =?us-ascii?Q?536BSh8qaE0j/96wYOe2k3VJgCCtfgBKn2cgq9kbWPVLhW59OKi/BCd+Gjig?= =?us-ascii?Q?UkoBzdBMwPkbP0p2VjotHCMajlJOcw4SDiew8s7vbuUFwTJtwfxmDPG7Rpul?= =?us-ascii?Q?yg7+5x0950M3nF1telDkp6B5WOWjUa+G67rZEosbz0YFSV30Jmbne34hpUqK?= =?us-ascii?Q?RoIlSyey/+382ckyVBnBZyo2nbuJ0C8FL1zc9GVhWyw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 6:TA8AEgHr8Q9v+8AwwzXaSUFu5irpqVM6wIc7hs4uxEsFDplvs2ouj+OuimZnM9dT0N9PQ+yqrUVFaQf9I7tnvYcwRtmVJiJplmHD9BvqP1KXAYWxCckWCwvyx7RNqSpXyF/hjr8a1pMBSoAlQmJagv+habl2iN2GIWajJrS0Y54QOYBe8D2Rd/qkuz0cUNdcnEBunK2e/qpcgK9EYErJ1BJ6T9gbA4NFXWC4Zbi8k32/o9uMaZ6SbmVNgZUZGgfaxc1TdSPASxU1rj1Xkv5lx27NwVJP7wyJ61rOTLRuJdE0qzF777/dqxg8pKdxpBCD0kPaXxf2XFoNHVtxedVJt1rpYKR6w8EpoODh3eoUPq3o4Ca3xiyZ6hfF23vaV85m0XlR79Ol5HKTbM7S0O3acA==; 5:9oUayvRLlggN2hPj0KhqbAkp3mnyaejb80bzNkbqV5DTQgqR6HA8/ituBFeVWZzRqFGRS8Tzn5DImCpZUji81UfGvghzgRE7gMIhDc97g24QlHCHIY5R8eYCPesKNKRd4sxgiwfIkR+a1hbkUidn0w==; 24:c21vhSkXBL2RjvWML4JbQfI3N07v5x5/t1vtxmTf4HXp0qRw5+lnhv/ZP2NFUrZRTWW5DEllG3F2DjWXRuCX0dd8aoyWCrIfauVnDJ95+ok= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 7:s6Kq7Iok8uQTGLq4vRelVC3ifY/jkLYx4HdKMiRW33ed0LjEMfYQ2QWpMbjnCP3urR/IUgu6CTmmbyliV0JAfvoPyS+NBx36MZASJWnYEPs14552Uoqdrliz3GvC6lbw0ahe+FtuCN4xmMt8uwnckB4qgzoQAU71RZGF2/8XLAUP0EYTJM5AMYUJAAMWSlemLZqg61nrjF7QMx6iU+3Q4DRGcxGWjKkl/AWpwZWgrflHvXWo62pK034L7U8IQEoEo96VneHSnBZXvvCt5L2ksXN+4Inp2B6n/MxNejwly0o3mcitOwNUYX2o+uUSClNKodM/7HnDBBtQUs+JggygyQ==; 20:xJUkFSUPhNEf9ooS7Bir9xMuMJ2c9cxyk/jt8OKbWbOCp+wESRzmN8Hup8OAxN2LnclQDSQKfrjjSLr/ti4oGzcNY28YSG4R5o8I+OxpgQpRsGaeCVBbUiehN2Oi2f+3u0gczG5oQEzR0wIglb6vMdabbpf/FKMESAr5u2gzUp4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2017 10:45:49.0064 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2469 X-Spam-Score: -3.1 (---) Subject: [SeaBIOS] [PATCH 5/9] usb-uas: 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: , 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: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Roman Kagan --- src/hw/usb-uas.c | 45 +++++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/src/hw/usb-uas.c b/src/hw/usb-uas.c index 10e3845..f00221a 100644 --- a/src/hw/usb-uas.c +++ b/src/hw/usb-uas.c @@ -86,8 +86,9 @@ typedef struct { =20 struct uasdrive_s { struct drive_s drive; + struct usbdevice_s *usbdev; struct usb_pipe *command, *status, *data_in, *data_out; - int lun; + u32 lun; }; =20 int @@ -168,30 +169,41 @@ fail: return DISK_RET_EBADTRACK; } =20 -static int -uas_lun_setup(struct usbdevice_s *usbdev, - struct usb_pipe *command, struct usb_pipe *status, - struct usb_pipe *data_in, struct usb_pipe *data_out, - int lun) +static void +uas_init_lun(struct uasdrive_s *drive, struct usbdevice_s *usbdev, + struct usb_pipe *command, struct usb_pipe *status, + struct usb_pipe *data_in, struct usb_pipe *data_out, + u32 lun) { - // Allocate drive structure. - struct uasdrive_s *drive =3D malloc_fseg(sizeof(*drive)); - if (!drive) { - warn_noalloc(); - return -1; - } memset(drive, 0, sizeof(*drive)); if (usb_32bit_pipe(data_in)) drive->drive.type =3D DTYPE_UAS_32; else drive->drive.type =3D DTYPE_UAS; + drive->usbdev =3D usbdev; drive->command =3D command; drive->status =3D status; drive->data_in =3D data_in; drive->data_out =3D data_out; drive->lun =3D lun; +} + +static int +uas_add_lun(u32 lun, struct drive_s *tmpl_drv) +{ + struct uasdrive_s *tmpl_lun =3D + container_of(tmpl_drv, struct uasdrive_s, drive); + struct uasdrive_s *drive =3D malloc_fseg(sizeof(*drive)); + if (!drive) { + warn_noalloc(); + return -1; + } + uas_init_lun(drive, tmpl_lun->usbdev, + tmpl_lun->command, tmpl_lun->status, + tmpl_lun->data_in, tmpl_lun->data_out, + lun); =20 - int prio =3D bootprio_find_usb(usbdev, lun); + int prio =3D bootprio_find_usb(drive->usbdev, drive->lun); int ret =3D scsi_drive_setup(&drive->drive, "USB UAS", prio); if (ret) { free(drive); @@ -258,9 +270,10 @@ usb_uas_setup(struct usbdevice_s *usbdev) if (!command || !status || !data_in || !data_out) goto fail; =20 - /* TODO: send REPORT LUNS. For now, only LUN 0 is recognized. */ - int ret =3D uas_lun_setup(usbdev, command, status, data_in, data_out, = 0); - if (ret < 0) { + struct uasdrive_s lun0; + uas_init_lun(&lun0, usbdev, command, status, data_in, data_out, 0); + int ret =3D scsi_rep_luns_scan(&lun0.drive, uas_add_lun); + if (ret <=3D 0) { dprintf(1, "Unable to configure UAS drive.\n"); goto fail; } --=20 2.9.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://www.coreboot.org/mailman/listinfo/seabios From nobody Sun Apr 28 08:31:15 2024 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; 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 1488365202129320.67846800983034; Wed, 1 Mar 2017 02:46:42 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1cj1mD-0004c2-Mx; Wed, 01 Mar 2017 11:46:33 +0100 Received: from mail-ve1eur01on0093.outbound.protection.outlook.com ([104.47.1.93] 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 1cj1lx-0004Lp-T8 for seabios@seabios.org; Wed, 01 Mar 2017 11:46:27 +0100 Received: from rkaganb.sw.ru (195.214.232.6) by DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 1 Mar 2017 10:45:49 +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=+x6cT8LmiIS+Irjgu4j7yoX4iD8YbEB6POl9cAheiRU=; b=LnZTJghT4nHJi1L/cLzNSG3c8EP1st5doG1E7WqRqT0Qg0EVHIiRL8A9gHH5x6Gf6NFSlhz9DlnbX/dWSYaQ4Ni7XVjQnQBCrHp18w+/4fdrRulXEAplYsHZg6xVKcaW4F36Oc9nm8o7Jv60PMtTO3AzK05aTjPXFsZvTRvIsmk= 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: Date: Wed, 1 Mar 2017 13:45:39 +0300 Message-ID: <20170301104542.7373-7-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170301104542.7373-1-rkagan@virtuozzo.com> References: <20170301104542.7373-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR03CA0038.eurprd03.prod.outlook.com (10.163.170.176) To DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) X-MS-Office365-Filtering-Correlation-Id: 41997abc-990d-43a3-c3cc-08d46090203a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 3:04yvw4/5QIXYUuTh+TkR0Q65z9uhvJ14NdhYFTSGw7aTCUS+RlhvlpSsj4A+2JTxzVCudB6qXQNyrghNuxSP6QP1VUJhbXNg6K0rfNSUf5UZz+9dqjwcxOYWXt9bJKzU7+aZSpL/EVUgONUScWzMUxvbSllZiDxntsrdirPP7zf3iJQYmhx34tEZ78gvrrz0g1I7mioUF+ZIWJXxk7ef9PvYemmLMczWDdnyjUTP7rb+hM3jAmnPVQI55JdJ9ZkrBeR7mp/GbkSicGd23rs6Uw==; 25:pTJni3yfSGRFfMi9/EY0c4B9NTVGOFGwRH13jcNdMvGLdfBMX2wZxJL8qix9YRMiVAMpH1lgpEEF3bpotQgDxlFWmj1OlgM+m5EO5WrY/hIVFXP+IubE/U9kGoo4q5eLf4KqefrFhSAJG1n/wALHgFUFjs7nGeNAK0ACzd74sA7F6r90PzFXnw8877aVMQctQ3AcIxpQF42O/9v+MBJTeodj2HR9LcXs3uJts4Xp4eB7Jwe2rbhyagnoUvuS5LhbVlsEZmnTdOKEdx3TL+PJoIx+sLwqwiiJ96PGT03yCF/3HQuq8MsHFiqLWY0cTj01EhROeA6EYDwfcVMyN68kvHKGumCM/yQavt1kJPRnToWaulBD6hefYTOdVsVy9rNqdtW1tvmWtoVkXfuz3NPWXQ8Y7Wh9S1sH7JMd+tnVkT984jnQa6taJuGQWOLqZ06GcbHLvX7gFqH3FHppO8PGTQ== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 31:6qkiMKCytZGDgFUVejZPeFYiAplnar++R/eAt6cP7MI/rpynWV0/A03OuXfRYTa448bdX039dVhixijqvWGKDheSWdOCruQrolaeO9MG7SPnBtY1s7rZpXIlcagCMpI+OJFHjEqQ5dmb/fAep33y0ELkhDF3CWfnBuy5qhpRDojbDJjBL6eCCghZvSB4ceRbWlUTbzZ6+keBdLJhMXqwUkBi2M9+ElCTjdQw8Z6CcFA1h1bMYh4cBlgNVD+FIpQ9qrhre6dJKNTCch1GR/CE/Q==; 20:YpkE3oDaGq+IgEVSbmaQbtM2FyvlNbUst7j94MrviMTjREuir1w41Dr5J3sulLaV6S4xcqJBRSvpF+6kkmb6RwBKzZ95PqKhKsWobZ+0qnMAFI2G8mOd9QtKBWK49e347qLYyX4IfdZW9M0Q7zzE0qW4eTs3MUWf4gGWfz5FHwT9y9MqBbhhZwhWeZXtaW6RADlQ+jnkeqpzy+NfrtbyBb+uqj71R/jH15qOvuylxBu/970r3SC/Io/piWtBN1070eRYbyro0mO/XtytLWuRs8ZsWPYoJvJbhdr3rhJkslrZRf+YVYg+4a0PqF3Af1BGuGtqJ749s9pHQ92khDWMzuCBXsPZQybTEDnOcoskHMHDAKHinPQWw2/bSvmJIwxVegTJgtAqLibygs0Hmk+Cy2zI3UNXCFlPAXy8YDwlJDY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123558025)(20161123560025)(6072148); SRVR:DB6PR0802MB2469; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 4:EDS4axZkC0NfnpE6KP7X7YML4HGlkZSQu5zt0Ayd2w8cIQhj69vVtwhHcDGrwDvEuaQofrlH2QbS8l+sgHRozmntcyiGodA/GosdzWb8sA7eu1HttzsPtwrPdLsyvIvxhsxB0XD3Xh0sJQ6n2nI/byEXswssT3L+NEA4udNNPzpNdJdrf9mAP0M8P0Ac8mbb0mKfyK2aA7mP0LydVLl7UKZYh32x6GVQbbXN96+JwkcqGCofK9+ig7AftV+0X2x3u0FXoIH15T/QJWEvT7YhgFMDO/p4UtfQER8NQsHZAAC68XhAzH482Y319PfJ/Jz00/rrk8WXDL+9aRzv2GkhgmsV+PsNRAeIlKTvx4jV1BYDe5wp1qYmP1q7t11Xp3g1/KD+o9hiedtdWkwnAz1GQpvYvhn+lU0NPm90JrknwrlCJTfheTZZ4MIsMzXVrRhVh+Inn1xZDAEDac2JQ1pTY89KWuNoB6O2kY83bAZ0mNriah7KXqgmkJvIQ2jNR7L7hy0V7l6vTC7QEoDgqsm+sNyHWF38RkLFcBT3nHVPiZs6iu2FfKZNCAJtT9QJtFZtjZ7I4QN+2h0FDPtDwl/8y3aBkI1E63YqcHxgUu1AdsWeOLQFfdm3RnMJG9HbxH3KaO6U7hS/YcwWof9s6vG1Gg== X-Forefront-PRVS: 0233768B38 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39450400003)(36756003)(5660300001)(6486002)(5003940100001)(50986999)(76176999)(6512007)(2906002)(25786008)(2950100002)(450100001)(1076002)(6666003)(33646002)(6916009)(50466002)(6506006)(2351001)(42186005)(38730400002)(53936002)(305945005)(66066001)(92566002)(81166006)(8676002)(86362001)(53416004)(7736002)(110136004)(189998001)(47776003)(6116002)(3846002)(50226002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2469; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2469; 23:+dyaeTES0uIXoJ85akxIivAL8qedn1ZwTFKsj29?= =?us-ascii?Q?FBYpjZB+YF/ws/WNumk0p77HNi6xm1hZEb+3XLvpVy0uDwGEbuL/n2r+yClk?= =?us-ascii?Q?WZWAEcfUSu4d4GCZSVQh5T2FkAlyI+Afp9r9Hm7hE11m20yDlF/jSFH5xFaN?= =?us-ascii?Q?9LtY3z0yhGk8RnROb0Z92m5Oe96RMe7ZNrJFkyQEl2Z/Y8dg+aqMQNUNp7md?= =?us-ascii?Q?S8Iu0z7OqblRCsUj22DEVSMF+LZVhcu/rtYc0ERzH8lQirz7ik1oRWSOXf2b?= =?us-ascii?Q?+iEwZtKl8+gFNWynbNEMpuZHjwBWl4u8w61gEZ8J2D6iEWJ6HJY7zUggr6tb?= =?us-ascii?Q?ol++ex9F8ZAz3ISV+hZ/56RdTmqxLBl1uxpMUlRkHfNkH6924ScqLczi1SRv?= =?us-ascii?Q?A928zZumH3eH2foBXV/WMHYc/zNBE7YQA59msiS7nrSUeErthWDjSSbTBqoP?= =?us-ascii?Q?46xJZZDmTjSUIfLnetoJ61jJd7OZU6+yAs/H3NVfGlYjZbKv7d9qCNpzVlS3?= =?us-ascii?Q?eTWFNew5FRAht5z2608/vNNQWwKXccMo8H8yqFeU+FZRYhQwM+opaaFyFuIj?= =?us-ascii?Q?3nvoq7O/V2k/afMSW4W36KsfoR+FvmcYFn09WdFUp37COhRWq9cyXaNoDjMN?= =?us-ascii?Q?YAYUJyfeiMIVTumaEhuO/JZVbtsRekj6yO7JaCKx/GQ22jQz1j5xT57boZgS?= =?us-ascii?Q?loundqEyWidE7PiofSWLWmSWus3DDUi6kPE4G7t7LZssAEyfghF76H2MF1kf?= =?us-ascii?Q?Ir+K2/v5Ak6WyWHfyPqFgI2jGWn7O5g33kkYlVyzbE+jUnpb76616vcV0LKg?= =?us-ascii?Q?ZMmNPMVdJcmIE/l4zf6FaadU0aiExCUe7RiP3gauiq0sNAyeZA4yQlsEw81J?= =?us-ascii?Q?eP3zMkb5G1hQyHwKjdCLpM4zOI2cOxDiI+M/cfshCuZNCdybd/SsqUZf8MFr?= =?us-ascii?Q?7cyfw7ZETNwXKy3MjLMe3UcI6UVP5GCfX8VY2ld8azw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 6:sS/MWKdk2WGQmdBygjRezpmWtfpwRqd8Pye7Cn/+9Fi7kr5qdboPtFxJSah/kGCqsUBFvgPSMDsxDBkDad+aZ315v6s9QEJDXGVi15ahR2+tS5VyS4xiKst9pk3ojJ0oHYoGapB2zGC1N0jvNCEF7ZTn6LxRHV5NDa9anrBd4V3LI1rH0yIEvk2VwPWjH4zDe+exx6SiiEdmbyD9MKs+a+ZZDwZ0NfRwOlpJp1zu6u4ieUGIeAUtaqMe5dBZ3nL8NboydgXDfhrG3fazZBUJl/eOkUx89hEsOrY9MtsHqjAd46GhHXnSxoeg49LM9mcPFGWnEr+Pl9zzMG+XlYGItjhtfvEtYuxIHW6ULt/9MJ6aBjQnL7xNUVEe8+dEFDVjrpBfy9r00i22VNwb3OFNEQ==; 5:ztTtXpGquUEUTGhgl7w674y8lldOFMurXO8QsvVK+mlyk7RxIGQlnjK6wZcKyVRbOOqRUXmR57u4G+GtN2KhTsgvnIz4b740erguaGeeMlVTRmyNkpeHty4oEoFirx8T9C6iFOnq/1quo5z7YpQ24A==; 24:X/m8JJCyioB006TjKimo2QzWSXdklp8y6K391kPsc4dqS7r52K6fx2APBDWN4Gktl42YM7HzTIh/vx6zc+hkvk9NUobSGR6ycOu9vMOQSLw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 7:1KM4IsLUgpq162SDedq0w139YIX804Ax9JMVVgrxNkgJzprhsOPz1S5sFFcxAq99AiBJB5SEU8umLp++5mEHiNPqsPfjl2OokD3BuR9xNEvuHOzmSt77chpwsOJewMhsF3SeIJwgcuJyn+PHaToqooF1cNpwoOJ6XBiY/5VPUXOu/oPKZYDnHL35S6ZGB8QDWbgzQ0X0mRWQKSr0W0+fvSDIWoaWfaLwTtnOTDzA8UHT0vIKuxvdLg1D/RbCAN0vfDFJH4edWibOJtcUw3zyM0LnoeNZU3EV+xmOZ5inOkPWdURImToq4A03TnkRAxAu56dWw7TNBLF9D+e5Pye5Vg==; 20:B5nh2Fx5bTqDSgNgxYTvHGmkw4hDDAYF7eRpKbZKvxvUyKO1wUmvw782csWmxq1kFevyhK7yFxrg6WALyTo2YgnJp/3gTSS6oJstBWpmYUFFM/Q4xl7CkGjKl72e95ngcGHubEzmrv17kQu/yuJuLnVBe5LJeOEYeEcWhHYLqS8= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2017 10:45:49.5989 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2469 X-Spam-Score: -5.6 (-----) Subject: [SeaBIOS] [PATCH 6/9] pvscsi: fix the comment about lun enumeration 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: , 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: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The comment in pvscsi_scan_target (presumably c&p-ed from another driver) reads that REPORTS LUNS should better be used to enumerate the luns on the target. However, according to the Linux driver, the device supports no more than a single lun per target. So adjust the comment to tell exactly that. Signed-off-by: Roman Kagan --- src/hw/pvscsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hw/pvscsi.c b/src/hw/pvscsi.c index cd4046c..7c850a9 100644 --- a/src/hw/pvscsi.c +++ b/src/hw/pvscsi.c @@ -290,7 +290,7 @@ static void pvscsi_scan_target(struct pci_device *pci, void *iobase, struct pvscsi_ring_dsc_s *ring_dsc, u8 target) { - /* TODO: send REPORT LUNS. For now, only LUN 0 is recognized. */ + /* pvscsi has no more than a single lun per target */ pvscsi_add_lun(pci, iobase, ring_dsc, target, 0); } =20 --=20 2.9.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://www.coreboot.org/mailman/listinfo/seabios From nobody Sun Apr 28 08:31:15 2024 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; 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 1488365202318736.3896763788715; Wed, 1 Mar 2017 02:46:42 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1cj1mE-0004cR-D3; Wed, 01 Mar 2017 11:46:34 +0100 Received: from mail-ve1eur01on0130.outbound.protection.outlook.com ([104.47.1.130] 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 1cj1m1-0004Mo-5l for seabios@seabios.org; Wed, 01 Mar 2017 11:46:28 +0100 Received: from rkaganb.sw.ru (195.214.232.6) by DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 1 Mar 2017 10:45:50 +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=6mWuRUtg5YaEiB5mtkfmeRb8BneyYtdYD3WYLuZE+hk=; b=gwIoGeYyfCtoW93Oo3m3LJOZE16vsJvm+yLJYa0pyKdCY1LAslG/I9Wn/9iW9CS2SA/OAmnaiUJs4+/cGSoyFS4hIjn2dTu0HRVUoozCqT26sSk8EHEo3QS1dMUrMKnvl6IVpixrc6GzKzNU6DWb0ae0eavvBDoXSM/Cjt7KN2w= 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: Date: Wed, 1 Mar 2017 13:45:40 +0300 Message-ID: <20170301104542.7373-8-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170301104542.7373-1-rkagan@virtuozzo.com> References: <20170301104542.7373-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR03CA0038.eurprd03.prod.outlook.com (10.163.170.176) To DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) X-MS-Office365-Filtering-Correlation-Id: 6d7e70a9-4971-4c2c-0153-08d460902097 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 3:8nfXu19ZDLqAtA81Myn5iCQUM42+sN/hUjrcE6e2pX6bgBEqvEUNLkNeBOT4aQG4FkXnPh9uBNaQXf2m+Rkq7Srmr3XJKnnb04BLUwlICAV/LzCObl8rTlDNhi275LkvUVgcmMglAf5/jA7oLzumIjyFSrkqdTlZhk+9ko9S/G1Zyf6vkC4dGHlr9q/UQ7aA20LAIAesdRM6j99IjVcUcvRE4/nASHPQkDXHx8dqGGe1ffxkuPU4H7nbOAaCl0zCnljX6dTYlYyjwZ7R54r4fw==; 25:oSgBWuBafo+0rqNT+xjyef4pdIDNXovZCEahMGiPDgfmOb+sE7Kym7UwamfiBz/fRtCoJYIv2e5zsP0KCnT+HVCVlmPwkvTjWe+qRAssHSofNgxhArfiUXr1xyCdASFjoBnAr7fkxB6LKJpYT8qfD68PpEw98lwW1GddVNd6YHJ0ifwWC/xCLQ1dZ00BLVKBUKTfWmJq+dCKNAGwX87OfAyAmZNOREQrCJBKOGTGwyxUsdsQ/tjqnyrs1dg2S9HSHajIaJDQNjTvhc/OC5ln0nB65dm9lgAhsZmXJ+4TLoIODHzc3uVC32pLKZMcRQroMkwcUi3GLAQ/QOuDAjFDW5WEWw/ujpmai4gCFiHQuzfAFe3AvEQqcvXhGk0wc2leVq/O2/OUZTWU1QjY12SYqs8KiZDQEmpa7vRgMIjw82bTs0HtefeMb85J2e50pbQX5tIu3Vt1aI9p/pkw5hMdrw== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 31:p8kHii7S/3eJqk+m6Nyjn0x8YzVLinDHSkRwsLls5pXJ7BxPAkvSFklv6TZmUjIYLPQgx4vgucd9DrqvoWbs6q/alNcx4uPj/EgjpHaNyBVnFQhp1hki3mSYQ/UMurpPiX96+rvsBwP2Io2L3c7DJMvr0cJPnVP7TfWl9veTBQMOgsc6jeWAtTLlz806Jeb96WUCn/GeWxvis++b4+2hBEla9Jecnn3ZgKpTXwTqOX0zKhKHd3uDTfarksMLNZRFeFjV8Hp7Uukm6tUWNJedwQ==; 20:leABBOhJIes+xFTK/Pv3bzBLq/6Z86om9ot8Y6sSI/91gz+5sVVO/kzo37dWRQFz0+VzMAFuy2PreT6FQt/mrYyyu/CEPus8nqPmqwn9IeRwlQK+odfXfMohSK/Ff7uHpS8fVV9QQ7EfYs3ywrEH2cb7ZlETBhwSIH/7rMfweXmL2VLQPsUxNCJKeCQMSqOP8WfSX4rExcgkAEyO2fsV5YvAWYb9pMolpxk9fgXZWHzn9kQdOTpIdrze+IJmD23W+poHo991la1X9C9pJwWYAKANtDoGsypTFfl58AD9eZqbqM+dp9byg9AjH8wZfCsPZPF++j2+LC1eFrMO8aVD1dkhlflowK/9wkQWOHwxKj5u5jEHsvFS+svcPd0xu3FE6WOyc4JA6mmJ81isQ400c8Yi8PGrgMjvKblN22Q2DAc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123558025)(20161123560025)(6072148); SRVR:DB6PR0802MB2469; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 4:pxAykRQByl2wf+QwS6TNlGPSHl8LfaALsGcsrQjbnrp3NDTkpMl+wd/razVeMe5SjTGEsXa1J88qnSXpHdiDoNekq7PmfH7UliefaifcGEA0D5wxdYd6aV2kJtEZ2q9tbB/lvLjo8zq/91Sj1Og1hVDZM1IQph9EdP1ua62qW4BjIyPfoX/En9twP3IiwK909aiWrgeX6E5vm1FRWtWyrIyXcMRGxYYj3JErMQIqdJymFkHi/zYQ7gJAKZvxVBHfQOfwpgP16HIZ55gIYtgDj4fTzSIZp+ZxsAg0J8c67fkkHHh4rfJqA9BNn/pN956t6pQUt3oqSmBXXbXmwgGEdC6YNKxzOG1QwGXAKvYyhNQXXjnPGmwGRbGP8z2PacM9BHzNS+OxBawzEPCPoV47VDOir5R+1Zwl6kEdNkpFLDfzMdGg5olcAKQm82lrKUAyy1DppR8eu5PDp0xHCrZ25x5XCq6JFmDJ5/BsIY76ChalEAgkDqQn6wplgKQHt2XfwQ5zW1Gs4LEiJqDP4ITtLS6dKl2UTQxCNqLMtRYmlvK5j82cv5wDsokut85Hl6vYanrq4gVYAn3aynybC/Av2r7KjgV955/d6JY3F8tcOGU= X-Forefront-PRVS: 0233768B38 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39450400003)(36756003)(5660300001)(6486002)(5003940100001)(50986999)(76176999)(6512007)(2906002)(25786008)(2950100002)(450100001)(1076002)(6666003)(33646002)(6916009)(50466002)(6506006)(2351001)(42186005)(38730400002)(53936002)(305945005)(66066001)(92566002)(81166006)(8676002)(86362001)(53416004)(7736002)(110136004)(189998001)(47776003)(6116002)(3846002)(50226002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2469; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2469; 23:f2PPHkoeZMXyuO/NUHswlQldTCex6rd774bqC6w?= =?us-ascii?Q?Kh0twCbTxiQPTSakZ+bB6oJDmUGcehqxWwSOLcXAJv0YYBdgmTMLpaEfxr+c?= =?us-ascii?Q?CLNg0/HmzfEA+YxLm8k06sNm2N6YxcEgbc/78YAsgiwvzNtR5RB7AXwEKyFp?= =?us-ascii?Q?hSM4iVBqUqpMf4Ge7BXWO7HFpqAN3FlEJ5UXQ15JCID9m2y3YIsArPHPaybX?= =?us-ascii?Q?hDCvddJtNLUMpRFCq9gyDzHZKK8OBcg4x/SkMt+4oBn8uSbi5v6sAj30Vg2m?= =?us-ascii?Q?GI5rb+2mgBwgqHAMteuKdPOrdqfB5aRty+DHZ29EX1KCRBBkJ/OOliru+its?= =?us-ascii?Q?4TsqsM36TH696euNuzEDrqrxszhZb3mE16czxUVcosddDpM+LhjHuui73xQo?= =?us-ascii?Q?D93ZfnGKfdwtvTJ5y5tvwWg9guQh9MYb3Cg0VCbDU4e1S2oSJwXk+dYJK1Km?= =?us-ascii?Q?gMXamGTKE1RJOKaOcnlonwd1zfgqGmrK5UWyGoPqEIbJrDLMLHZXqAbEj5f+?= =?us-ascii?Q?IibfRFOSFavu7E7CjJXAINLpFkFHid4KGtZvX5rwscbBr4KYZJkAoIBuxEgJ?= =?us-ascii?Q?0b0ih02WaMrdUNG4dvzZp75qtjaiygUjLfj4TPKJbbPeih0KRNrbMD8cfWck?= =?us-ascii?Q?f5geSszvWNyn66WFwPer639FdmoTAXD7pRkW2jw7Ks+x8ujoqybfg5es0VXD?= =?us-ascii?Q?Z96ia49DvyrdnacomiPvKWxXUK29Uy63XDMflhfPA0DAHgXENF+yRECWXGtK?= =?us-ascii?Q?xACJS5Sq1YVCwkXVNQlpBdmwpdksQ0uyn2SxaiQF5ohIGMHJubB3rqL2AS0w?= =?us-ascii?Q?kvw6KJaabEPN9ntwxuYfG7ajcJTD2TWGLpG0kkyfKBGP4NR/JXiwS29eI9Bc?= =?us-ascii?Q?rPPshdolqjyACio2B1yu/Y2VxcSnQ+Qd93tAYxyCQ/zm538l6w76VPT9Bho3?= =?us-ascii?Q?mZL6ci6QnYw7yojZRxZv6GHsjJGYN2a8P+A3oYZ5iAw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 6:x3EetDrZLe/JlmFTUugXSRcMi5GywcfMrbDHLlK9S+AfNCIhQed/6Ae8Hk9r4UneLptuKZ5VSLvLIF1zPV+dXKQ12Zqv4a2bIUNkwrX2vZFix1zJixzTGorepIBzRpiGhFSFuXcyFtFwgXplbBBDq/kSj6r/+RwNBu4RB6dINA7P5gsgO4YbOBJMUt7XSpBe/OehWYybt/NHF8Xy2bJ4xhXVF/VA//hWoNeyAYMt9eDr/3GUbweQBoWfWandxJN3TEHKGA8faQ9TALFBGUt9mS3pISptobIjJvR12hxPeEHjpdXoDa9nZgAeMMubP9v5salG5OsWuCNFCM7L3SXuDcf8NJIzQ+JaL0RlDecdiZPRV9swer5vkLVkTgLb308Hl0XNxv+QxhOlAjSBQ584ww==; 5:9qyZud8UBFliaUadKQotGhRoJHOE+hb+MHkruiY2uZypKi5ZhBj+hlxFTmCtPitWpiz+E1R8kcDNqXq2Ot/P2KerOtpV3bkbZE0I8Xem9d8V6PJNbyP+fArRTPPKHurpNZ3n7HdSY9nrSClbx2bo3g==; 24:O1LNVBYLlVKS19uDfwHkcz6ZBLrvAmTpRYZa84czVBysF2uG+DzmradK1ZEiaUnKCLpk7p/hRon6P2IAV5TACs/rw6+0yK8ug3JA7NcOoL8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 7:fNsNPdfmwLvJ1SB1g9vqYumrLk8GavjD8xrhhg7WzbZRkTOMY0cainNJovz5cPSenKi56CpCF87nfkqdrbIUuVF81VKh1+Hrj1W/JQ4O6VAwLoplE0Kb+2UqP4TT+hk8AghxSzm9N5x1qL1hyl9+0yGzrRImYVAR1vWyL8s4HBYLJbUWLx2g4y2+T6pl7RgSpKBYz1D/XO99zC0+Dpeu++jzczJ4XfeP2zCVAVNaEZx9HFKS7flWNmSTOMsARExcgxXvArc1RVviIx1fOzlzrq5XVVZH/ZHy8vf+NmlsvJ/QDNrcRccEXoFJpBo/XOY2fUDUw2IJdbbFb70MvmVUWw==; 20:zs7sPjeYzRwibOVrEQ8R2sZvsUQWy9NjoJqAjoTAFMs17OlSNVC2wf9m7pW3GurbyvD2voy7W16xEZ+Y4Rr0I5FpAB1lFtTOm8VV/PAwebtwCTt2z3V08NyJy/iDMZvWq9XULL4+WdozqMlsNBRb6fmp99/axHJ4HFkvmhaRKVs= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2017 10:45:50.2044 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2469 X-Spam-Score: -6.6 (------) Subject: [SeaBIOS] [PATCH 7/9] mpt-scsi: try to 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: , 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: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Enumerate active luns with REPORT LUNS and, if that fails[*], fall back to sequentially enumerating them up to (arbitrarily chosen) #8. Note that this patch also makes mpt_scsi_cmd accept luns other than 0; I've no idea what was the original motivation not to, and what can break due to this change (nothing broke in my basic tests with QEMU). [*] in current QEMU, REPORT LUNS does fail in mptsas1068 because the returned data is smaller than the allocation length which is (wrongly) considered an underflow. Signed-off-by: Roman Kagan --- src/hw/mpt-scsi.c | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/src/hw/mpt-scsi.c b/src/hw/mpt-scsi.c index a37e44c..7bc8a85 100644 --- a/src/hw/mpt-scsi.c +++ b/src/hw/mpt-scsi.c @@ -118,9 +118,6 @@ static int mpt_scsi_cmd(u32 iobase, struct disk_op_s *op, u8 *cdb, u16 target, u16 lun, u16 blocksize) { - if (lun !=3D 0) - return DISK_RET_ENOTREADY; - u32 end =3D timer_calc(MPT_POLL_TIMEOUT); =20 u8 sense_buf[18]; @@ -198,14 +195,10 @@ mpt_scsi_process_op(struct disk_op_s *op) return mpt_scsi_cmd(iobase, op, cdbcmd, target, lun, blocksize); } =20 -static int -mpt_scsi_add_lun(struct pci_device *pci, u32 iobase, u8 target, u8 lun) +static void +mpt_scsi_init_lun(struct mpt_lun_s *llun, struct pci_device *pci, + u32 iobase, u8 target, u8 lun) { - struct mpt_lun_s *llun =3D malloc_fseg(sizeof(*llun)); - if (!llun) { - warn_noalloc(); - return -1; - } memset(llun, 0, sizeof(*llun)); llun->drive.type =3D DTYPE_MPT_SCSI; llun->drive.cntl_id =3D pci->bdf; @@ -213,9 +206,24 @@ mpt_scsi_add_lun(struct pci_device *pci, u32 iobase, u= 8 target, u8 lun) llun->target =3D target; llun->lun =3D lun; llun->iobase =3D iobase; +} =20 - char *name =3D znprintf(MAXDESCSIZE, "mpt %pP %d:%d", pci, target, lun= ); - int prio =3D bootprio_find_scsi_device(pci, target, lun); +static int +mpt_scsi_add_lun(u32 lun, struct drive_s *tmpl_drv) +{ + struct mpt_lun_s *tmpl_llun =3D + container_of(tmpl_drv, struct mpt_lun_s, drive); + struct mpt_lun_s *llun =3D malloc_fseg(sizeof(*llun)); + if (!llun) { + warn_noalloc(); + return -1; + } + mpt_scsi_init_lun(llun, tmpl_llun->pci, tmpl_llun->iobase, + tmpl_llun->target, lun); + + char *name =3D znprintf(MAXDESCSIZE, "mpt %pP %d:%d", + llun->pci, llun->target, llun->lun); + int prio =3D bootprio_find_scsi_device(llun->pci, llun->target, llun->= lun); int ret =3D scsi_drive_setup(&llun->drive, name, prio); free(name); if (ret) { @@ -231,8 +239,12 @@ fail: static void mpt_scsi_scan_target(struct pci_device *pci, u32 iobase, u8 target) { - /* TODO: send REPORT LUNS. For now, only LUN 0 is recognized. */ - mpt_scsi_add_lun(pci, iobase, target, 0); + struct mpt_lun_s llun0; + + mpt_scsi_init_lun(&llun0, pci, iobase, target, 0); + + if (scsi_rep_luns_scan(&llun0.drive, mpt_scsi_add_lun) < 0) + scsi_sequential_scan(&llun0.drive, 8, mpt_scsi_add_lun); } =20 static inline void --=20 2.9.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://www.coreboot.org/mailman/listinfo/seabios From nobody Sun Apr 28 08:31:15 2024 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; 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 1488365215886749.2050753624889; Wed, 1 Mar 2017 02:46:55 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1cj1mJ-0004f4-VM; Wed, 01 Mar 2017 11:46:40 +0100 Received: from mail-ve1eur01on0093.outbound.protection.outlook.com ([104.47.1.93] 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 1cj1m8-0004Lp-5h for seabios@seabios.org; Wed, 01 Mar 2017 11:46:38 +0100 Received: from rkaganb.sw.ru (195.214.232.6) by DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 1 Mar 2017 10:45:50 +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=EsbuSaCFSosn46Eh9WvU0Fchp/XpZfsn7PaaEHrn7Uc=; b=GLGfWpPhkH3vMpWQyh9nw0JSOnt5bAdcp1VYkoJs8GYkTO+WMwXEn4IcodtaKicYFr0b/ZDHV4khLcn4lGQBkKQBRFmZYr16a1OgqtK+6Kdk7eSqSgq+Xj1Zh4l7PWUdOaPuQvF8Yhkvn4LZcOVdJHQBxpDte476fGXDKxql94U= 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: Date: Wed, 1 Mar 2017 13:45:41 +0300 Message-ID: <20170301104542.7373-9-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170301104542.7373-1-rkagan@virtuozzo.com> References: <20170301104542.7373-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR03CA0038.eurprd03.prod.outlook.com (10.163.170.176) To DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) X-MS-Office365-Filtering-Correlation-Id: a35a3eec-1e51-49cc-09d1-08d4609020f0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 3:upqqXzsMEhs/Xsu6x5kV+VhSlQYBMSJEYjObpoKZZUb0sDDcn2sjUecwUoEiZcgTe22GUD4CcybPPpjprWIyz0FivC+F9c0a55PPKSzZac8u+V+A+HfGElPbc0Al34eGygTTeOIIZmIyanlFNQzW+NTRG+7uPRflDLAggxKH7HpEue5RHR0n+yGO85vK4kcNV78SoxzSHEDZLkEq9kRZxMuLd6jVw92Fl8YBpfU4B2E1Jfz3DhTWLDVRlCIwjCb29PSzCDZmpHkWla5q3H+1WA==; 25:jHGy54Klpa/CqldduuYFhCP4mtmgWjNbtBvEghF2ituUJsVuq1xi8ruqaQvfxwHYDzxoyStHRaes4bNMVy6tdBkgRhfOsCN1ZavVRWCdDf21B1xmFgv4/p69ris25dTm2gBJL6mlNABrD7mRhZAaSmJzJ4Yo0B7CqbPrvy9onRcxVKLEGnEzJ7r9fFL5gfGNY0sqSlUdi4qdM/xfNo+WzZZK68bHPK+GEm/G0OHVhMqScmNUcqaslsiFqsDjehl5BqDfOlRhx+k0T1GNV5Chbyi25jusgSr2+GbrApIxO0q/j5JEVWnK/xNoiQPhFWGFoxUlPcMyxzKcFCwsfq1hoYThzluj/n0L2e1OLCRy6N3/jgofDAhRNL1D8JrGZy6msjYJ7F0a9FZrXlkeiMh91imu/XKhWC5ICMm8gC//F21h5T5yn87EEPExU/UCHFAgM20FkTYsBI27MqtI2zVrig== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 31:1tt7FfByne+B8swqrL7PIWYl+w2ddnZg+K35s8XUl7rNWUSIbNNOlEf+tc5ha6+SqO4FaZTJF65A+AvbLLudC17NA9Nn0qjpt1PcvzLgoAgKijL/ReO8xVTVwjlvLIUzK6aoi6nbudzYA7rXgKvrVdt4ExWPbgF/xviBuePY4/dRHawp8we3GzbZPr68by0aSjmE3X1h2mHoEynSlYlZlsPXkz6EdA+qjA5EcEnOVO0Jzf1OS6mNtnuzoTPm25/MDsbRy7uqxHdtpdKDb9F1zg==; 20:TJJUV2w7n3bQHKtewq+UP0yLEQnrE2YrEicyA3Z74uukeLJ4NW7lJoHwJ3TokC/tdeyKt0XiIfEcaXViS2SPU1YoJ90dqYUg+eSc0z1vRhxwIz1QGdAnkk6ZJZ13LD7bKZUqW0rdgfN9I7g05w7qdhrW2IDUgzdfiqqZ9TReA2JT9MxLZ1jLJS9NKFVZtGLmBycE6ReJwI/Ai2SFVL+qEu5lO4kw4j046qYusMS84cukzLBWguxlZI92xk3a7DbIgqvUGEiQJtV822HVfukKTbJ7xdS0gKCePXHcbIumN9kcaAoBAC7U49hsUN89xu10vDzcNgIE2+cPbjRx7nxGzqO3gkpqYEpMbaR4Xo3QbBe3yBA1lmYn8dUPQZFW9fs52Bd/hxwWDktjceW8agEc6F3tZFU2iDb8wjITSNdQBtQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123558025)(20161123560025)(6072148); SRVR:DB6PR0802MB2469; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 4:ClOPzPylZdsrRSSyO1GQ96gR8+wRHLo8LHy0lm52os60o3Nx0Os6vlFIC+3PhA+xHU7r5Gy2z6JZrRnO66L8TwppN98dMi31Dz77rtqqAS6zlq1VC8iDjHvf9fJtslTbKn1Rg+NHMJ80RPTTB+XHFtDAd13XweXtcIV/L7okVuknfTR4H2um6rRK5SUGX23/4oLK3qGIaW7Ya9tLhosvI+UlFei0ih/MDS5liWTy3dyVE22mSyUScTCTZQxCZYm0egZMB7GUdWrbdZzsj6X/wsTc8UZWJyl8EOQLb42I1riGV2CCF8+JCFQKPP6aV7J16naX20iNlPj+mo2x3gWpPojKpQdOzJUH6H/Y1Rn8kvDkdL034SCv70O9FRSRhTn2EKcKG76io/n9wftbTpWTLipR+8aF/NWB5TvKmGlPAsriRS+qtirIXYLMrsofwuRswhguOCPBLNmbH5uK0B6sYTtNZsuo1FgZkttVIKnY/N8K2CxJbULZskFa8vOdo1V0o7aCHiaYWxN0PHxo5vSsZ7Vsc9aMzUhGRqt9XHIFn7Y+aqq4jH4/i5di2MzcJO+OE1ctfGpYE+LRahlqhIx9bnKyzf47SbFq9f53ITAUh9bK5B80Q3ZaJgYtgo1nlCx/Zb0a245Cc98BChmiGq62Yw== X-Forefront-PRVS: 0233768B38 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39450400003)(36756003)(5660300001)(6486002)(5003940100001)(50986999)(76176999)(6512007)(2906002)(25786008)(2950100002)(450100001)(1076002)(6666003)(33646002)(6916009)(50466002)(6506006)(2351001)(42186005)(38730400002)(53936002)(305945005)(66066001)(92566002)(81166006)(8676002)(86362001)(53416004)(7736002)(110136004)(189998001)(47776003)(6116002)(3846002)(50226002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2469; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2469; 23:6/yVcMkBu/LomF8Ba1wU9rHgw94J20nbAZYF6Sy?= =?us-ascii?Q?koFyoh0Jxed4LM4fQ/dr7m/D8vVhChqL85lT3zBpr1hGaMTmi2416BqQAKRd?= =?us-ascii?Q?mHLmzaz0brIAQ9/fsr+GIDEFXgAY1FDKd9YgevN9/ZFOMtvSeo8tW53NLLyd?= =?us-ascii?Q?1wbTjszlz6uak7U408RZf8eqRw/iESKDoUDsGXt0Tbx/hhRhYWroY6CZKwOr?= =?us-ascii?Q?vVOVbbsOHK5aV5kxhSwf8UrvF1BN417iRmDiZ4oXg6tLFsh7Ol1DwTDYyqUC?= =?us-ascii?Q?2Qq+z+onAtEyb2gL62B8kFd8dldipQYWe801nJ7aotVIwbxXObFuWPVSJGus?= =?us-ascii?Q?rPZ0KnruIBu8VjfIUHBwAtNvV73gPXZ0kaBduXT2qV1TV21tkEm4aNUKh9DO?= =?us-ascii?Q?fv8OBzYoXc50nFBhGDcoTQSf7tYgdhL6o+KtuFzitrHWNOze5ZCCu3Aj5hci?= =?us-ascii?Q?yFsgaZcEP5UDLxHKjZ6bdfYiQk2a5Qhrk2i+tjAT8hCZS2a1NIFVOx3q3Pv+?= =?us-ascii?Q?1hf1R1H/IgTg9drjOFI+piByhxqDTCa9sTSWcrK524gpbZdlPM65XawFecqz?= =?us-ascii?Q?lvVDEG2rEZHabpio77y/ihMyyRRF61hoAhKXhf5v25EPeS3YuSj9JbqiOzsd?= =?us-ascii?Q?90/k2PzPT/RCWjXpKkW2bNDxTJm4KY4HVDShXXSloirdlJwBhGUDFY5SvPcz?= =?us-ascii?Q?7CJvIdAVN7x9Lumy6vh6v5lZp3doDzB2asXQp/xEGxkEGkltq8ZWRAdNmxNp?= =?us-ascii?Q?L5Y7Gdcd1kqIYh12uwunsRI+9pdOIifI8xNhESzUWB9LTv/NplVIEYbrNPjG?= =?us-ascii?Q?NSTU46RMM+xPsK5rk67odO38cvm0h09RkgCIjqnZ1o7vij/te8Ul1H3L0f5N?= =?us-ascii?Q?80WQqnQ+zF1Dv1MSTu8iOjUvVtajjjGnjqYc6YpyOwmBe78YgqbtIEqzD9xF?= =?us-ascii?Q?M++h/lN9vG+n2XsYkTM9JYR+4irYMLMwl79fYtK49Ag=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 6:0fEH8A4fOZNHpjIHzA15p+UFkg3ePNLFsSFtok+sIAr5m4hiWY0Ng43h5icUfvQ9rEt6RPtTQjc3nHujCQLz70nk54oY/7SG+5VRRzgz2ejjdHhKDS96R0eiyQLBLfIBvUuxl7quKVdm6xhN5xRuxcuL51XltBX3B2QVAyuFy4ZbTGjam/IHvUszV/VvClU9elECt/1ZG5QC1s05vWH6a3tbdyiySxTGc8PnNcJryL3s+PgdW2jzsWnGv5asJxqS+H3wRMsylRPofxgGRnJcutmodaUrr9r7w/jeviOvpEj8SDFUbKxOTpqwqL6a0nOQU6XLHlFsvPYzsOYa2iKC17Zur1jBbe0LX12/cfCIFKv1VM0M4JYDnP0Saq7KdapwKGC2gp0aJnnF0knV/66gNA==; 5:zygG84WuMyKKsm61WVj/HoQi9IqhC9qwuhIGwoAP1i5YxjUHpB4rcYGk+wHIgpA1GDjV2Wa6EOiXEK+wmTzYVn6RX6PUgWzp10yyaPbUBtO4hiLVthPPmWFmD+FA42hvq7B+1hRgFFWzUvj15g+WlA==; 24:v9vcWvjxc/aq3f8AojceYf7e8NnG7b6h4HW5PUF1gHfAnrBWkzUbk8z3wRJwh3CyzQ7QWg3J6ICAW94/ViVHl/wPHj4383vfKB/tGcfdN0A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 7:wCEF3PQsem+hf8Zk64PuH/vT4B1U3tBKsCbsyqiYby90W9Szu3fFbvq0BPnD03/lhewZ8XzLgxI2b/wqWh1pMEG1rE7t+uG8b76+epaHZPwa15LruJt4rrx2qOWeqX6DkiPLh3U0/DZN1AUaDvcRJnLV6H8s2AK0fROfYxCajC4mxHYsoS+2sZJnZWO7L0+YhafD0SRR7WPUcyrCD8MFePrTL4GVMQtFuw2e1PhTA3U4QQdQa5jmgVCBvZQCNiIzRdYLAWrB3iAnt8XhpHtFIWCBfzwQPqumtOC91mKhE2c22O0DeDnVtwnrjpgzNoTF3UiXuOz4Ozc82JoN4jXVhw==; 20:DfXl12SPz9ZGReJprZE4VFP8DR3tNroXZ3+WXd50u51TEUYOpIHgppvdtw/MmJR4tqXez4716kThZu0fmURvruF3IIJMl9nq5CO3dsihmd8XOgubUf5Z/l8LjKf9MJJkQq2ign/j/7+h99hcUf7PWPiVpIkFyAbxNbXS4m05STc= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2017 10:45:50.7869 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2469 X-Spam-Score: -5.6 (-----) Subject: [SeaBIOS] [PATCH 8/9] lsi-scsi: reset in case of a serious problem 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: , 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: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" When the device reports a serious problem via SIST[01] registers, it needs to be reset, otherwise the following requests will most likely fail, too. In particular, REPORT LUNS which fails (wrongly) with underflow in QEMU makes all the following requests fail, too, rendering the device unusable. Signed-off-by: Roman Kagan --- src/hw/lsi-scsi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/hw/lsi-scsi.c b/src/hw/lsi-scsi.c index b63430d..d264993 100644 --- a/src/hw/lsi-scsi.c +++ b/src/hw/lsi-scsi.c @@ -116,6 +116,8 @@ lsi_scsi_process_op(struct disk_op_s *op) u8 sist0 =3D inb(iobase + LSI_REG_SIST0); u8 sist1 =3D inb(iobase + LSI_REG_SIST1); if (sist0 || sist1) { + /* serious problem, can't continue w/o reset */ + outb(LSI_ISTAT0_SRST, iobase + LSI_REG_ISTAT0); goto fail; } if (dstat & 0x04) { --=20 2.9.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://www.coreboot.org/mailman/listinfo/seabios From nobody Sun Apr 28 08:31:15 2024 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; 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 1488365205829557.982446430364; Wed, 1 Mar 2017 02:46:45 -0800 (PST) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1cj1mI-0004eK-3G; Wed, 01 Mar 2017 11:46:38 +0100 Received: from mail-ve1eur01on0130.outbound.protection.outlook.com ([104.47.1.130] 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 1cj1m8-0004Mo-UA for seabios@seabios.org; Wed, 01 Mar 2017 11:46:35 +0100 Received: from rkaganb.sw.ru (195.214.232.6) by DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Wed, 1 Mar 2017 10:45:51 +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=yOm40PN7okguAub9Www3aMs4tn6p+XRN41XdjtJ3XuM=; b=TcnkRA750o1cpvZn2lGlIWQhyv2YmBUKekrDsirnHNwlXUpe9BAyJ6NdH/AMjLL6RaZhK+I6EWpKU3i1tLcapgwBl6E/zPxgR4uLEL0wq2wpajVVeZTJct2EPhtG9DU2RBi783qD9JrBoUEskkonSDbRZeqpQjMD4utKFLkIzlg= 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: Date: Wed, 1 Mar 2017 13:45:42 +0300 Message-ID: <20170301104542.7373-10-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170301104542.7373-1-rkagan@virtuozzo.com> References: <20170301104542.7373-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR03CA0038.eurprd03.prod.outlook.com (10.163.170.176) To DB6PR0802MB2469.eurprd08.prod.outlook.com (10.172.251.17) X-MS-Office365-Filtering-Correlation-Id: fc024eb8-11d7-44d0-dfea-08d46090214e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 3:hOBtYyPq3VvTsJEZTv9ruhnzngIbwVsIgOV7sWl4ymIDhsQsbhHQu8YPVB+1/L4y8MF9IUjtgQiMOxcpbcOcDmqVgKAFpdmJWqJe6QFXhsoGkYJ5ktFdssPUUz2al+mpqL+a1VoJG/7RvTzeQ2sh3zX2HmMg50QhwgCaWpJkR9d/r6miUjVs6dDB0PtVm5a3twQGARwvYaxiBM17bUrZyHVu64/taNZqY+rZILwl7rmxiT7Tl4tRbAGL/vP9JeH6UVcfkmk0fkLHf2gwcikyLQ==; 25:EGDrVVVZgkMe831hwS5FC+wNkAwzj10PmcT7PhFb+ek9AvDYwfPEBjP5vL8Wh5/ZtF7fWawWXndmxW6DGW8el3az8vjxr2tHyECN5bfQn2FQkqGp8XvIr8gdxr6cLFyOKOK2ghmAjytltsCrQGthkMH8VQTv7QiPijK5+jkHMBsX2IP/JjWKOR1jeitdsr1OqxYkvu3E6oheuYqfVr7Thjgm4poUWczpfMhVbrN5DTpvPyiVvbXiCIyAFqFNP8JTJR2jzL5kETuk6/veBBCSRuxrBRdNKhhXJBeQDtbUbMbV8CYXVKxlNEFnyMvhNlCXVmA3IDh9lySTdRcXB6MMSLEr/QxQuKO0ctPE5cDenWPLnTRappJA2xMGS2c84YtVExHv2YWQgApqbQtPGNFKnHMnCvoqeMFzZ/aoJFdKuD3hvsXg1Fv5VVMeUzsHuv/+rgizFJ1Ll6Q+SeG4JRnW0w== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 31:2vtQ0ge0e1C4aKKCYKviRmMVAsb44EGF1hHFIQy3356cKOJ6ihpRsRUUP02zDaER6a2bOwWvRDpEdFNNew9v8bPF6BwJphwEA729ndgOQVlspEte5xH4rKUnTYttJOcW9cz7N5dkp06ryp2l7GU+OoX5KWUQxSxEyB/e2L8mwbrCT8qiS6AVl2pXQV1dtqX4WNRhrJQAqEwi/YxWT2vaezNUL9zMFzDzlN8bNpjfpXCjeacplRTm54REPmdndbFVCkGkckupszgvXKx/UGhtoA==; 20:R47IBo5fZoRF7GK8J7W284Er19+qXmMexEKvXR1jl2RckchtZC53rqrF+ah2yke1fV1cgzyAdgQX9fcqZ4p6TlJJpG+wmSri4v6a8ewdMKyBnj+bdu0Lv7FKQPOKjtnNHYXOAOgDi2XqmdOkZFNmzOvCaqyLsWMMzzradMM3dq+xvdtdkYe1EZyIi3F0SQIL03iQeIZJGiMzl/6MQfuqTkTWbiI2lmQOhygiKZmspkew4ekiZyR+5CUKkbIrvNmUWQsM5pSiOxtSwn2Q82/sWqaoshixwrkYWWObTZaBBGPE7FinQT92mPoo7iU9jNdtQMUcveJJOENOl9eOFWivn88Tfc05+C2ZWKd1aR7OdIPz6bUtRm25KmY4ttXfCLPtnkSrL4GNiIH9pmpqVeUkRWtBkL2I8W3oZLXAVOh/6W8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123558025)(20161123560025)(6072148); SRVR:DB6PR0802MB2469; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0802MB2469; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 4:IAPkRPR9DX/y6upAyuePNtL4vkDS8ep+caiqKn+YHDXZABXZWjSMdqezGaGAIsg4diYOOGqmAnWcFUi9MY0qTLD427RbyTzNVVAV8zr1CSpq5UnM7P8rC2IxW2MdWej4s96fSBL7/9aqYOVYf9eSSemLqGHgicLGZrtENi13OjaDyx7aB8HkcAS0nwGQUYk6xUu0OkVBITyUEbdDWhWRUJxl24Xen+Z6oZrjBJFL98bd6qeKV5dKgedo77wGxFLj3s7LGo7djU6MiKRAoHGxqTVKif934JznXc43qeYxGGQR6qh59xoAxAEEqXAmK/P/yuklGTJV42HM970kBjHUukazLKatmy7KvAD1W2u/tbW/Rjdo5mWNGUoUsdPP6rUclYj6uEnsHOT3Go6FC9B113KtxmeyiqQxwX024rTQCLlVIrigdvHoX3k0npYL+c5ZqgykdQ5G5ttJO8uPkfPbGZIgTaBSFj9FwLGznKGIXODT2nj8AQdkblHlDzGBVLFEjIS8b+LRJ6s1Q+AVffAKcdO973uJTnZA4dM8vLmpz3tIlvsxklgfY5k60L8FMkabtSu1LgjzxHAl/5b1Baw+gUvPUvHuVDE4v2fsT1A9cDY= X-Forefront-PRVS: 0233768B38 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39450400003)(36756003)(5660300001)(6486002)(5003940100001)(50986999)(76176999)(6512007)(2906002)(25786008)(575784001)(2950100002)(450100001)(1076002)(6666003)(33646002)(6916009)(50466002)(6506006)(2351001)(42186005)(38730400002)(53936002)(305945005)(66066001)(92566002)(81166006)(8676002)(86362001)(53416004)(7736002)(110136004)(189998001)(47776003)(6116002)(3846002)(50226002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2469; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2469; 23:ffCPjiu1JW12PTH6/dxr3ZUpHZcniBEQ0kecY4+?= =?us-ascii?Q?P8Ys+WM312VyRrKWtyxy3+M4tyUcwhmnVmCBqVwqLyeg4B29ZZ6RITfTDRA4?= =?us-ascii?Q?ZnbAFbaJ6weQtHLhZn6qFuW/Fcvv8jXa9Ak/PJGfwBC5ogt3VZAv2dAdEgQv?= =?us-ascii?Q?aHKkFRvfnakuIsSoWR01e29KM9jJM4wbA8GnNU0jZE53VlgNLXvB327Y40GC?= =?us-ascii?Q?WatlCLwTVxK2OmouPR4oZlemjxVvTXkJ3mYxNerJem1f45mDllIF3BfsJp9I?= =?us-ascii?Q?AR7LDtqD9nXyCSkRyt4LWBQgVe+BB+J2R8OEYeEvQecgp5ekp+cYfQqcDKQM?= =?us-ascii?Q?O2mgNNjghW41uty+0uGx4ALuyurZzIP9Nlwi0+KwEY0jeNYtB9azahsrHHYa?= =?us-ascii?Q?F2Ym3vMJhs0gFv9F4KADku2MirmXz8cqAoYFgaE4uGTG0MpK7Q+3qig++tSe?= =?us-ascii?Q?VH+w9Nagpeq5iTwXJPlK4WZMfRY0n++axy1fVDqbRubPd/adl0+tnHXc6HHk?= =?us-ascii?Q?Eh9FrZVmAdmoX15G9aHg2khBawDfsM3wkAX003ceHgn5eCPzg10LqWhiPdKW?= =?us-ascii?Q?MZPzu3fWXTmmlN4xaOAOvS1gUOBB0WKo/23HaldNAwSS6Ix2jpI51R366MkJ?= =?us-ascii?Q?zDn4dAWbsVjjfQEy9TEV7rde3GPGmAFL97cs/NkTAilTdExvo2t21GOPcVu4?= =?us-ascii?Q?WtGw++vNQ1FRRczwotfKxcLz6c259csaFWqo/rlbqd+sedC7tup663SeEn/J?= =?us-ascii?Q?VEaV1b2eBzl5mpN7HsN+nuXTEuzT4ywUkCUjzXX/oiHz0Sjhqo4AJOQzlmVQ?= =?us-ascii?Q?+sWnxRaePVrMoDOZb2xrel1ixtEZJLrx6+28U93sclMkVvye/lkxGmfM4f7u?= =?us-ascii?Q?D1mI0epcUS8XAfnRomxAWS9SCzWwMwoka+8poJAolTIhZQ81eTWoVNwqq0sB?= =?us-ascii?Q?byVT/SSeCtGlPNEPwVQosU4onkdhHM7vCQ5V0aD2s1Fcyr1k53I+/CdmklEC?= =?us-ascii?Q?qO2/SoDO99kULSRxFaLFfWafj?= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 6:N6sY7Pz8TKzKvnmw5P5vUXHZmEUzRrNU2CMdNL6Evj1i9s0G58pTdZDjB82XHIm3GYXushOo5p+2wBzrwc/idRX3RIZBvaKPH8t/c7AmFYUozzN6SmphuxdVPD7Gp+TJGPD7yATFvBSzQlPJA+Kp5EOq1cnNj5C+koeGNZJC2jhRZAjlO4LYyKYnxauCtoePnm+lU/VOIcgN+1jpDp9CsPZVMFx5u+LqlLU8eKSItJe4RyhorVG7rkb1zhtEox10OcZE6hnu4B3f0lIKAxhrnloKesUKuzleJH+jrWumPLCc8MrHi9//yiMcWh6ecAnSFltBlnf2ZmveyL0s5q5dqharUVjGdBYw24GrOVLrdVyc4t+rQTCHZNIeMcWEcJIUsM/qK8jD8DmIepk9gmgyLA==; 5:CVG3bMczMK8GFRd6ni9n9sZ3T9k92EV+nFv7wTAt613hW6dLezdxGVbQOQgCAHQJzCGFW94xsCxw6kLEISjQ7uMx9KKBHdMWHVo84qIMuZJU695+9Mti3igTllKw1gyYqRUdOUKw4BEC3VtbYdnJvQ==; 24:jaWCFw62gn/pjuOwDy+WVvWlgfxMjhchF5qBMyqJ57CwCKOzFu22fyQmd6wjzjMdaAT9fZ1uFcZ5KtV08+2pxAMppWN/6QIpXkcZgJBjfWI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2469; 7:5dVJxlA1pr7aAEBiBdeZ5PMZO1cI9nHmPVOFl8n5FP7HBDRtpWFJe7kxE38Fy+PnEXI7xwhwiER3cWJRgmYigDOZGxb2ueK7eZY4hwHrXM/sm9Jd64oCn2ryN6kdhqXAHaFKNmKNUQ8gabM7EI2IdyyrrZ6Ael9al9nqD52c534m63QkRHYbUZdYTpkQ7tCahi8qnRNpSSBputiFf1F8hRsQ1WQaAuUKB2x2MrXeErNIfbKYno/jHd7B4lB8UOpAxPtZIPPRWF5YsDQTfUY3tFTussTwyQOksTL7n3yvIPLilM4bgGzJLpaFZRGlDz9PqWAdNTqeLbcBdhe9odFZpg==; 20:z7npLr8edm90oaxQVGbKnr7RqMyTAnyzs7tAyuPUJ9ghQvg9PXy/nM8j0Z73T4+aRKiqyzXeH5bLK8cvh+T5eXl8DLBZnK80QdOyiikJbTTeEIBvXfocPRFeF0SoD2jy6Mpmb7h/H5Pp/KLO+L1cJgGgVSHzZy590iVZqqQFt3I= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2017 10:45:51.4084 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2469 X-Spam-Score: -6.6 (------) Subject: [SeaBIOS] [PATCH 9/9] lsi-scsi: try to 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: , 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: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Enumerate active luns with REPORT LUNS and, if that fails[*], fall back to sequentially enumerating them up to (arbitrarily chosen) #8 [**]. [*] in current QEMU, REPORT LUNS does fail in lsi53c895a because the returned data is smaller than the allocation length which is (wrongly) considered an underflow [**] in current QEMU, luns above 0 are not supported in lsi53c895a, so this patch is here only for completeness. Signed-off-by: Roman Kagan --- src/hw/lsi-scsi.c | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/src/hw/lsi-scsi.c b/src/hw/lsi-scsi.c index d264993..846bb0b 100644 --- a/src/hw/lsi-scsi.c +++ b/src/hw/lsi-scsi.c @@ -134,14 +134,10 @@ fail: return DISK_RET_EBADTRACK; } =20 -static int -lsi_scsi_add_lun(struct pci_device *pci, u32 iobase, u8 target, u8 lun) +static void +lsi_scsi_init_lun(struct lsi_lun_s *llun, struct pci_device *pci, u32 ioba= se, + u8 target, u8 lun) { - struct lsi_lun_s *llun =3D malloc_fseg(sizeof(*llun)); - if (!llun) { - warn_noalloc(); - return -1; - } memset(llun, 0, sizeof(*llun)); llun->drive.type =3D DTYPE_LSI_SCSI; llun->drive.cntl_id =3D pci->bdf; @@ -149,9 +145,24 @@ lsi_scsi_add_lun(struct pci_device *pci, u32 iobase, u= 8 target, u8 lun) llun->target =3D target; llun->lun =3D lun; llun->iobase =3D iobase; +} + +static int +lsi_scsi_add_lun(u32 lun, struct drive_s *tmpl_drv) +{ + struct lsi_lun_s *tmpl_llun =3D + container_of(tmpl_drv, struct lsi_lun_s, drive); + struct lsi_lun_s *llun =3D malloc_fseg(sizeof(*llun)); + if (!llun) { + warn_noalloc(); + return -1; + } + lsi_scsi_init_lun(llun, tmpl_llun->pci, tmpl_llun->iobase, + tmpl_llun->target, lun); =20 - char *name =3D znprintf(MAXDESCSIZE, "lsi %pP %d:%d", pci, target, lun= ); - int prio =3D bootprio_find_scsi_device(pci, target, lun); + char *name =3D znprintf(MAXDESCSIZE, "lsi %pP %d:%d", + llun->pci, llun->target, llun->lun); + int prio =3D bootprio_find_scsi_device(llun->pci, llun->target, llun->= lun); int ret =3D scsi_drive_setup(&llun->drive, name, prio); free(name); if (ret) @@ -166,8 +177,12 @@ fail: static void lsi_scsi_scan_target(struct pci_device *pci, u32 iobase, u8 target) { - /* TODO: send REPORT LUNS. For now, only LUN 0 is recognized. */ - lsi_scsi_add_lun(pci, iobase, target, 0); + struct lsi_lun_s llun0; + + lsi_scsi_init_lun(&llun0, pci, iobase, target, 0); + + if (scsi_rep_luns_scan(&llun0.drive, lsi_scsi_add_lun) < 0) + scsi_sequential_scan(&llun0.drive, 8, lsi_scsi_add_lun); } =20 static void --=20 2.9.3 _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://www.coreboot.org/mailman/listinfo/seabios