[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [regression] Re: [PATCH v2] x86/vpci: fix handling of BAR overlaps with non-hole regions
On 16/05/2025 9:31 am, Roger Pau Monne wrote: > diff --git a/xen/arch/x86/pci.c b/xen/arch/x86/pci.c > index 97b792e578f1..afaf9fe1c053 100644 > --- a/xen/arch/x86/pci.c > +++ b/xen/arch/x86/pci.c > @@ -98,3 +98,53 @@ int pci_conf_write_intercept(unsigned int seg, unsigned > int bdf, > > return rc; > } > + > +bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end) > +{ > + /* > + * Check if BAR is not overlapping with any memory region defined > + * in the memory map. > + */ > + if ( !is_memory_hole(start, end) ) > + gdprintk(XENLOG_WARNING, > + "%pp: BAR at [%"PRI_mfn", %"PRI_mfn"] not in memory map > hole\n", > + &pdev->sbdf, mfn_x(start), mfn_x(end)); This is causing substantial logspam now. From adl-* in CI, (XEN) [ 4.131847] PCI add device 0000:00:14.0 [ 0.227775] pci 0000:00:14.2: [8086:7aa7] type 00 class 0x050000 (XEN) [ 4.131987] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.131996] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132013] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132015] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132062] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132070] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132084] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132086] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole [ 0.227942] pci 0000:00:14.2: reg 0x10: [mem 0x00000000-0x00003fff 64bit] (XEN) [ 4.132130] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132138] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132153] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132155] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132202] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132210] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132224] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132226] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole [ 0.228082] pci 0000:00:14.2: reg 0x18: [mem 0x00000000-0x00000fff 64bit] (XEN) [ 4.132270] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132277] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132291] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132294] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132322] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132330] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132343] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132346] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132360] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132368] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132382] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132384] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132412] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132420] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132433] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132436] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132451] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132458] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132474] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132476] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132528] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132536] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132550] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00003] not in memory map hole (XEN) [ 4.132552] arch/x86/pci.c:109:d0v0 0000:00:14.2: BAR at [00000, 00000] not in memory map hole (XEN) [ 4.132729] PCI add device 0000:00:14.2 It really needs to become less verbose. ~Andrew
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |