From nobody Sat May 10 13:51:55 2025 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 80.81.252.135 is neither permitted nor denied by domain of seabios.org) client-ip=80.81.252.135; envelope-from=seabios-bounces@seabios.org; helo=mail.coreboot.org; Authentication-Results: mx.zoho.com; dkim=fail spf=none (zoho.com: 80.81.252.135 is neither permitted nor denied by domain of seabios.org) smtp.mailfrom=seabios-bounces@seabios.org; Return-Path: Received: from mail.coreboot.org (mail.coreboot.org [80.81.252.135]) by mx.zohomail.com with SMTPS id 149321634207868.18656301282272; Wed, 26 Apr 2017 07:19:02 -0700 (PDT) Received: from [127.0.0.1] (helo=ra.coresystems.de) by mail.coreboot.org with esmtp (Exim 4.86_2) (envelope-from ) id 1d3NmR-0003Bp-Kz; Wed, 26 Apr 2017 16:18:55 +0200 Received: from mail-eopbgr30136.outbound.protection.outlook.com ([40.107.3.136] helo=EUR03-AM5-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 1d3NmJ-000355-0n for seabios@seabios.org; Wed, 26 Apr 2017 16:18:54 +0200 Received: from rkaganb.sw.ru (195.214.232.6) by VI1PR08MB0845.eurprd08.prod.outlook.com (10.164.93.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13; Wed, 26 Apr 2017 14:18:19 +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=h1jAeESYgjkpu5PJqpFgSffiQ76Fn3XQZ8CAl/+xXP8LQXMx2CxQEcyaLJkAj5ECEBkMf6Y1Vv8qUFyhwFho63ccpCA/Z9aScwWVbQRkFHxQxYu4O1FoSXsfqET3qaVhwYpa15v8SLbXkEiSP+CvSrGt74cejLTuTYd2pj7WKzg= Authentication-Results: seabios.org; dkim=none (message not signed) header.d=none;seabios.org; dmarc=none action=none header.from=virtuozzo.com; From: Roman Kagan To: , Kevin O'Connor Date: Wed, 26 Apr 2017 17:18:04 +0300 Message-ID: <20170426141809.12661-5-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170426141809.12661-1-rkagan@virtuozzo.com> References: <20170426141809.12661-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: DB6PR0802CA0047.eurprd08.prod.outlook.com (10.172.252.161) To VI1PR08MB0845.eurprd08.prod.outlook.com (10.164.93.143) X-MS-Office365-Filtering-Correlation-Id: 715529cb-a756-4ced-b143-08d48caf1744 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:VI1PR08MB0845; X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0845; 3:kc7oBN2PCqf11sNym/sqgJKd2VYS7sMY8/4F8coRBp8f0hkCRxo6MeD3DfSw5g2uzv99HBGGm9FiWJARku2irXVDQOAi/+KBTYs3c1cphoRV2PVn3tB97ZSuW/JwfBzsnjvroWufFNTGJRC4o6qyJxTWDdzPzC64xOrtdVSRiZ7LOkNUWspkTJuAeUEJegeb2WgvFb6Blb9XRqePFmdH6pYn846Q+M1Yx8PWK4/H5TKOqYRJ2Zm5WDPvG4+aXESr8n8gVRLH/eJbGd24dmaiygrQkKOtXXzQFbh0MshoHV1pg1hpkCVuvjuNj/N4gLCk9FY5S2eovws7uherO7arBg==; 25:Zm1ESPyZ1ZTpjXad3Bxh9dfZ6UdYh78MzalPcBOSmp3kVf2htgeJFaWDG4ASo3VRxO0RCQgwgONh8jgF2JJz2UIoOMXoXSyrYMs5CIhlSMZCMzp57oyeR1j6Ngc+AvgSNdxDmDU0Vothg1z301gAe/KkKe0/XmZ7WS2+DOoOc0fpfxplLlNQ+H7GU2+8C7k0scWMtczTsNW8lgMX2Xb4o9lkjcCgJ7MDe0q/HIF9nMYE2iLz55KCvMnMw9nVAPmLhM6Vl7mNqOz4k1a7wVYOMwlmYDGPzc+j5cAO7EeLInm8o7snKIHy32YK6xUiT8hpYcsBSBCEV+vm10+Fis4KeBinVtBNTmHKgjGZJRQqkpHQ/l1SA7IW2IBwn9cUz1/LJMGklDFqzGj5f6j38PZJYYHWt2TjrmFb470eyoTNniUOeTbAQyvIME1f4oy209qOVPUN2AzUOCRo4ivYOyP8MQ== X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0845; 31:cho3T5JkDl6UD0ugbte9S6vKgtRMJMYxGbmKWTJhrcZ5IEFZ3O5g6vRFlGfda12OzlN5EXG8DEzWbIr3jPpvEhXxWq8aXDURNxL8SfmzeBufmBoNexv21WTAYlAu8hTf5RpRcl+89NBEZSUFG5ZcpeoR+kY0ON8dIwwzvJe7O0w6OqF/zSFkAZVltd2Z7vEGqMzFyvgnHrB4iIzXG2x9Vg6Lk+VtRaDPSmY2W8dfZ4g=; 20:3Ss95TpvkFjARawJ0FeD9wabAgao3ucO9P0Q0HTN6aX+oXmgpz9YnN36rtslhyyCGoGSDjvxeyQUoaZuMnRI9ciwdbf9YWkVrCtYf1KTI4NCU/Vb+a32Pv/WLVGjlt5NbLLCALIUfJJuXP6YDYzkDoEVMJPeC1BuQKo3PcrVW6hVkco9yDWbzy8FDliVZQNYSThM3dadE6LTzajTIqVKw5Ibe6vDb/odK7OCX8Azvnc6j4KEjaoYYZuzsIAQ/mPDamCvJWk/xKqXJbYlbsrz13PesIYfZHDuoDaSpCGp5MNutYHkoa6hC5exsadb/RQhIPiHWm6OGzXCJrx1c9AdZdRr6pldvUKXPFbcyILLp7FetpMcYjc8oxkRl9j4QXMrMzo9LNjLCc+f3bpQxtg8q242AqEoa9Uw5ZgA1N47VH8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(6041248)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(20161123560025)(20161123555025)(6072148); SRVR:VI1PR08MB0845; BCL:0; PCL:0; RULEID:; SRVR:VI1PR08MB0845; X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0845; 4:Zed2GWuznNX7AALEO3T6sG2ps1mtpm3vrPSpWbSOEB7GQ7nGz/bMoq/azIGjkEIOsmSFe2QfMw3uSZvzuDwukZynctmMy/1LU36vP2+v6iBVI5oQTGJiwQBiHresvAvkKV8ozEYi7fCdvKgd6/neZtm3PqwQpZ5luAZSyXkglOyRGal4KSwKDy7EofxsVSDyjz+K2SVknwyKKzBa6pGzl074OcJDuSfKAS+/grSV+9H2dPX5FY5Y8RL0CJZYDrF09jw5PMc+oK0DMJ/M2acHpS1pTEyVrPft1zcwRkURL0GtlqmrQip8fvW3+hbKzIXFOrfidKZ9hDiqsncpQvTLv3kXCgacB1IjOimG95M7KzuQbwHFJ8/RoQdJw/vvXpxb6tUiQpv2ppCbWEV6cqvCFpBUCem3XKaYEAklIUWSqtgIRSFolcqYZHOk/UPaQ5QMgIDq2Mmq8ZmY7klamYDP5rI9YAjcBmVs/N8/TmVEK/FZ5G8/Fe5kMscQOX/dUATAkKWa/7W6V8Us7TvGycShYMikpYFsVUOIzindsZmKQ/2pTu2zpd5rNgYoX3zN7xJcFXUZgHqLzfyHF7oGiGvBRCq+q9AUUMagKlEMOAz1PBhtpGuvhlrCAN+yvX0KL40QAQ1kI2SvHoFvhgI2H8MUCJsviCmFPaTOZ0RfvsPYoA7YpH9Vo/R3a/HqFxVN3R3AOqiSaJEnmlCfVyqI7nJy1A== X-Forefront-PRVS: 0289B6431E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(39410400002)(39840400002)(39450400003)(39400400002)(305945005)(7736002)(189998001)(5660300001)(8676002)(25786009)(48376002)(86362001)(53416004)(42186005)(4326008)(2950100002)(38730400002)(81166006)(6666003)(36756003)(2906002)(50466002)(33646002)(66066001)(50226002)(6506006)(6116002)(54906002)(76176999)(47776003)(6512007)(50986999)(5003940100001)(6486002)(3846002)(53936002)(1076002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR08MB0845; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR08MB0845; 23:nkTlq6/j9izdiVgy1n3z1Ac3USBBKs3B9hI8Oj/n9?= =?us-ascii?Q?SgT4wLKq+Pahbpi2YgJO7mnaOq6x0M8z+sItPcj2/WYqhtoc949evgQz5rpT?= =?us-ascii?Q?ZT6Vdg50OFMoCcVMkr3ePhDYY3czIhWxXyQzG7+0sOK4947vuIjxgeTPUvw3?= =?us-ascii?Q?qLQXe772fqISvzeeLX8MHezPYgQLnckAmQX1vaj1wZMyTS/KHNYEuYLC/8z0?= =?us-ascii?Q?2eSV2R67Wdyl0YOsisJ8KXxd8DJiJ5xAXU3xqU4kr9haTBqEJCTyeirwvorr?= =?us-ascii?Q?kUvFeiggTv8FR7qAttoe/7g58PPm57UAilqzM4sfZTrjaqwEmOuaClymYucc?= =?us-ascii?Q?rH9WdiKT2XXJsoaK0NfZ7t6otqYNnTGJLRqRKbJf/0Hb3AO+V52+Dn5NyOLN?= =?us-ascii?Q?w9RewdmOvvqhbs0moIDtOrR4hgnEFZEia2GVJuERBdvsMdXlfKp9LPPm3vtr?= =?us-ascii?Q?Ww/eDJ9+Zt8cBtPR2GeKY/qhDV5T5fsWSrsK1guqSknhbmyPxJiBbTs6mlCz?= =?us-ascii?Q?lspWESwqIPguvGnaxMK3aBQW4dCf3g7TLja7fPlvxC6iytVqwCGDTQFYb90W?= =?us-ascii?Q?1n3GdhzcozOIaPMoDk+4SavkLAvJ5fvApiQaO4v42EQztKlXtZ7/2qRy8GvH?= =?us-ascii?Q?o8qQgjInUQyFnEsgzWbLczLubdAq2dfaDJ7wpOSDnr0ceSdNfPBhfSbgKM6j?= =?us-ascii?Q?yeUS1MD5hEV20pIZRrHihUuHMZvGd+TneG9GG4WYPu12GcPHEfoNILOX1X0U?= =?us-ascii?Q?0sTuDG+iDvUHz6MS2BNe3ugL20RDIReQ53Z/kB2HonBQS422UKHGsIZEXXH4?= =?us-ascii?Q?3o223QfIH47i4YDxNnciQ2AGg6ya3Gq6F3+kwFVqmMnGPc8uMhkcUjv/0cjG?= =?us-ascii?Q?VwtY1fuy0blIBqvJlKCEk7O9+h8tbzd32aD6GuzovxDes15Aeg/0LrPAwSKj?= =?us-ascii?Q?SslM1YdOsU0Tn4rx0GHz91xQK1OpnMdqYLyWQChG0wqsXF1mcmO1NpTfy64r?= =?us-ascii?Q?z8=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0845; 6:wzwYXuTPNC9uL41NNx+1+KTgVesdRt1Kj0xClZgnFV5/9YH3/G5BkDhFAUL0cNL6+iCe9zU5QqQ84MNQJ0laUU8xZiv1GL0MiyT+/l815wiliGdl6aZ47oZoHkgSY1mh/+84YD9DFzG4DMv8TITm+fIDI65xk1liyxiXMqxwYnFNaJ7ICgnd0rX8JiMWbUYEXJ18Ua3QFFXTyxWlvI8gwEkIk79rRzCI9pAW29o5DmHFsHDVRGczdAoedYfC0eeq0FZOGDt9cDAlvXcZEGBdggyL87/a8CCQvyS7uW6sv0C6xhuA0OhsWYzuqpQX5pXeOA4CmGrFct9yP7AlCdocBKm/CpqUbWHuZvFyDv08AJ1gkqdKcLezWWwBMo1VGP/3GFIptvNieMKIA4yRzlrCZj3FgD5+TM5PYaizN9QlpmKs/Anpvg45G4qSIZBHYWbpXhGzflHLcntWZI/S0oeAzlFuWdgdxVXnkMoRShWMLzh1A693beGdCZ10NLqPh9oUe6gcqG6EgP9aziwmDMii4A==; 5:MjOPIhKfID2KWWG/edLaSHvg/BTsi4f3lTgxvzEbiC+vAzNUssfTAiw1K8VGEc1ad6VJ/JyIu3++w64zX0faVIDnP4fo7DKzfOX/5dLbHuPm7uuRj0J8NNNMOj+BoiocMaIgPZ/SrYPIoqCwU8S8yg==; 24:mXcDCoK9lnz5c/mQ5BYCujLyRZx2gVSzYIKps78rH2jef7dJTqMVwwlZKEAGLTDqgSOmj2nfp4WQdDyYnobBkpyCQbcl3IKBeGByY3ATzYw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0845; 7:bp7RRwwvlCVfDTm/CPAkpKtmyf/rfeuL/zy9Px6ZzGGCcFwk/D1fZFn4QTlevhjUqo4UIw0fTPfsmsxhpM8gj04WBTU7WyRA1u3OkFo9fbFPfRtYr0RL1wxP7Yxw3XN/WP04qsZkM4BIgX+pSMIt3Ru6S/Q4pKtGKu24G9QSFF0Ke3q9BFJUMCi+7lxrMgDazNiSaD4fOx0wmtdGf9axVnXnAZoN2hMGq+VcrQGLn4SQOsYi/Sy/lbeF3zZGoQ3xv432aIHEylK0yeFsSKWRvLI2mze2/fRZMilJam2zY+uQAaC2W6ob/nUavS8BHTAdVHk9k3mSSLvBfM6Vw7tW/g==; 20:IRXPcMS77qkNjZc4Q9URKFcEY1QSwzOvEw9nJ6P0dJDbtqGHKxKCZWzp+ECwS6iXN+ytQvQJzxOlGCMxFzpepd/ScOLeVPXE8i+T2lpF14yHKfEXHCK/eh9ICoen4Gq25i8xotboF2h9QLmdCBjJrT1iVbx5lm/48ao2K3P0E7U= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2017 14:18:19.7580 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB0845 X-Spam-Score: -3.6 (---) Subject: [SeaBIOS] [PATCH v2 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: , Cc: Evgeniy Yakovlev Content-Transfer-Encoding: quoted-printable Errors-To: seabios-bounces@seabios.org Sender: "SeaBIOS" X-Duff: Orig. Duff, Duff Lite, Duff Dry, Duff Dark, Raspberry Duff, Lady Duff, Red Duff, Tartar Control Duff X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Roman Kagan --- src/hw/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://mail.coreboot.org/mailman/listinfo/seabios