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


Reply via email to