On 8/8/19 5:05 PM, Luck, Tony wrote: > - base = ioremap((resource_size_t)addr, 0x10000); > + base = ioremap((resource_size_t)addr, 0x8000); > > Changing one magic value for another. :-(
Ok, I'll give it a name. > Do different BIOS do different things? I don't recall seeing this error > (but perhaps I missed it, or perhaps the kernel has added better checks). Sure, depending on where a BIOS locates MMIO resources the reported reserved ranges will vary. Normally those resources are packed by size so any changes in the installed/enabled device list can change the layout of the MMIO reserved regions as well. The BIOS could also choose to report adjacent MMIO resources as one larger reserved region. > If this number is at the whim of the BIOS, is there some way to > figure out what is the right value on a specific implementation? Digging back though the EDS (Intel Doc #558579) I found that there are two sizes we need to handle. If we're reading via the memory controller hub that BAR is 32KB per section 44.2.7 of the EDS. All sideband ports are 64KB, I'll resubmit taking that into account.