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

Re: [PATCH v5 01/11] xen/arm: xc_domain_ioport_permission(..) not supported on ARM.


  • To: Roger Pau Monné <roger.pau@xxxxxxxxxx>, Oleksandr Andrushchenko <Oleksandr_Andrushchenko@xxxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Mon, 11 Oct 2021 13:40:30 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • 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=8AKBK0dK2e3t5MfB3yBVn+q6e2oQupJVaYfNAHmraag=; b=nKQUhubbhGN8XOiP3IxbfJ/ongaZBDb+hnA/CNTwYxIBdrIn9sz2TTd60NBJujw1dIkaxWeCubaxlurfa2ClhCyQf6vsaowMm9x+3+WJBbZ4c01IP4a7R3slRzOlHYZHiEQToDnzW0tLck1WjBy/7a17DcYZ0mACTa5pP1hmO4uR8A9d9NlDRqYi4Pfm4D2TIsP/Siy8icmans7aR6jMgYCe/LsRr2GxN2n4uVER167ia4jRhSFwwEDwpYPsxcInkeFZCKW6szb4jp1Y6rc7PFzDgIl3vA2FVbJKErLGigSRAfN1YfmJiaTKUuY9cLa8Bljg+9j5jHsFEuueCTBVEA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nZRj5fxKEAxDiaYYLFkAn2AJCXMrOu5B4pGBfjH2HAeYJxQbw13WehEJqmqowtn6LMKZdX5X6eu5aZK0NuAKlFDBarFfioi0K+HoT/peuyFwf/6GxkJx4xLlbzMilZ3HbU2xsi9Zb93IterEGt0BJwl4vpK4VXKrtiHvyDsCw/S3piMfRH2otNYXinz1OTt4TsDLNxXdwuuDuC0n5crFn5sJBXGaQocQyPVnUcceBmulLUYd5E6EFr09RpKkx7rEXBZJvPcpBLQdKYMfr3N8eY7wfZCM0w6NoTFLMrK0FKvVaWJbCkp8if76TuRoV4K8lO04C2PZu2qe5HYAll+PqA==
  • Authentication-results-original: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=arm.com;
  • Cc: Rahul Singh <Rahul.Singh@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andre Przywara <Andre.Przywara@xxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Mon, 11 Oct 2021 13:40:49 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHXutl5d8zkP9bsD0GXT4+5QPGclKvNtfkAgAAGc4CAABOEAIAABXoA
  • Thread-topic: [PATCH v5 01/11] xen/arm: xc_domain_ioport_permission(..) not supported on ARM.

Hi Roger,

+ Oleksandr to have a better PCI expert then me.

> On 11 Oct 2021, at 14:20, Roger Pau Monné <roger.pau@xxxxxxxxxx> wrote:
> 
> On Mon, Oct 11, 2021 at 12:11:04PM +0000, Bertrand Marquis wrote:
>> Hi Roger,
>> 
>>> On 11 Oct 2021, at 12:47, Roger Pau Monné <roger.pau@xxxxxxxxxx> wrote:
>>> 
>>> On Wed, Oct 06, 2021 at 06:40:27PM +0100, Rahul Singh wrote:
>>>> ARM architecture does not implement I/O ports. Ignore this call on ARM
>>>> to avoid the overhead of making a hypercall just for Xen to return
>>>> -ENOSYS.
>>> 
>>> What is the cal trace of this function actually on Arm?
>>> 
>>> AFAICT libxl will only call xc_domain_ioport_permission if there are
>>> IO ports explicitly defined in the guest configuration, or if any of
>>> the BARs of the PCI device is in the IO space, which is not possible
>>> on Arm.
>> 
>> PCI devices BARs can be in the IO space as the PCI devices are not
>> Arm specific. There is not ioports on arm so to be used those can be
>> in some cases remapped and accessed as MMIOs or are not possible
>> to use at all.
>> 
>> But the IO space does appear when BARs are listed even on Arm.
> 
> Urg, I wonder whether those devices with IO BARs will work correctly
> under Arm then.
> 
> How do you know whether the BAR has been remapped from IO space into
> MMIO?

We cannot, I think the platform will define if this is the case and where.
@oleksandr: I remember that this was discussed during some of our
meetings but I have no idea of the details here, can you help ?

> 
> IMO instead of faking a successful return value from
> xc_domain_ioport_permission we should avoid the call completely in the
> first place, specially if we need to instead issue a call to
> xc_domain_iomem_permission.

At the end we will never have to issue this because this will never be a matter
of “iomem” permission as there would not be any way to cut on something under
the page. If this is to be supported one day, it will probably have to be fully 
emulated
to keep the isolation.

Right now on arm you can just make the more simple assumption that ioports are
just not supported.

Regards
Bertrand

> 
> Thanks, Roger.


 


Rackspace

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