All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 12/29] xen/asm-generic: introduce stub header pci.h
Date: Tue, 31 Oct 2023 14:44:40 +0200	[thread overview]
Message-ID: <eca01dd66669a96c437c176ea6955ac0bdfc4edb.camel@gmail.com> (raw)
In-Reply-To: <a826292a-44de-c149-0831-01578d9b38c3@suse.com>

On Mon, 2023-10-30 at 17:43 +0100, Jan Beulich wrote:
> On 30.10.2023 17:34, Oleksii wrote:
> > Hello Jan,
> > 
> > On Thu, 2023-10-19 at 11:55 +0200, Jan Beulich wrote:
> > > On 14.09.2023 16:56, Oleksii Kurochko wrote:
> > > > --- /dev/null
> > > > +++ b/xen/include/asm-generic/pci.h
> > > > @@ -0,0 +1,18 @@
> > > > +/* SPDX-License-Identifier: GPL-2.0-only */
> > > > +#ifndef __ASM_GENERIC_PCI_H__
> > > > +#define __ASM_GENERIC_PCI_H__
> > > > +
> > > > +struct arch_pci_dev {
> > > > +};
> > > > +
> > > > +#endif /* __ASM_GENERIC_PCI_H__ */
> > > 
> > > While more involved, I still wonder whether xen/pci.h could also
> > > avoid
> > > including asm/pci.h when !HAS_PCI. Of course there's more than
> > > just
> > > the
> > > #include which then would need #ifdef-ing out.
> > > 
> > > Jan
> > 
> > It looks like we can do that but only one question should be
> > resolved.
> > In ARM case, in <asm/pci.h> there is !HAS_PCI branch:
> > 
> > #else   /*!CONFIG_HAS_PCI*/
> > 
> > struct arch_pci_dev { };
> > 
> > static always_inline bool is_pci_passthrough_enabled(void)
> > {
> >     return false;
> > }
> > 
> > struct pci_dev;
> > 
> > static inline void arch_pci_init_pdev(struct pci_dev *pdev) {}
> > 
> > static inline int pci_get_host_bridge_segment(const struct
> > dt_device_node *node,
> >                                               uint16_t *segment)
> > {
> >     ASSERT_UNREACHABLE();
> >     return -EINVAL;
> > }
> > 
> > static inline int pci_get_new_domain_nr(void)
> > {
> >     ASSERT_UNREACHABLE();
> >     return -1;
> > }
> > 
> > #endif  /*!CONFIG_HAS_PCI*/
> > 
> > And if is_pci_passthrough_enabled(), arch_pci_init_pdev() is used
> > by
> > all architrectures but pci_get_host_bridge_segment() and
> > pci_get_new_domain_nr() is ARM specific.
> > Does it make sense to add them to <xen/pci.h> and ifdef them?
> 
> Counter question: Is the arch_pci_init_pdev() stub actually needed?
> The sole caller looks to be in a file which is only built when
> HAS_PCI=y.
You are right. It seems that there is no need for pci_init_pdev() stub.

> 
> For the Arm-only stubs (which are called from Arm-specific code
> afaics)
> all it would take is that the respective .c files include asm/pci.h
> (possibly alongside xen/pci.h).
We can do in that way.

Thanks.

~ Oleksii


  reply	other threads:[~2023-10-31 12:45 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-14 14:56 [PATCH v1 00/29] Introduce stub headers necessary for full Xen build Oleksii Kurochko
2023-09-14 14:56 ` [PATCH v1 01/29] xen/asm-generic: introduce stub header spinlock.h Oleksii Kurochko
2023-09-14 15:35   ` Jan Beulich
2023-09-18  8:43     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 02/29] xen/asm-generic: introduce stub header paging.h Oleksii Kurochko
2023-10-19  9:05   ` Jan Beulich
2023-10-19 10:35     ` Julien Grall
2023-10-19 10:49       ` Jan Beulich
2023-10-23  9:35       ` Oleksii
2023-10-23 10:15         ` Jan Beulich
2023-10-23  9:40     ` Oleksii
2023-10-23 10:29       ` Jan Beulich
2023-09-14 14:56 ` [PATCH v1 03/29] xen/asm-generic: introduce stub header cpufeature.h Oleksii Kurochko
2023-10-19  9:11   ` Jan Beulich
2023-10-23  9:49     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 04/29] xen/asm-generic: introduce stub header device.h Oleksii Kurochko
2023-10-19  9:14   ` Jan Beulich
2023-10-19 10:42     ` Julien Grall
2023-10-19 10:53       ` Jan Beulich
2023-10-19 10:57         ` Julien Grall
2023-10-19 11:01           ` Jan Beulich
2023-10-19 11:07             ` Julien Grall
2023-10-19 11:14               ` Jan Beulich
2023-10-19 11:27                 ` Julien Grall
2023-10-19 11:41                   ` Jan Beulich
2023-10-19 12:12                     ` Julien Grall
2023-10-23 10:17                       ` Oleksii
2023-10-23 10:33                         ` Jan Beulich
2023-10-24 13:01                           ` Julien Grall
2023-10-23 10:12     ` Oleksii
2023-10-23 10:35       ` Jan Beulich
2023-10-25  8:23         ` Oleksii
2023-09-14 14:56 ` [PATCH v1 05/29] xen/asm-generic: introduce stub header event.h Oleksii Kurochko
2023-10-19  9:18   ` Jan Beulich
2023-10-23 10:23     ` Oleksii
2023-10-23 10:40       ` Jan Beulich
2023-09-14 14:56 ` [PATCH v1 06/29] xen/asm-generic: introduce stub header grant_table.h Oleksii Kurochko
2023-10-19  9:19   ` Jan Beulich
2023-10-23 10:32     ` Oleksii
2023-10-23 10:45       ` Jan Beulich
2023-09-14 14:56 ` [PATCH v1 07/29] xen/asm-generic: introduce stub header guest_atomics.h Oleksii Kurochko
2023-09-14 14:56 ` [PATCH v1 08/29] xen/asm-generic: introduce stub hypercall.h Oleksii Kurochko
2023-10-19  9:24   ` Jan Beulich
2023-10-23 10:34     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 09/29] xen/asm-generic: introduce stub header iocap.h Oleksii Kurochko
2023-10-19  9:25   ` Jan Beulich
2023-10-23 10:37     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 10/29] xen/asm-generic: introduce stub header iommu.h Oleksii Kurochko
2023-10-19  9:44   ` Jan Beulich
2023-10-23 10:43     ` Oleksii
2023-10-23 10:47       ` Jan Beulich
2023-10-24 12:46         ` Oleksii
2023-09-14 14:56 ` [PATCH v1 11/29] xen/asm-generic: introduce stub header mem_access.h Oleksii Kurochko
2023-10-19  9:51   ` Jan Beulich
2023-10-23 10:45     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 12/29] xen/asm-generic: introduce stub header pci.h Oleksii Kurochko
2023-10-19  9:55   ` Jan Beulich
2023-10-23 10:50     ` Oleksii
2023-10-23 11:58       ` Jan Beulich
2023-10-24 12:38         ` Oleksii
2023-10-30 16:34     ` Oleksii
2023-10-30 16:43       ` Jan Beulich
2023-10-31 12:44         ` Oleksii [this message]
2023-09-14 14:56 ` [PATCH v1 13/29] xen/asm-generic: introduce stub header random.h Oleksii Kurochko
2023-09-14 14:56 ` [PATCH v1 14/29] xen/asm-generic: introduce stub header setup.h Oleksii Kurochko
2023-09-14 14:56 ` [PATCH v1 15/29] xen/asm-generic: introduce stub header xenoprof.h Oleksii Kurochko
2023-10-19 10:09   ` Jan Beulich
2023-10-23 11:17     ` Oleksii
2023-10-23 12:00       ` Jan Beulich
2023-09-14 14:56 ` [PATCH v1 16/29] xen/asm-generic: introduce stub header flushtlb.h Oleksii Kurochko
2023-09-15  5:15   ` Jiamei Xie
2023-09-18  8:44     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 17/29] xen/asm-generic: introduce stub header percpu.h Oleksii Kurochko
2023-10-19 10:39   ` Jan Beulich
2023-10-23 11:17     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 18/29] xen/asm-generic: introduce stub header smp.h Oleksii Kurochko
2023-10-19 10:58   ` Jan Beulich
2023-10-23 11:28     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 19/29] xen/asm-generic: introduce stub header hardirq.h Oleksii Kurochko
2023-10-19 11:04   ` Jan Beulich
2023-10-23 11:29     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 20/29] xen/asm-generic: introduce stub header div64.h Oleksii Kurochko
2023-10-19 11:12   ` Jan Beulich
2023-10-23 11:32     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 21/29] xen/asm-generic: introduce stub header altp2m.h Oleksii Kurochko
2023-10-19 11:27   ` Jan Beulich
2023-10-23 11:34     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 22/29] xen/asm-generic: introduce stub header delay.h Oleksii Kurochko
2023-10-19 11:30   ` Jan Beulich
2023-10-23 11:35     ` Oleksii
2023-10-31 14:30   ` Oleksii
2023-09-14 14:56 ` [PATCH v1 23/29] xen/asm-generic: introduce stub header domain.h Oleksii Kurochko
2023-09-14 14:56 ` [PATCH v1 24/29] xen/asm-generic: introduce stub header guest_access.h Oleksii Kurochko
2023-09-14 14:56 ` [PATCH v1 25/29] xen/asm-generic: introduce stub header irq.h Oleksii Kurochko
2023-10-19 11:34   ` Jan Beulich
2023-09-14 14:56 ` [PATCH v1 26/29] xen/asm-generic: introduce stub header monitor.h Oleksii Kurochko
2023-10-19 11:35   ` Jan Beulich
2023-10-23 11:37     ` Oleksii
2023-09-14 14:56 ` [PATCH v1 27/29] xen/asm-generic: introduce stub header numa.h Oleksii Kurochko
2023-10-19 11:45   ` Jan Beulich
2023-09-14 14:56 ` [PATCH v1 28/29] xen/asm-generic: introduce stub header p2m.h Oleksii Kurochko
2023-09-14 14:56 ` [PATCH v1 29/29] xen/asm-generic: introduce stub header softirq.h Oleksii Kurochko
2023-09-14 15:08 ` [PATCH v1 00/29] Introduce stub headers necessary for full Xen build Jan Beulich
2023-09-18  8:51   ` Oleksii
2023-09-18  8:53     ` Oleksii
2023-09-18  9:29     ` Jan Beulich
2023-09-18  9:32       ` Julien Grall
2023-09-18  9:34         ` Jan Beulich
2023-09-18 12:05       ` Oleksii
2023-09-18 12:38         ` Jan Beulich
2023-09-22  6:00           ` Oleksii
2023-10-23  9:42             ` Oleksii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=eca01dd66669a96c437c176ea6955ac0bdfc4edb.camel@gmail.com \
    --to=oleksii.kurochko@gmail.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=george.dunlap@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien@xen.org \
    --cc=sstabellini@kernel.org \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.