From patchwork Mon Apr 11 09:38:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12808777 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 789ECC4332F for ; Mon, 11 Apr 2022 09:42:13 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.302802.516581 (Exim 4.92) (envelope-from ) id 1ndqYY-00034v-3X; Mon, 11 Apr 2022 09:41:58 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 302802.516581; Mon, 11 Apr 2022 09:41:58 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ndqYY-00034o-0U; Mon, 11 Apr 2022 09:41:58 +0000 Received: by outflank-mailman (input) for mailman id 302802; Mon, 11 Apr 2022 09:41:57 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1ndqVJ-0006iD-82 for xen-devel@lists.xenproject.org; Mon, 11 Apr 2022 09:38:37 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 28fa19fa-b97b-11ec-a405-831a346695d4; Mon, 11 Apr 2022 11:38:36 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01lp2056.outbound.protection.outlook.com [104.47.2.56]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-35-JxMcKwvpPn6rrxgyZM2EnQ-1; Mon, 11 Apr 2022 11:38:32 +0200 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) by AM8PR04MB7844.eurprd04.prod.outlook.com (2603:10a6:20b:236::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.29; Mon, 11 Apr 2022 09:38:29 +0000 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5592:2abe:fb16:6cd1]) by DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::5592:2abe:fb16:6cd1%6]) with mapi id 15.20.5144.029; Mon, 11 Apr 2022 09:38:29 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 28fa19fa-b97b-11ec-a405-831a346695d4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1649669916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GkoN9nC2qKwsSR3K+jJcseHwKHnMuECbT9MIWY/ddtQ=; b=HH46MiA0N6XHSw+LxS0jQjPkZXr9/clNme5gION92xoTUu/7OaOAcNR/9IVP9u2T1QLVS3 iQU3kCYGg5gAqYKDjy7AQcA+AAMaC3872T9o+dUi/K1DBO1OlR8dbIutJS7/QPGTJdevvj mPwZlKTejT5sCUWqqw6cvCXJw1iJPjg= X-MC-Unique: JxMcKwvpPn6rrxgyZM2EnQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bLY7ig+OCUvnW3I9U1ntzLJ+nxC7MMuf5Kw3YGiVtz1P1447uPHQVOKf/PXaP+cVcVhl9dzyWUxqN1LJBz/sLCAYXLz5HTM+T1snX/yQHX4OnwdZL2gpY0Hfzosg9i64g9R9JWMzH+VzWpl+DlWD652ZP2n0BEQQnimKQSiT9V6zN+m+vio/KsRaE9dzjsHW2UO4GyinUCTuqFRWZod+t2LW/x1vAGFPk1B9QnCHIq+FgqHGZnyGzO4lyqN464NoR0fWpZ5EpnzUW9gA9WFSFUcaPgRi0Nkf6gdWjvPCI8Dk+RgXu1U788KelQ/tFtsnkeeXwYxCTacZfdVuLzSYxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GkoN9nC2qKwsSR3K+jJcseHwKHnMuECbT9MIWY/ddtQ=; b=JJ3O7w+a3NxvPuN+lmTMZejaeDRcqABN+SM8kpb0qZxGCMw9VB6WzQ68w9LCTWevAAxudWbJm06i8usj+4ZV8mPpUELmdXTqLKhYIaLD/WR58ferg+/wbY2MWxZ1U/XFuTsJRSKyBiV1mh2mrKHsj4qCol+uzvxKmQ9mCbdh4jVuZ2Fzpr4+zlDWDyVIp+z9dxv/SkHtbi9ZpLPZp+jciE2uGykU3Ejyr1cQI3owB71rijf7SmEZP/6kn6l3OSKGYAhEVAZSO3xN5b9GluVd3zZ9+x8PoV8L5IPbUKLHEOpdV+v3vuTh0pTdAF191gkaqnV1bqPH8pPRfBWcgBGuNg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Mon, 11 Apr 2022 11:38:28 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: [PATCH 6/8] IOMMU: log appropriate SBDF Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Paul Durrant , Andrew Cooper , =?utf-8?q?Roger_Pau_Monn=C3=A9?= References: <4785ba7d-8759-7441-4ac8-0866489707b6@suse.com> In-Reply-To: <4785ba7d-8759-7441-4ac8-0866489707b6@suse.com> X-ClientProxiedBy: AS9PR0301CA0042.eurprd03.prod.outlook.com (2603:10a6:20b:469::10) To DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 62c1f672-32b9-42f3-bd26-08da1b9f0906 X-MS-TrafficTypeDiagnostic: AM8PR04MB7844:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FyqBRN7a4kn0xF/KgOFk9+i5OEHShGlSIBNXzF/cFWZw5V/RMR6d50ZfmroqWQonvrUg6kzzcNebyuVFkxXmPRTnZlCsTYe/AKwTgtXDKJanUXSj44eNcEFxfQmxvYFmpJMok+7z/uvgKkwNrz0V76iCMwEL0+ytKMOXkmiDr4HpwBelFHCwOYNYnFctO6F9UBPkI9Cp52zHFFHqnXmL7S6kA+biUzgD6rUFeNUMmopf6Sv0NO4Ge/spgguOTKVusROx45q4kjty0DPi8IjlDOaXydFRYrEwfRqyx9gKorAxhZHTY4/jok4WMgV3WXX7IuCTTwVrU4EHSu1OJipaDrXYchW0W8iLNq9mzWAZAGtvAf1+2zuV0rjfoXuovBbUvwuMWAIHehch8mlEoaCgCq78A+baEYCBjRFKGLclVkkP4gMTKADrCmQW3sJA/HBWokPYpf3eZhmN+c22vqGALAf6iCZrRyFpZe6q/vYsFAzyBglWyIjHDoaKwW6SrZ3wl/IiRRV5r3BcP70Ypn9oan5qqCoWFMWeuA/aI9o2D4gdN1+O5q2Kskuwvhn2aPzkrv69mdA4GW315jbTXjYAQEtK3Q22ZkUDiAn9BfzFeVhSMW1w4ksX0ncsJO0K/c6fVa3OzrLbDPcoSSG7oRXZQV/jS7afjqnsVO28+EmGk9Pp5nvwdeEpKbAJU5e+rGcgH0uwghTTe8JtyDIaWKP5IVc14ZglT+oC5kW0xXtaSpTmMFT5cN/NWx5baiqrXzWB X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8616.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2906002)(66946007)(8676002)(31696002)(5660300002)(6916009)(66476007)(66556008)(4326008)(8936002)(316002)(86362001)(6512007)(6506007)(83380400001)(186003)(6486002)(38100700002)(2616005)(26005)(54906003)(508600001)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?CudOJ8BK4IcvJmKarex5RNYRI1lb?= =?utf-8?q?kn7M1gxKetWWy17YqF9ylOAhsk2AcMM1h5skbb3VwFEtfNKPi1t1GYvEh05DOlyT0?= =?utf-8?q?c5AQ94UZl5FI2PzmEH60ADzHUGQOBgcGseETR418bYo6qQqI+0L2+IEpgibaRPTCI?= =?utf-8?q?Fl50VSbi7WSzLZb/tSbZE6cYD5pwhF7FfwKL6b2DeSv5j1ug9A0Tdg7kxkSgPsR0C?= =?utf-8?q?VYYgc526aoIDx8jNMUILtmi9UXtgYO+2I73YJMMyVl0R8O2UhoVbv1nGi+O/Mfro9?= =?utf-8?q?x7SiWJIOyHIX/60zBKDTdkthvVek23fxP/kYJ0+lAQcG1ITdhDUmcCGFcxwDOAw0d?= =?utf-8?q?3JLIxNGTrZqob8KuCXpmh3jAck1ASH/zC520MDMA8uflQth316avVX2MLm84xZHyz?= =?utf-8?q?tKy/wZFtYxAkyi28cxI/YpyTLGqUqgFE6aOStnf3BsnF8RY8krEzoCN2J8XCZukEv?= =?utf-8?q?6/omdeCYtECLLgpYQcRVRpPfFgGdwH0GBgwxEiYuNDWB8+t865z5KlJYcZn1IWYMO?= =?utf-8?q?8FyOibLn5jpSj43tQrQTEFxinflbYf1WN+fQg9AcxkE/+kmkVS/uBPreM5ioCwBcD?= =?utf-8?q?FDpMFTsrzh1H1h2M5K4jbWJpU1GcAW97gjU9K7DFsMJWzUM4ASVjzlu8cZK+D2GoZ?= =?utf-8?q?12yYB/WSVhXEm2Uf8Acdw9yerdCFlvcNxP63AiOJo5USA7ijmw6I9z46c4f4EFRSW?= =?utf-8?q?PMwq6ZRlPHI59VxT+CnJ/Qm/M8hyktqLI/WtWb2MpbOY0PH9iYPDRAAaR0+/5XSzy?= =?utf-8?q?6TeJDBkXxbu12dOqxbXrQSFFYIc5dNfO/GffI2zZDlRnZgLd6ri4FVJSRp4ZMyc7M?= =?utf-8?q?Fz9fEsYksJ3IKF3m3sapz5oDZ/OLIFjqq1EpWk/LhL1RT3yG3VIw7nCcXj06Da3PP?= =?utf-8?q?ZsVKVQPZFv0FwmOiPq2BC9F2iftcdHS5TdS1Y0qojMERT0OequIZA5HqNqz+UMG2d?= =?utf-8?q?Rd/XOOe5eHSCeAJTRV0bClXS5EGCyyXGjNYkPpFuepnOpX9mCYxukJz9YGNHA6IZZ?= =?utf-8?q?M9UIDthAgD4wzhtLHxXGKLEwZy3BtoOoOJ+kWr+/+WikQza5XktKTgrITyMykIKnz?= =?utf-8?q?671uEH5cNs2pjlPijVukHsKnvDUnJ2iDtTS9ppu9nG7VaWJD8UK2EwV27FE96CWJ8?= =?utf-8?q?yLoOpRJKudPOUlSvzVmRfEl/O5poW9B67Rn1R59u4S26BvdKovhBc7ZIZMHA1V7V3?= =?utf-8?q?BZ0KqMmznMMIKJPIUiEDBDlRTrrgCqCwbPkjDQCJ9NCYgZzFEvBID34PxSJJuVE06?= =?utf-8?q?GcfDVvHOeEMhLhgM/tUkZnr/uL80gUpgRid0ESrlJcUiUzrWOD8ySozMNqXmlXNna?= =?utf-8?q?2LKCgmra+8bWh/4d96bvuv/94/3wptEdJIWoFBU6uqIQ0pElwbC10NfCQbml+bp0u?= =?utf-8?q?15e92BOQNFe71XTb3OX4dEndQzCDY+GOvVaWMVPQK8mKFV5hYHjz2u4MMeSX6bj7u?= =?utf-8?q?3RM2q9L+yc2c0MkagoDz8DaeoAX4zDapfMGIZvGPdtzzAJLVak6NCmT8kYC6RDbkV?= =?utf-8?q?9aJ0j2M9hQ6CIswtWoHK47EhATMOh/WHBm/PSWuevERHGfjYDm1t0AUasADXU6ZZU?= =?utf-8?q?3Iy72gDWGY0wdjXBp11QYTzaLrGIHaFjONlMi6dGlq08SLqP7oWA5v8YWaDblV7Aa?= =?utf-8?q?E64B6Eyvkt1q3p7wEo0nO6Fra4AXvimw=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62c1f672-32b9-42f3-bd26-08da1b9f0906 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8616.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2022 09:38:29.2157 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: csmPmRu9IfhsmFRAiiupboI+d5QlhJnhbeom7yBAKFqwq8wiOMpFo+/azqILBlx+Ouiu2JrK3fRuh7OQJ0BxDA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7844 To handle phantom devices, several functions are passed separate "devfn" arguments besides a PCI device. In such cases we want to log the phantom device's coordinates instead of the main one's. (Note that not all of the instances being changed are fallout from the referenced commit.) Fixes: 1ee1441835f4 ("print: introduce a format specifier for pci_sbdf_t") Signed-off-by: Jan Beulich Reviewed-by: Roger Pau Monné --- a/xen/drivers/passthrough/amd/iommu_cmd.c +++ b/xen/drivers/passthrough/amd/iommu_cmd.c @@ -291,7 +291,8 @@ void amd_iommu_flush_iotlb(u8 devfn, con if ( !iommu ) { - AMD_IOMMU_WARN("can't find IOMMU for %pp\n", &pdev->sbdf); + AMD_IOMMU_WARN("can't find IOMMU for %pp\n", + &PCI_SBDF3(pdev->seg, pdev->bus, devfn)); return; } --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c @@ -461,7 +461,7 @@ static int cf_check reassign_device( if ( !iommu ) { AMD_IOMMU_WARN("failed to find IOMMU: %pp cannot be assigned to %pd\n", - &pdev->sbdf, target); + &PCI_SBDF3(pdev->seg, pdev->bus, devfn), target); return -ENODEV; } @@ -497,8 +497,8 @@ static int cf_check reassign_device( return rc; } - AMD_IOMMU_DEBUG("Re-assign %pp from dom%d to dom%d\n", - &pdev->sbdf, source->domain_id, target->domain_id); + AMD_IOMMU_DEBUG("Re-assign %pp from %pd to %pd\n", + &PCI_SBDF3(pdev->seg, pdev->bus, devfn), source, target); return 0; } @@ -575,7 +575,7 @@ static int cf_check amd_iommu_add_device } AMD_IOMMU_WARN("no IOMMU for %pp; cannot be handed to %pd\n", - &pdev->sbdf, pdev->domain); + &PCI_SBDF3(pdev->seg, pdev->bus, devfn), pdev->domain); return -ENODEV; } @@ -618,7 +618,7 @@ static int cf_check amd_iommu_add_device ivrs_mappings[ivrs_mappings[bdf].dte_requestor_id].unity_map, 0) ) AMD_IOMMU_WARN("%pd: unity mapping failed for %pp\n", - pdev->domain, &pdev->sbdf); + pdev->domain, &PCI_SBDF2(pdev->seg, bdf)); if ( iommu_quarantine && pdev->arch.pseudo_domid == DOMID_INVALID ) { @@ -651,7 +651,7 @@ static int cf_check amd_iommu_remove_dev if ( !iommu ) { AMD_IOMMU_WARN("failed to find IOMMU: %pp cannot be removed from %pd\n", - &pdev->sbdf, pdev->domain); + &PCI_SBDF3(pdev->seg, pdev->bus, devfn), pdev->domain); return -ENODEV; } @@ -664,7 +664,7 @@ static int cf_check amd_iommu_remove_dev pdev->domain, ivrs_mappings[ivrs_mappings[bdf].dte_requestor_id].unity_map) ) AMD_IOMMU_WARN("%pd: unity unmapping failed for %pp\n", - pdev->domain, &pdev->sbdf); + pdev->domain, &PCI_SBDF2(pdev->seg, bdf)); amd_iommu_quarantine_teardown(pdev); --- a/xen/drivers/passthrough/pci.c +++ b/xen/drivers/passthrough/pci.c @@ -1406,7 +1406,7 @@ static int iommu_add_device(struct pci_d rc = iommu_call(hd->platform_ops, add_device, devfn, pci_to_dev(pdev)); if ( rc ) printk(XENLOG_WARNING "IOMMU: add %pp failed (%d)\n", - &pdev->sbdf, rc); + &PCI_SBDF3(pdev->seg, pdev->bus, devfn), rc); } } @@ -1451,7 +1451,8 @@ static int iommu_remove_device(struct pc if ( !rc ) continue; - printk(XENLOG_ERR "IOMMU: remove %pp failed (%d)\n", &pdev->sbdf, rc); + printk(XENLOG_ERR "IOMMU: remove %pp failed (%d)\n", + &PCI_SBDF3(pdev->seg, pdev->bus, devfn), rc); return rc; }