Re: [PATCH] xen/arm: fix SBDF calculation for vPCI MMIO handlers

2021-11-02 Thread Oleksandr Andrushchenko
On 02.11.21 10:48, Roger Pau Monné wrote: > On Mon, Nov 01, 2021 at 06:14:40AM +0000, Oleksandr Andrushchenko wrote: >> >> On 29.10.21 10:33, Roger Pau Monné wrote: >>> On Thu, Oct 28, 2021 at 05:55:25PM +, Oleksandr Andrushchenko wrote: >>>> On 2

Re: [PATCH v3 04/11] vpci/header: Add and remove register handlers dynamically

2021-11-02 Thread Oleksandr Andrushchenko
On 02.11.21 12:03, Roger Pau Monné wrote: > On Mon, Nov 01, 2021 at 09:18:17AM +0000, Oleksandr Andrushchenko wrote: >>>> +if ( rc ) >>>> +gdprintk(XENLOG_ERR, >>>> + "%pp: failed to add BAR handlers for dom%pd: %d\n

Re: [PATCH v3 06/11] vpci/header: Handle p2m range sets per BAR

2021-11-02 Thread Oleksandr Andrushchenko
Hi, Roger! On 26.10.21 12:08, Roger Pau Monné wrote: > On Thu, Sep 30, 2021 at 10:52:18AM +0300, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Instead of handling a single range set, that contains all the memory >> regions of all the BARs

Re: [PATCH v3 07/11] vpci/header: program p2m with guest BAR view

2021-11-02 Thread Oleksandr Andrushchenko
Hi, Roger! On 26.10.21 13:35, Roger Pau Monné wrote: > On Thu, Sep 30, 2021 at 10:52:19AM +0300, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Take into account guest's BAR view and program its p2m accordingly: >> gfn is guest's view o

Re: [PATCH v3 08/11] vpci/header: Emulate PCI_COMMAND register for guests

2021-11-02 Thread Oleksandr Andrushchenko
Hi, Roger! On 26.10.21 13:52, Roger Pau Monné wrote: > On Thu, Sep 30, 2021 at 10:52:20AM +0300, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Add basic emulation support for guests. At the moment only emulate >> PCI_COMMAND_INTX_DISABLE bit, t

Re: [PATCH v3 09/11] vpci/header: Reset the command register when adding devices

2021-11-02 Thread Oleksandr Andrushchenko
Hi, Roger! On 26.10.21 14:00, Roger Pau Monné wrote: > On Thu, Sep 30, 2021 at 10:52:21AM +0300, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Reset the command register when passing through a PCI device: >> it is possible that when passing thro

[PATCH-4.16 v2] xen/arm: fix SBDF calculation for vPCI MMIO handlers

2021-11-02 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko While in vPCI MMIO trap handlers for the guest PCI host bridge it is not enough for SBDF translation to simply call VPCI_ECAM_BDF(info->gpa) as the base address may not be aligned in the way that the translation always work. If not adjusted with respect to the b

Re: [PATCH] xen/arm: fix SBDF calculation for vPCI MMIO handlers [and 2 more messages]

2021-11-02 Thread Oleksandr Andrushchenko
On 02.11.21 11:32, Julien Grall wrote: > Hi Oleksandr, > > On 02/11/2021 07:16, Oleksandr Andrushchenko wrote: >> >> >> On 01.11.21 23:06, Stefano Stabellini wrote: >>> On Mon, 1 Nov 2021, Ian Jackson wrote: >>>> Julien Grall writes ("Re: [PAT

Re: [PATCH v5 07/10] libxl: Only map legacy PCI IRQs if they are supported

2021-11-02 Thread Oleksandr Andrushchenko
On 02.11.21 13:32, Jan Beulich wrote: > On 25.10.2021 15:38, Oleksandr Andrushchenko wrote: >> On 25.10.21 16:22, Roger Pau Monné wrote: >>> On Fri, Oct 08, 2021 at 08:55:32AM +0300, Oleksandr Andrushchenko wrote: >>>> --- a/tools/libs/light/libxl_pci.c >>&

Re: [PATCH v3 08/11] vpci/header: Emulate PCI_COMMAND register for guests

2021-11-02 Thread Oleksandr Andrushchenko
On 02.11.21 15:54, Jan Beulich wrote: > On 02.11.2021 12:50, Roger Pau Monné wrote: >> On Tue, Nov 02, 2021 at 12:19:13PM +0100, Jan Beulich wrote: >>> On 26.10.2021 12:52, Roger Pau Monné wrote: >>>> On Thu, Sep 30, 2021 at 10:52:20AM +0300, Oleksandr Andrus

Re: [PATCH v3 10/11] vpci: Add initial support for virtual PCI bus topology

2021-11-02 Thread Oleksandr Andrushchenko
Hi, Roger On 26.10.21 14:33, Roger Pau Monné wrote: > On Thu, Sep 30, 2021 at 10:52:22AM +0300, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Assign SBDF to the PCI devices being passed through with bus 0. >> The resulting topology is where PCI

Re: [PATCH v3 08/11] vpci/header: Emulate PCI_COMMAND register for guests

2021-11-03 Thread Oleksandr Andrushchenko
On 02.11.21 16:10, Oleksandr Andrushchenko wrote: > > On 02.11.21 15:54, Jan Beulich wrote: >> On 02.11.2021 12:50, Roger Pau Monné wrote: >>> On Tue, Nov 02, 2021 at 12:19:13PM +0100, Jan Beulich wrote: >>>> On 26.10.2021 12:52, Roger Pau Monné wrote: >>

Re: [PATCH v3 10/11] vpci: Add initial support for virtual PCI bus topology

2021-11-03 Thread Oleksandr Andrushchenko
On 03.11.21 10:41, Jan Beulich wrote: > On 03.11.2021 07:34, Oleksandr Andrushchenko wrote: >> Hi, Roger >> >> On 26.10.21 14:33, Roger Pau Monné wrote: >>> On Thu, Sep 30, 2021 at 10:52:22AM +0300, Oleksandr Andrushchenko wrote: >>>> From: Oleksandr A

Re: [PATCH v3 10/11] vpci: Add initial support for virtual PCI bus topology

2021-11-03 Thread Oleksandr Andrushchenko
On 03.11.21 10:52, Roger Pau Monné wrote: > On Wed, Nov 03, 2021 at 06:34:16AM +0000, Oleksandr Andrushchenko wrote: >> Hi, Roger >> >> On 26.10.21 14:33, Roger Pau Monné wrote: >>> On Thu, Sep 30, 2021 at 10:52:22AM +0300, Oleksandr Andrushchenko wrote: >>>

Re: [PATCH v3 08/11] vpci/header: Emulate PCI_COMMAND register for guests

2021-11-03 Thread Oleksandr Andrushchenko
On 03.11.21 11:11, Jan Beulich wrote: > On 03.11.2021 09:53, Oleksandr Andrushchenko wrote: >> >> On 02.11.21 16:10, Oleksandr Andrushchenko wrote: >>> On 02.11.21 15:54, Jan Beulich wrote: >>>> On 02.11.2021 12:50, Roger Pau Monné wrote: >>>>

Re: [PATCH v3 08/11] vpci/header: Emulate PCI_COMMAND register for guests

2021-11-03 Thread Oleksandr Andrushchenko
On 03.11.21 11:24, Jan Beulich wrote: > On 03.11.2021 10:18, Oleksandr Andrushchenko wrote: >> >> On 03.11.21 11:11, Jan Beulich wrote: >>> On 03.11.2021 09:53, Oleksandr Andrushchenko wrote: >>>> On 02.11.21 16:10, Oleksandr Andrushchenko wrote: >&g

Re: [PATCH v3 08/11] vpci/header: Emulate PCI_COMMAND register for guests

2021-11-03 Thread Oleksandr Andrushchenko
On 03.11.21 11:39, Roger Pau Monné wrote: > On Wed, Nov 03, 2021 at 09:18:03AM +0000, Oleksandr Andrushchenko wrote: >> >> On 03.11.21 11:11, Jan Beulich wrote: >>> On 03.11.2021 09:53, Oleksandr Andrushchenko wrote: >>>> On 02.11.21 16:10, Oleksandr Andrushc

Re: [PATCH v3 08/11] vpci/header: Emulate PCI_COMMAND register for guests

2021-11-03 Thread Oleksandr Andrushchenko
On 03.11.21 11:49, Jan Beulich wrote: > On 03.11.2021 10:30, Oleksandr Andrushchenko wrote: >> >> On 03.11.21 11:24, Jan Beulich wrote: >>> On 03.11.2021 10:18, Oleksandr Andrushchenko wrote: >>>> On 03.11.21 11:11, Jan Beulich wrote: >>>>>

Re: [PATCH v3 08/11] vpci/header: Emulate PCI_COMMAND register for guests

2021-11-03 Thread Oleksandr Andrushchenko
On 03.11.21 12:34, Jan Beulich wrote: > On 03.11.2021 11:24, Oleksandr Andrushchenko wrote: >> On 03.11.21 11:49, Jan Beulich wrote: >>> Aiui you want to prevent the guest from clearing the bit if either >>> MSI or MSI-X are in use. Symmetrically, when the guest en

Re: [PATCH v3 08/11] vpci/header: Emulate PCI_COMMAND register for guests

2021-11-03 Thread Oleksandr Andrushchenko
On 03.11.21 13:01, Roger Pau Monné wrote: > On Wed, Nov 03, 2021 at 10:36:36AM +0000, Oleksandr Andrushchenko wrote: >> >> On 03.11.21 12:34, Jan Beulich wrote: >>> On 03.11.2021 11:24, Oleksandr Andrushchenko wrote: >>>> On 03.11.21 11:49, Jan Beulich wrote

Re: [PATCH v3 08/11] vpci/header: Emulate PCI_COMMAND register for guests

2021-11-03 Thread Oleksandr Andrushchenko
On 03.11.21 13:26, Roger Pau Monné wrote: > On Wed, Nov 03, 2021 at 11:02:37AM +0000, Oleksandr Andrushchenko wrote: >> >> On 03.11.21 13:01, Roger Pau Monné wrote: >>> On Wed, Nov 03, 2021 at 10:36:36AM +, Oleksandr Andrushchenko wrote: >>>> On 03.11.2

Re: [PATCH-4.16 v2] xen/arm: fix SBDF calculation for vPCI MMIO handlers

2021-11-03 Thread Oleksandr Andrushchenko
On 03.11.21 00:47, Stefano Stabellini wrote: > On Tue, 2 Nov 2021, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> While in vPCI MMIO trap handlers for the guest PCI host bridge it is not >> enough for SBDF translation to simply call VPCI_ECAM_BD

Re: [PATCH-4.16 v2] xen/arm: fix SBDF calculation for vPCI MMIO handlers

2021-11-03 Thread Oleksandr Andrushchenko
Hi, Julien! On 03.11.21 20:17, Julien Grall wrote: > Hi Oleksandr, > > On 03/11/2021 12:08, Oleksandr Andrushchenko wrote: >> >> >> On 03.11.21 00:47, Stefano Stabellini wrote: >>> On Tue, 2 Nov 2021, Oleksandr Andrushchenko wrote: >>>> From: Oleks

[PATCH v6 1/7] xen/arm: rename DEVICE_PCI to DEVICE_PCI_HOSTBRIDGE

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko To better reflect the nature of the device type and not to make any confusion rename DEVICE_PCI to DEVICE_PCI_HOSTBRIDGE which it really is. Signed-off-by: Oleksandr Andrushchenko Suggested-by: Julien Grall --- New in v6 --- xen/arch/arm/pci/pci-host-generic.c

[PATCH v6 3/7] xen/arm: setup MMIO range trap handlers for hardware domain

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko In order for vPCI to work it needs to maintain guest and hardware domain's views of the configuration space. For example, BARs and COMMAND registers require emulation for guests and the guest view of the registers needs to be in sync with the real contents o

[PATCH v6 2/7] xen/arm: add pci-domain for disabled devices

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko If a PCI host bridge device is present in the device tree, but is disabled, then its PCI host bridge driver was not instantiated. This results in the failure of the pci_get_host_bridge_segment() and the following panic during Xen start: (XEN) Device tree generation

[PATCH v6 0/7] PCI devices passthrough on Arm, part 2

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko Hi, all! This is an assorted series of patches which aim is to make some further basis for PCI passthrough on Arm support. The series continues the work published earlier by Arm [1] and adds new helpers and clears the way for vPCI changes which will follow. RFC is

[PATCH v6 6/7] xen/arm: process pending vPCI map/unmap operations

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko vPCI may map and unmap PCI device memory (BARs) being passed through which may take a lot of time. For this those operations may be deferred to be performed later, so that they can be safely preempted. Currently this deferred processing is happening in common IOREQ

[PATCH v6 4/7] xen/arm: do not map PCI ECAM and MMIO space to Domain-0's p2m

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko PCI host bridges are special devices in terms of implementing PCI passthrough. According to [1] the current implementation depends on Domain-0 to perform the initialization of the relevant PCI host bridge hardware and perform PCI device enumeration. In order to

[PATCH v6 5/7] xen/arm: do not map IRQs and memory for disabled devices

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko Currently Xen maps all IRQs and memory ranges for all devices except those marked for passthrough, e.g. it doesn't pay attention to the "status" property of the node. According to the device tree specification [1]: - "okay" Indicates

[PATCH v6 7/7] xen/arm: do not use void pointer in pci_host_common_probe

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko There is no reason to use void pointer while passing ECAM ops to the pci_host_common_probe function as it is anyway casted to struct pci_ecam_ops inside. For that reason remove the void pointer and pass struct pci_ecam_ops pointer as is. Signed-off-by: Oleksandr

[PATCH v4 03/11] vpci: make vpci registers removal a dedicated function

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko This is in preparation for dynamic assignment of the vpci register handlers depending on the domain: hwdom or guest. Signed-off-by: Oleksandr Andrushchenko --- Since v3: - remove all R-b's due to changes - s/vpci_remove_device_registers/vpci_remove_device_han

[PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko When a vPCI is removed for a PCI device it is possible that we have scheduled a delayed work for map/unmap operations for that device. For example, the following scenario can illustrate the problem: pci_physdev_op pci_add_device init_bars -> modify_b

[PATCH v4 01/11] vpci: fix function attributes for vpci_process_pending

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko vpci_process_pending is defined with different attributes, e.g. with __must_check if CONFIG_HAS_VPCI enabled and not otherwise. Fix this by defining both of the definitions with __must_check. Fixes: 14583a590783 ("7fbb096bf345 kconfig: don't select VPCI i

[PATCH v4 05/11] vpci/header: implement guest BAR register handlers

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko Add relevant vpci register handlers when assigning PCI device to a domain and remove those when de-assigning. This allows having different handlers for different domains, e.g. hwdom and other guests. Emulate guest BAR register values: this allows creating a guest

[PATCH v4 00/11] PCI devices passthrough on Arm, part 3

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko Hi, all! This patch series is focusing on vPCI and adds support for non-identity PCI BAR mappings which is required while passing through a PCI device to a guest. The highlights are: - Add relevant vpci register handlers when assigning PCI device to a domain and

[PATCH v4 07/11] vpci/header: program p2m with guest BAR view

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko Take into account guest's BAR view and program its p2m accordingly: gfn is guest's view of the BAR and mfn is the physical BAR value as set up by the host bridge in the hardware domain. This way hardware doamin sees physical BAR values and guest sees emu

[PATCH v4 04/11] vpci: add hooks for PCI device assign/de-assign

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko When a PCI device gets assigned/de-assigned some work on vPCI side needs to be done for that device. Introduce a pair of hooks so vPCI can handle that. Signed-off-by: Oleksandr Andrushchenko --- Since v3: - remove toolstack roll-back description from the commit

[PATCH v4 06/11] vpci/header: handle p2m range sets per BAR

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko Instead of handling a single range set, that contains all the memory regions of all the BARs and ROM, have them per BAR. This is in preparation of making non-identity mappings in p2m for the MMIOs/ROM. Signed-off-by: Oleksandr Andrushchenko --- Since v3: - re

[PATCH v4 08/11] vpci/header: emulate PCI_COMMAND register for guests

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko Add basic emulation support for guests. At the moment only emulate PCI_COMMAND_INTX_DISABLE bit, the rest is not emulated yet and left as TODO. Signed-off-by: Oleksandr Andrushchenko --- Since v3: - gate more code on CONFIG_HAS_MSI - removed logic for the case

[PATCH v4 09/11] vpci/header: reset the command register when adding devices

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko Reset the command register when passing through a PCI device: it is possible that when passing through a PCI device its memory decoding bits in the command register are already set. Thus, a guest OS may not write to the command register to update memory decoding, so

[PATCH v4 11/11] xen/arm: translate virtual PCI bus topology for guests

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko There are three originators for the PCI configuration space access: 1. The domain that owns physical host bridge: MMIO handlers are there so we can update vPCI register handlers with the values written by the hardware domain, e.g. physical view of the registers vs

[PATCH v4 10/11] vpci: add initial support for virtual PCI bus topology

2021-11-04 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko Assign SBDF to the PCI devices being passed through with bus 0. The resulting topology is where PCIe devices reside on the bus 0 of the root complex itself (embedded endpoints). This implementation is limited to 32 devices which are allowed on a single PCI bus

Re: [PATCH 2/3] drm/xen: Implement mmap as GEM object function

2021-11-08 Thread Oleksandr Andrushchenko
created by the helper macro > DEFINE_DRM_GEM_FOPS(). > > Signed-off-by: Thomas Zimmermann Reviewed-by: Oleksandr Andrushchenko > --- > drivers/gpu/drm/xen/xen_drm_front.c | 16 +--- > drivers/gpu/drm/xen/xen_drm_front_gem.c | 108 +--- > drivers/g

Re: [PATCH v4 11/11] xen/arm: translate virtual PCI bus topology for guests

2021-11-08 Thread Oleksandr Andrushchenko
On 08.11.21 13:10, Jan Beulich wrote: > On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >> --- a/xen/arch/arm/vpci.c >> +++ b/xen/arch/arm/vpci.c >> @@ -41,6 +41,15 @@ static int vpci_mmio_read(struct vcpu *v, mmio_info_t >> *info, >> /* data is ne

Re: [PATCH v4 11/11] xen/arm: translate virtual PCI bus topology for guests

2021-11-08 Thread Oleksandr Andrushchenko
On 08.11.21 16:23, Roger Pau Monné wrote: > On Mon, Nov 08, 2021 at 11:16:42AM +0000, Oleksandr Andrushchenko wrote: >> >> On 08.11.21 13:10, Jan Beulich wrote: >>> On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >>>> --- a/xen/arch/arm/vpci.c >>

Re: [PATCH v6 3/7] xen/arm: setup MMIO range trap handlers for hardware domain

2021-11-09 Thread Oleksandr Andrushchenko
On 05.11.21 08:33, Oleksandr Andrushchenko wrote: > From: Oleksandr Andrushchenko > > [snip] > +int pci_host_iterate_bridges(struct domain *d, > + int (*cb)(struct domain *d, > + struct pci_h

Re: [PATCH] drm/xen: fix potential memleak in error branch

2021-11-15 Thread Oleksandr Andrushchenko
Hi, Bernard! On 15.11.21 05:45, Bernard Zhao wrote: > In function xen_drm_front_gem_import_sg_table, if in error branch, > there maybe potential memleak if not call gem_free_pages_array. > > Signed-off-by: Bernard Zhao > --- > drivers/gpu/drm/xen/xen_drm_front_gem.c | 8 ++-- > 1 file chan

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-15 Thread Oleksandr Andrushchenko
On 15.11.21 18:56, Jan Beulich wrote: > On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> When a vPCI is removed for a PCI device it is possible that we have >> scheduled a delayed work for map/unmap operations for that

Re: [PATCH v4 03/11] vpci: make vpci registers removal a dedicated function

2021-11-16 Thread Oleksandr Andrushchenko
On 15.11.21 18:57, Jan Beulich wrote: > On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> This is in preparation for dynamic assignment of the vpci register >> handlers depending on the domain: hwdom or guest. >> >>

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-16 Thread Oleksandr Andrushchenko
On 16.11.21 10:01, Jan Beulich wrote: > On 16.11.2021 08:32, Oleksandr Andrushchenko wrote: >> On 15.11.21 18:56, Jan Beulich wrote: >>> On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >>>> From: Oleksandr Andrushchenko >>>> >>>> When

Re: [PATCH v4 04/11] vpci: add hooks for PCI device assign/de-assign

2021-11-16 Thread Oleksandr Andrushchenko
On 15.11.21 19:06, Jan Beulich wrote: > On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> When a PCI device gets assigned/de-assigned some work on vPCI side needs >> to be done for that device. Introduce a pair of hooks

Re: [PATCH] xen-pciback: allow compiling on other archs than x86

2021-11-16 Thread Oleksandr Andrushchenko
Hi, Geert! On 16.11.21 11:36, Geert Uytterhoeven wrote: > Hi Oleksandr, > > On Thu, Oct 28, 2021 at 8:15 AM Oleksandr Andrushchenko > wrote: >> From: Oleksandr Andrushchenko >> >> Xen-pciback driver was designed to be built for x86 only. But it >> can also

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-16 Thread Oleksandr Andrushchenko
On 16.11.21 13:38, Jan Beulich wrote: > On 16.11.2021 09:23, Oleksandr Andrushchenko wrote: >> >> On 16.11.21 10:01, Jan Beulich wrote: >>> On 16.11.2021 08:32, Oleksandr Andrushchenko wrote: >>>> On 15.11.21 18:56, Jan Beulich wrote: >>>>>

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-16 Thread Oleksandr Andrushchenko
On 16.11.21 10:23, Oleksandr Andrushchenko wrote: > > On 16.11.21 10:01, Jan Beulich wrote: >> On 16.11.2021 08:32, Oleksandr Andrushchenko wrote: >>> On 15.11.21 18:56, Jan Beulich wrote: >>>> On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: &g

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-16 Thread Oleksandr Andrushchenko
On 16.11.21 16:12, Jan Beulich wrote: > On 16.11.2021 14:41, Oleksandr Andrushchenko wrote: >> >> On 16.11.21 10:23, Oleksandr Andrushchenko wrote: >>> On 16.11.21 10:01, Jan Beulich wrote: >>>> On 16.11.2021 08:32, Oleksandr Andrushchenko wrote: >&g

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-16 Thread Oleksandr Andrushchenko
On 16.11.21 16:24, Oleksandr Andrushchenko wrote: > > On 16.11.21 16:12, Jan Beulich wrote: >> On 16.11.2021 14:41, Oleksandr Andrushchenko wrote: >>> On 16.11.21 10:23, Oleksandr Andrushchenko wrote: >>>> On 16.11.21 10:01, Jan Beulich wrote: >>>>&

Re: [PATCH v6 2/7] xen/arm: add pci-domain for disabled devices

2021-11-16 Thread Oleksandr Andrushchenko
Hi, Julien! On 16.11.21 20:48, Julien Grall wrote: > Hi Oleksander, > > On 05/11/2021 06:33, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> If a PCI host bridge device is present in the device tree, but is >> disabled, then its PCI host b

Re: [PATCH v6 5/7] xen/arm: do not map IRQs and memory for disabled devices

2021-11-17 Thread Oleksandr Andrushchenko
Hi, Julien! On 16.11.21 21:22, Julien Grall wrote: > Hi Oleksandr, > > On 05/11/2021 06:33, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Currently Xen maps all IRQs and memory ranges for all devices except >> those marked for passthrough,

Re: [PATCH v6 2/7] xen/arm: add pci-domain for disabled devices

2021-11-17 Thread Oleksandr Andrushchenko
Hi, Julien! On 17.11.21 23:33, Julien Grall wrote: > Hi Oleksandr, > > On 17/11/2021 06:56, Oleksandr Andrushchenko wrote: >> Hi, Julien! >> >> On 16.11.21 20:48, Julien Grall wrote: >>> Hi Oleksander, >>> >>> On 05/11/2021 06:33, Oleksandr A

Re: [PATCH v6 3/7] xen/arm: setup MMIO range trap handlers for hardware domain

2021-11-17 Thread Oleksandr Andrushchenko
Hi, Julien! On 16.11.21 21:12, Julien Grall wrote: > Hi Oleksandr, > > On 05/11/2021 06:33, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> In order for vPCI to work it needs to maintain guest and hardware >> domain's views of the conf

Re: [PATCH v6 7/7] xen/arm: do not use void pointer in pci_host_common_probe

2021-11-17 Thread Oleksandr Andrushchenko
Hi, Julien! On 17.11.21 23:45, Julien Grall wrote: > Hi Oleksandr, > > On 05/11/2021 06:33, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> There is no reason to use void pointer while passing ECAM ops to the >> pci_host_common_probe f

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-17 Thread Oleksandr Andrushchenko
On 17.11.21 10:28, Jan Beulich wrote: > On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> When a vPCI is removed for a PCI device it is possible that we have >> scheduled a delayed work for map/unmap operations for that

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-18 Thread Oleksandr Andrushchenko
On 18.11.21 10:36, Jan Beulich wrote: > On 18.11.2021 08:49, Oleksandr Andrushchenko wrote: >> >> On 17.11.21 10:28, Jan Beulich wrote: >>> On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >>>> From: Oleksandr Andrushchenko >>>> >>>

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-18 Thread Oleksandr Andrushchenko
On 18.11.21 11:15, Jan Beulich wrote: > On 18.11.2021 09:54, Oleksandr Andrushchenko wrote: >> On 18.11.21 10:36, Jan Beulich wrote: >>> On 18.11.2021 08:49, Oleksandr Andrushchenko wrote: >>>> On 17.11.21 10:28, Jan Beulich wrote: >>>>> On 05

Re: [PATCH v6 3/7] xen/arm: setup MMIO range trap handlers for hardware domain

2021-11-18 Thread Oleksandr Andrushchenko
On 18.11.21 09:27, Oleksandr Andrushchenko wrote: > Hi, Julien! > > On 16.11.21 21:12, Julien Grall wrote: >> Hi Oleksandr, >> >> On 05/11/2021 06:33, Oleksandr Andrushchenko wrote: >>> From: Oleksandr Andrushchenko >>> >>> In order fo

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-18 Thread Oleksandr Andrushchenko
Hi, Julien! On 16.11.21 20:02, Julien Grall wrote: > Hi Oleksandr, > > On 16/11/2021 14:24, Oleksandr Andrushchenko wrote: >> >> >> On 16.11.21 16:12, Jan Beulich wrote: >>> On 16.11.2021 14:41, Oleksandr Andrushchenko wrote: >>>> >>>>

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-18 Thread Oleksandr Andrushchenko
On 18.11.21 15:25, Jan Beulich wrote: > On 18.11.2021 10:32, Oleksandr Andrushchenko wrote: >> >> On 18.11.21 11:15, Jan Beulich wrote: >>> On 18.11.2021 09:54, Oleksandr Andrushchenko wrote: >>>> On 18.11.21 10:36, Jan Beulich wrote: >>>>>

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-18 Thread Oleksandr Andrushchenko
On 18.11.21 16:04, Roger Pau Monné wrote: > Sorry, I've been quite busy with other staff. > > On Thu, Nov 18, 2021 at 01:48:06PM +0000, Oleksandr Andrushchenko wrote: >> >> On 18.11.21 15:25, Jan Beulich wrote: >>> On 18.11.2021 10:32, Oleksandr Andrushchenko

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-18 Thread Oleksandr Andrushchenko
On 18.11.21 16:35, Jan Beulich wrote: > On 18.11.2021 15:14, Oleksandr Andrushchenko wrote: >> On 18.11.21 16:04, Roger Pau Monné wrote: >>> Indeed. In the physdevop failure case this comes from an hypercall >>> context, so maybe you could do the mappi

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-18 Thread Oleksandr Andrushchenko
On 18.11.21 17:16, Jan Beulich wrote: > On 18.11.2021 16:11, Oleksandr Andrushchenko wrote: >> >> On 18.11.21 16:35, Jan Beulich wrote: >>> On 18.11.2021 15:14, Oleksandr Andrushchenko wrote: >>>> On 18.11.21 16:04, Roger Pau Monné wrote: >>>>&g

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-18 Thread Oleksandr Andrushchenko
On 18.11.21 17:41, Jan Beulich wrote: > On 18.11.2021 16:21, Oleksandr Andrushchenko wrote: >> On 18.11.21 17:16, Jan Beulich wrote: >>> On 18.11.2021 16:11, Oleksandr Andrushchenko wrote: >>>> On 18.11.21 16:35, Jan Beulich wrote: >>>>> On 18

Re: [PATCH v4 05/11] vpci/header: implement guest BAR register handlers

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 13:58, Jan Beulich wrote: > On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Add relevant vpci register handlers when assigning PCI device to a domain >> and remove those when de-assigning. This allows havin

Re: [PATCH v4 06/11] vpci/header: handle p2m range sets per BAR

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 14:05, Jan Beulich wrote: > On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Instead of handling a single range set, that contains all the memory >> regions of all the BARs and ROM, have them per BAR. > Iirc Rog

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-19 Thread Oleksandr Andrushchenko
Hi, Roger, Jan! On 18.11.21 17:53, Jan Beulich wrote: > On 18.11.2021 16:46, Oleksandr Andrushchenko wrote: >> On 18.11.21 17:41, Jan Beulich wrote: >>> On 18.11.2021 16:21, Oleksandr Andrushchenko wrote: >>>> On 18.11.21 17:16, Jan Beulich wrote: >>>>

Re: [PATCH v4 07/11] vpci/header: program p2m with guest BAR view

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 14:33, Jan Beulich wrote: > On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Take into account guest's BAR view and program its p2m accordingly: >> gfn is guest's view of the BAR and mfn is the physic

Re: [PATCH v4 05/11] vpci/header: implement guest BAR register handlers

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 14:37, Jan Beulich wrote: > On 19.11.2021 13:10, Oleksandr Andrushchenko wrote: >> On 19.11.21 13:58, Jan Beulich wrote: >>> On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >>>> From: Oleksandr Andrushchenko >>>> >>>> Add rel

Re: [PATCH v4 06/11] vpci/header: handle p2m range sets per BAR

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 14:45, Jan Beulich wrote: > On 19.11.2021 13:13, Oleksandr Andrushchenko wrote: >> On 19.11.21 14:05, Jan Beulich wrote: >>> On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >>>> From: Oleksandr Andrushchenko >>>> >>>> Instead

Re: [PATCH v4 05/11] vpci/header: implement guest BAR register handlers

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 14:49, Jan Beulich wrote: > On 19.11.2021 13:46, Oleksandr Andrushchenko wrote: >> On 19.11.21 14:37, Jan Beulich wrote: >>> On 19.11.2021 13:10, Oleksandr Andrushchenko wrote: >>>> On 19.11.21 13:58, Jan Beulich wrote: >>>>> On 05

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 15:00, Jan Beulich wrote: > On 19.11.2021 13:34, Oleksandr Andrushchenko wrote: >> Possible locking and other work needed: >> === >> >> 1. pcidevs_{lock|unlock} is too heavy and is per-host >> 2. pdev->vpci->

Re: [PATCH v4 05/11] vpci/header: implement guest BAR register handlers

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 15:02, Jan Beulich wrote: > On 19.11.2021 13:54, Oleksandr Andrushchenko wrote: >> On 19.11.21 14:49, Jan Beulich wrote: >>> On 19.11.2021 13:46, Oleksandr Andrushchenko wrote: >>>> On 19.11.21 14:37, Jan Beulich wrote: >>>>> On 19

Re: [PATCH v4 06/11] vpci/header: handle p2m range sets per BAR

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 15:06, Jan Beulich wrote: > On 19.11.2021 13:50, Oleksandr Andrushchenko wrote: >> On 19.11.21 14:45, Jan Beulich wrote: >>> On 19.11.2021 13:13, Oleksandr Andrushchenko wrote: >>>> On 19.11.21 14:05, Jan Beulich wrote: >>>>> On 05

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 15:25, Jan Beulich wrote: > On 19.11.2021 14:16, Oleksandr Andrushchenko wrote: >> On 19.11.21 15:00, Jan Beulich wrote: >>> On 19.11.2021 13:34, Oleksandr Andrushchenko wrote: >>>> Possible locking and other work needed: >>>> =

Re: [PATCH v4 06/11] vpci/header: handle p2m range sets per BAR

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 15:29, Jan Beulich wrote: > On 19.11.2021 14:19, Oleksandr Andrushchenko wrote: >> >> On 19.11.21 15:06, Jan Beulich wrote: >>> On 19.11.2021 13:50, Oleksandr Andrushchenko wrote: >>>> On 19.11.21 14:45, Jan Beulich wrote: >>>>>

Re: [PATCH v4 06/11] vpci/header: handle p2m range sets per BAR

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 15:16, Jan Beulich wrote: > On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >> @@ -95,10 +102,25 @@ int vpci_add_handlers(struct pci_dev *pdev) >> INIT_LIST_HEAD(&pdev->vpci->handlers); >> spin_lock_init(&pdev->vpci->lock); &

Re: [PATCH v4 00/11] PCI devices passthrough on Arm, part 3

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 15:56, Jan Beulich wrote: > On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> >> Hi, all! >> >> This patch series is focusing on vPCI and adds support for non-identity >> PCI BAR mappings which is require

Re: [PATCH v4 06/11] vpci/header: handle p2m range sets per BAR

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 15:57, Jan Beulich wrote: > On 19.11.2021 14:41, Oleksandr Andrushchenko wrote: >> >> On 19.11.21 15:16, Jan Beulich wrote: >>> On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >>>> @@ -95,10 +102,25 @@ int vpci_add_handlers(struct pci_dev *pd

Re: [PATCH v4 00/11] PCI devices passthrough on Arm, part 3

2021-11-19 Thread Oleksandr Andrushchenko
On 19.11.21 16:23, Roger Pau Monné wrote: > On Fri, Nov 19, 2021 at 02:56:12PM +0100, Jan Beulich wrote: >> On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >>> From: Oleksandr Andrushchenko >>> >>> Hi, all! >>> >>> This patch series

Re: [PATCH v4 06/11] vpci/header: handle p2m range sets per BAR

2021-11-22 Thread Oleksandr Andrushchenko
On 22.11.21 10:24, Jan Beulich wrote: > On 19.11.2021 15:09, Oleksandr Andrushchenko wrote: >> On 19.11.21 15:57, Jan Beulich wrote: >>> On 19.11.2021 14:41, Oleksandr Andrushchenko wrote: >>>> On 19.11.21 15:16, Jan Beulich wrote: >>>>> On 05

Re: [PATCH v4 00/11] PCI devices passthrough on Arm, part 3

2021-11-22 Thread Oleksandr Andrushchenko
On 22.11.21 10:22, Jan Beulich wrote: > On 19.11.2021 15:23, Roger Pau Monné wrote: >> On Fri, Nov 19, 2021 at 02:56:12PM +0100, Jan Beulich wrote: >>> On 05.11.2021 07:56, Oleksandr Andrushchenko wrote: >>>> From: Oleksandr Andrushchenko >>>> &g

[PATCH 2/2] vpci: use named rangeset for BARs

2021-11-22 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko Use a named range set instead of an anonymous one, but do not print it while dumping range sets for a domain. Suggested-by: Jan Beulich Signed-off-by: Oleksandr Andrushchenko --- xen/drivers/vpci/header.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion

[PATCH 1/2] rangeset: add RANGESETF_no_print flag

2021-11-22 Thread Oleksandr Andrushchenko
From: Oleksandr Andrushchenko There are range sets which should not be printed, so introduce a flag which allows marking those as such. Implement relevant logic to skip such entries while printing. Suggested-by: Jan Beulich Signed-off-by: Oleksandr Andrushchenko --- xen/common/rangeset.c

Re: [PATCH 2/2] vpci: use named rangeset for BARs

2021-11-22 Thread Oleksandr Andrushchenko
On 22.11.21 12:43, Jan Beulich wrote: > On 22.11.2021 11:27, Roger Pau Monné wrote: >> On Mon, Nov 22, 2021 at 11:28:25AM +0200, Oleksandr Andrushchenko wrote: >>> --- a/xen/drivers/vpci/header.c >>> +++ b/xen/drivers/vpci/header.c >>> @@ -206,12 +206,16 @@ st

Re: [PATCH 2/2] vpci: use named rangeset for BARs

2021-11-22 Thread Oleksandr Andrushchenko
On 22.11.21 12:54, Jan Beulich wrote: > On 22.11.2021 11:50, Oleksandr Andrushchenko wrote: >> >> On 22.11.21 12:43, Jan Beulich wrote: >>> On 22.11.2021 11:27, Roger Pau Monné wrote: >>>> On Mon, Nov 22, 2021 at 11:28:25AM +0200, Oleksandr Andrushchenko

Re: [PATCH 2/2] vpci: use named rangeset for BARs

2021-11-22 Thread Oleksandr Andrushchenko
On 22.11.21 13:08, Jan Beulich wrote: > On 22.11.2021 11:59, Oleksandr Andrushchenko wrote: >> On 22.11.21 12:54, Jan Beulich wrote: >>> On 22.11.2021 11:50, Oleksandr Andrushchenko wrote: >>>> On 22.11.21 12:43, Jan Beulich wrote: >>>>> On 22.11.202

Re: [PATCH 1/2] rangeset: add RANGESETF_no_print flag

2021-11-22 Thread Oleksandr Andrushchenko
On 22.11.21 11:28, Oleksandr Andrushchenko wrote: > From: Oleksandr Andrushchenko > > There are range sets which should not be printed, so introduce a flag > which allows marking those as such. Implement relevant logic to skip > such entries while printing. > > Sugg

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-22 Thread Oleksandr Andrushchenko
On 19.11.21 15:34, Oleksandr Andrushchenko wrote: > > On 19.11.21 15:25, Jan Beulich wrote: >> On 19.11.2021 14:16, Oleksandr Andrushchenko wrote: >>> On 19.11.21 15:00, Jan Beulich wrote: >>>> On 19.11.2021 13:34, Oleksandr Andrushchenko wrote: >>>

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-22 Thread Oleksandr Andrushchenko
On 22.11.21 16:37, Jan Beulich wrote: > On 22.11.2021 15:21, Oleksandr Andrushchenko wrote: >> On 19.11.21 15:34, Oleksandr Andrushchenko wrote: >>> On 19.11.21 15:25, Jan Beulich wrote: >>>> On 19.11.2021 14:16, Oleksandr Andrushchenko wrote: >>>

Re: [PATCH v4 02/11] vpci: cancel pending map/unmap on vpci removal

2021-11-22 Thread Oleksandr Andrushchenko
On 22.11.21 16:57, Jan Beulich wrote: > On 22.11.2021 15:45, Oleksandr Andrushchenko wrote: >> >> On 22.11.21 16:37, Jan Beulich wrote: >>> On 22.11.2021 15:21, Oleksandr Andrushchenko wrote: >>>> On 19.11.21 15:34, Oleksandr Andrushchenko wrote: >&g

Re: [PATCH v6 2/7] xen/arm: add pci-domain for disabled devices

2021-11-22 Thread Oleksandr Andrushchenko
On 22.11.21 17:29, Julien Grall wrote: > > > On 18/11/2021 07:13, Oleksandr Andrushchenko wrote: >> Hi, Julien! > > Hi Oleksandr, > >> On 17.11.21 23:33, Julien Grall wrote: >>> Hi Oleksandr, >>> >>> On 17/11/2021 06:56, Oleksandr Andrushc

<    8   9   10   11   12   13   14   15   >