On 04.02.2025 08:45, Jan Beulich wrote: > On 03.02.2025 18:18, Roger Pau Monné wrote: >> On Mon, Feb 03, 2025 at 05:27:24PM +0100, Jan Beulich wrote: >>> --- a/xen/arch/x86/x86_64/mmconfig-shared.c >>> +++ b/xen/arch/x86/x86_64/mmconfig-shared.c >>> @@ -402,6 +402,9 @@ void __init acpi_mmcfg_init(void) >>> { >>> bool valid = true; >>> >>> + if ( pci_add_segment(0) ) >>> + panic("Could not initialize PCI segment 0\n"); >> >> Do you still need the pci_add_segment() call here? >> >> pci_add_device() will already add the segments as required, and >> acpi_parse_mcfg() does also add the segments described in the MCFG. > > Well, in principle you're right. It's more the action in case of > failure that makes me want to keep it: We won't fare very well on > about every system if we can't register segment 0.
Thinking about it: Your question may be more applicable on Arm, as I'm entirely uncertain whether there segment 0 is always going to be needed. I could well imagine system designers deliberately putting all the devices elsewhere. Segment 0 always being in use on x86 is more a heritage thing, after all. Jan