16-bit _SEG vs 8 bit PCIe Flit mode Segment

From: Bjorn Helgaas
Date: Tue Nov 01 2022 - 10:49:16 EST


ACPI r6.5, sec 6.5.6, currently says the low 16 bits of _SEG are the
PCI Segment Group number. PCIe r6.0, sec 2.2.1.2, added Flit mode
with TLP headers that may contain an 8-bit Segment number.

ACPI currently says _SEG is purely a software thing and has no
connection to any physical entities. But this may get a little blurry
when Segment numbers appear in TLPs. For example, AER header logs
will likely contain the Flit Segment, and we'll need to correlate that
with the _SEG-derived identifiers Linux uses.

One possibility is to reduce the width of _SEG to 8 bits to match the
Flit mode Segment and require them to be identical.

I'm trying to figure out whether that would break any existing
systems. I've heard rumors that large systems like SGI UV may use
more than 8 bits of _SEG. But I don't know any details.

Bjorn