Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp86803rwd; Mon, 15 May 2023 20:39:08 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4G2ddShZvdSKC2347IGSySLbqlfuZ2fSglP/kKNFK23G+pEu0f4s8Lr1ZuDwvM/R+fnK2+ X-Received: by 2002:a05:6a00:2313:b0:641:3bf8:6514 with SMTP id h19-20020a056a00231300b006413bf86514mr50291357pfh.10.1684208348524; Mon, 15 May 2023 20:39:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684208348; cv=none; d=google.com; s=arc-20160816; b=sg66Hja0B5D/X3GEdWxkJ4MzTgCoUhCg/Q9f+17pOTFZKlFYgyqVTR8jawFuAHHAS+ mSlCziI72jyk7iQzTxRX+Iqv0S9clt2eODGIQzYVdw8azqJjJe3U4Ky75L5bkK3sg0so KJwIw/GSVskcjcwr1sf//nyoFX7lAKN15BGVXHXilxg0K45j4QvhMb3D/U8r292FgN6B eRPriV+6JiQQFwbwpFKwQ1UKF/CwzjTIOejNGB5SXtxnl3aNMtsmnX3TZJKKT+ajJRic ZYB5KKW27ouP3p0YgUjMpqZR4uK0GMjVyS+KVODX4D/YPn13/yK8eLza33io1vDKYuIZ ZUzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=RllGWZ4DaU1HnlvuJFnMhFPh8NZt7oPNf60Dp85Uygs=; b=kJjwwxOrwZSEn9VakvT5RiLEFl5eM+ZrRvU3Wx4mfQzR9DFrYCmkt1zgwlUZItaMdO qXZspf1Ps4PfSJSaQMYMh5rARr2afsc9b4BRWhR15jlAE4Tc/w3iTv6VXq6zhlfGobb7 RLavOPvJoIVdxTn/J4HjV741FX2TV6jRADhk/k7Ri+DnAoDrDE5wFgPuhEQjtJoSCo8J KBbM+mA7vsjV1ltdQf0wWzW6WazwpnsWUVUoBA74s0gUqYmdjJFHvovU1PROnLmcJ/fQ 2AvP2txIOUAiGnoAyTCXt4r0klaGH3UwPs0xhTRPB7RC51vjV3YCuEyLcxwzeP8/50rU VMdw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KRB8Dugc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v71-20020a63894a000000b00514329f7ebdsi17054082pgd.344.2023.05.15.20.38.56; Mon, 15 May 2023 20:39:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KRB8Dugc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229919AbjEPDND (ORCPT + 99 others); Mon, 15 May 2023 23:13:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39326 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229502AbjEPDNB (ORCPT ); Mon, 15 May 2023 23:13:01 -0400 Received: from mail-qv1-xf2f.google.com (mail-qv1-xf2f.google.com [IPv6:2607:f8b0:4864:20::f2f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23C6A65B4 for ; Mon, 15 May 2023 20:13:00 -0700 (PDT) Received: by mail-qv1-xf2f.google.com with SMTP id 6a1803df08f44-62135cf0adcso39502076d6.1 for ; Mon, 15 May 2023 20:13:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1684206779; x=1686798779; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=RllGWZ4DaU1HnlvuJFnMhFPh8NZt7oPNf60Dp85Uygs=; b=KRB8Dugc/4arKm55u1U1HMU9yLQwqZlq3mMM9q6zbfmnnzJpSQHVEnkDy6oTNXQ77E 2avWMKLy/XFTuIvCvPoO9VNK+SAhu/ML6sE57C9kd3F4felE7u6TazmLSM9PCugeM/jZ HOdoTAiTxMzCNnRi7z3zYfZyPz3xpovnvPUPsqXTH/Jfy1Oyq6XVrywssreeM/jjsF1s hOIuFV+hNbw9jpPjpVWZntmuQVe+C3IRoH/Nt8WqrGdDsX1GATs1p3lk7vqGKqipStZG 3reKUfvcDX8VFKywt3uIhG6PR3J38TiEB6GCz17mYUbkeKv6EWHxhnuhE5Hx7TSdtycl 3E9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684206779; x=1686798779; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RllGWZ4DaU1HnlvuJFnMhFPh8NZt7oPNf60Dp85Uygs=; b=Sw2jmU7Ley8LhLAkouuS5QiR6kfPLiDtue/Tw/8zOVRYTJRGhpYL3mJYhCCbbAzMuT ahM1iiRDYjM4wrXegqgdbmIXvSlWD8UFK2iAzZHu9IHbN5erOcKaTDN2tGXFKx258REl VEMhAzFkNYvLNXOQ+Ox4a3Wk7DeAaAbuwQO4Kd/6V+lKENwWcnjlovHTwSJyungdpP/a Qgie9yWLWcwH1vfzDoHzrUJcXlWtNVQkm0Hh6jzRzQL5TDglhmUpO+iFNKZG3vUqDOgX UMZPZE9TVkaNjQog3FZw0+4yfhOG+fHbwuYfdbeQd2Z0BAqhKqMX68sH9RdtXPgdifzd 3pQA== X-Gm-Message-State: AC+VfDxOlH0pQ4lKSxWG6nI1NE3Py2gMSu1DmkMt9uBDI6/7zphXyz49 oJjCF0vY+OHSizY++sL/e8ID17YJ/69P6yFmmdTv30vXACDuSbzf7XjoTY0yHf8= X-Received: by 2002:a05:6214:e46:b0:621:2641:c656 with SMTP id o6-20020a0562140e4600b006212641c656mr39757641qvc.31.1684206779197; Mon, 15 May 2023 20:12:59 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Zhangfei Gao Date: Tue, 16 May 2023 11:12:44 +0800 Message-ID: Subject: Re: [PATCH v2 00/17] Add Nested Translation Support for SMMUv3 To: Nicolin Chen Cc: jgg@nvidia.com, robin.murphy@arm.com, will@kernel.org, eric.auger@redhat.com, kevin.tian@intel.com, baolu.lu@linux.intel.com, joro@8bytes.org, shameerali.kolothum.thodi@huawei.com, jean-philippe@linaro.org, linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, alex.williamson@redhat.com, yi.l.liu@intel.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 15 May 2023 at 23:58, Nicolin Chen wrote: > > Hi Zhangfei, > > On Mon, May 15, 2023 at 06:00:26PM +0800, Zhangfei Gao wrote: > > > I rebased on these two branches and did some basic tests. > > > > The basic functions work after backport > > iommufd: Add IOMMU_PAGE_RESPONSE > > iommufd: Add device fault handler support > > > > https://github.com/Linaro/linux-kernel-warpdrive/tree/uacce-devel-6.4 > > https://github.com/Linaro/qemu/tree/iommufd-6.4-nesting-smmuv3-v2 > > Thanks for testing! > > > However when debugging hotplug PCI device, it still does not work, > > Segmentation fault same as 6.2. > > > > guest kernel > > CONFIG_HOTPLUG_PCI_PCIE=y > > > > boot guest (this info does not appear in 6.2) > > qemu-system-aarch64: -device > > vfio-pci,host=0000:76:00.1,bus=pci.1,addr=0x0,id=acc1,iommufd=iommufd0: > > Failed to set data -1 > > qemu-system-aarch64: -device > > vfio-pci,host=0000:76:00.1,bus=pci.1,addr=0x0,id=acc1,iommufd=iommufd0: > > failed to set device data > > Hmm.. I wonder what fails the set_dev_data ioctl... Simply debug, it is because dev_data.sid=0, causing arm_smmu_set_dev_user_data fail hw/arm/smmu-common.c smmu_dev_set_iommu_device .sid = smmu_get_sid(sdev) smmu_dev_set_iommu_device dev_data.sid=0 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c arm_smmu_set_dev_user_data u32 sid_user = user->sid; if (!sid_user) return -EINVAL; > > > $ sudo nc -U /tmp/qmpm_1.socket > > (qemu) info pci > > (qemu) device_del acc1 > > > > guest: > > qemu-system-aarch64: IOMMU_IOAS_UNMAP failed: No such file or directory > > qemu-system-aarch64: vfio_container_dma_unmap(0xaaaae1fc0380, > > 0x8000000000, 0x10000) = -2 (No such file or directory) > From ex-email reply (Eric) In qemu arm virt machine 0x8000000000 matches the PCI MMIO region. (Yi) Currently, iommufd kernel part doesn't support mapping device BAR MMIO. This is a known gap. > This is resulted from the following commit that we should > drop later: > > commit c4fd2efd7c02dd30491adf676c1b0aed67656f36 > Author: Yi Liu > Date: Thu Apr 27 05:47:03 2023 -0700 > > vfio/container: Skip readonly pages > > This is a temparary solution for Intel platform due to an errata in > which readonly pages in second stage page table is exclusive with > nested support. > > Signed-off-by: Yi Liu > > > > qemu-system-aarch64: Failed to unset data -1 > > Segmentation fault (core dumped). // also happened in 6.2 > > Hmm, would it be possible for you to run the test again by > adding the following tracers to your QEMU command? > --trace "iommufd*" \ > --trace "smmu*" \ > --trace "vfio_*" \ > --trace "pci_*" > Have sent you the log directly, since it is too big. Thanks