[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 2/8] vpci/header: Emulate legacy capability list for host


  • To: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • From: "Chen, Jiqian" <Jiqian.Chen@xxxxxxx>
  • Date: Wed, 16 Apr 2025 02:51:18 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=E3UXqsuCsDLcKENbSxacyCOs0J5BUmClCDY4I/P3Ezw=; b=imhiAFvnPpj4Oat0mcaC19GG9q8Zd0ob1eEMsK7SfdBAormp4M42Xapm/8UujKRBhgFAfg6Qo0pcndIW/DJiwhGdafdJur5HPc+kz8FFvWKhQfZHnC5O8K7wCWy6VBT82vAfh8n/mZGJavt68O91HIyoNru1Q+kyulX+ww7XIe0X61xNJhvb3OfLWbFRY+uTwuKsQPlWhX5k5cCmswrQq1rZndIqz33XC2Ur1ooFrYJHxTmcTR7wgm0oMHc2aCn/zpxKoZrvlkPrJ0f3PomO0Zr64MKPWou2Cl63f8VusIn/+doEZh+Y8IeShOsElyV0wsoWibdek1tX9D+b0wg9Vg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j68GXVd3gC42CBwXrV0Jb/NKOiBOdx7C3hmUvpmbrcj5qAVsofW7vexMf68GbtKVSSFH9loruiVTSk3W8b5tLDe8fQAAe4IZtRD9JKDrGQF81Ruzj2Cq+0494OYXFBs3HSrdOkZHDV2NS33JqMUzJ7qrwrinX9N6NIuSDRiEXYXWk3Ld9fMu7Sz6XZE0QrqbXdCoJtQVnMAqt7t6iufPEHMNZPdxwp9NL4XfSvTOAcykDGKWTufQrngBISE3ESk1l+Aa2xvTvToQ3Nz+FQ2jXebzATo/Su6UUfykARu6bzr26Kvh5yKSqy7MjNy1IX40FtrfIMYa0k7Ui/KFzf3grw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "Huang, Ray" <Ray.Huang@xxxxxxx>, "Chen, Jiqian" <Jiqian.Chen@xxxxxxx>
  • Delivery-date: Wed, 16 Apr 2025 02:51:40 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHbqRsaTINnyZcO4ESL6xMBZUfUtLOkiv4AgAGc7AA=
  • Thread-topic: [PATCH v2 2/8] vpci/header: Emulate legacy capability list for host

On 2025/4/15 18:10, Roger Pau Monné wrote:
> On Wed, Apr 09, 2025 at 02:45:22PM +0800, Jiqian Chen wrote:
>> +        while ( next && ttl )
>> +        {
>> +            unsigned int pos = next;
>> +
>> +            next = pci_find_next_cap_ttl(pdev->sbdf, pos + 
>> PCI_CAP_LIST_NEXT,
>> +                                         caps, n, &ttl);
>> +
>> +            rc = vpci_add_register(pdev->vpci, vpci_hw_read8, NULL,
>> +                                   pos + PCI_CAP_LIST_ID, 1, NULL);
>> +            if ( rc )
>> +                return rc;
>> +
>> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
>> +                                   pos + PCI_CAP_LIST_NEXT, 1,
>> +                                   (void *)(uintptr_t)next);
>> +            if ( rc )
>> +                return rc;
>> +
>> +            next &= ~3;
>> +        }
>> +    }
>> +
>> +    /* Utilize rsvdp_mask to hide PCI_STATUS_CAP_LIST from the guest. */
>> +    rc = vpci_add_register_mask(pdev->vpci, vpci_hw_read16, vpci_hw_write16,
>> +                                PCI_STATUS, 2, NULL,
>> +                                PCI_STATUS_RO_MASK &
>> +                                    ~(mask_cap_list ? PCI_STATUS_CAP_LIST : 
>> 0),
>> +                                PCI_STATUS_RW1C_MASK,
>> +                                mask_cap_list ? PCI_STATUS_CAP_LIST : 0,
>> +                                PCI_STATUS_RSVDZ_MASK);
> 
> One further remark I've forgot to make on the previous reply: I'm
> unsure we want to do this for dom0, as we in general allow dom0
> unfiltered write access (unless it's for accesses mediated by Xen).
This part is the original implementation before my patches.
If you want to restrict this only for domUs, not for dom0.
I will add a new first patch to do that.

> 
> Thanks, Roger.

-- 
Best regards,
Jiqian Chen.

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.