coreboot/src/soc/intel
Furquan Shaikh 17b4803381 soc/intel/common/block/acpi: Mask lower 20 bits of TOLUD
Lower 20bits of TOLUD register include 19 reserved bits and 1 lock
bit. If lock bit is set, then northbridge.asl was reporting the base
address of low MMIO incorrectly i.e. off by 1. This resulted in Linux
kernel complaining that the MMIO window allocated to the device at the
base of low MMIO is incorrect:

pci 0000:00:1c.0: can't claim BAR 8 [mem 0x7fc00000-0x7fcfffff]: no compatible brw
pci 0000:00:1c.0: [mem 0x7fc00000-0x7fcfffff] clipped to [mem 0x7fc00001-0x7fcfff]
pci 0000:00:1c.0:   bridge window [mem 0x7fc00001-0x7fcfffff]

This change masks the lower 20 bits of TOLUD register when exposing it
in the ACPI tables to ensure that the base address of low MMIO region
is reported correctly.

TEST=Verified that kernel dmesg no longer complains about the BAR at
base of low MMIO.

Signed-off-by: Furquan Shaikh <furquan@google.com>
Change-Id: I4849367d5fa03d70c50dc97c7e84454a65d1887a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41455
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2020-05-17 04:07:16 +00:00
..
apollolake soc/intel: Drop ABOVE_4GB_MEM_BASE_SIZE and use cpu_phys_address_size() 2020-05-14 15:06:39 +00:00
baytrail src: Remove unused '#include <stdint.h>' 2020-05-13 08:48:17 +00:00
braswell src: Remove unused '#include <stdint.h>' 2020-05-13 08:48:17 +00:00
broadwell src: Remove unused '#include <stddef.h>' 2020-05-13 08:48:50 +00:00
cannonlake soc/intel: Drop ABOVE_4GB_MEM_BASE_SIZE and use cpu_phys_address_size() 2020-05-14 15:06:39 +00:00
common soc/intel/common/block/acpi: Mask lower 20 bits of TOLUD 2020-05-17 04:07:16 +00:00
denverton_ns src: Remove unused '#include <stdint.h>' 2020-05-13 08:48:17 +00:00
icelake soc/intel: Drop ABOVE_4GB_MEM_BASE_SIZE and use cpu_phys_address_size() 2020-05-14 15:06:39 +00:00
jasperlake soc/intel: Drop ABOVE_4GB_MEM_BASE_SIZE and use cpu_phys_address_size() 2020-05-14 15:06:39 +00:00
quark device/pci_device: Extract pci_domain_set_resources from SOC 2020-05-12 20:07:25 +00:00
skylake soc/intel: Drop ABOVE_4GB_MEM_BASE_SIZE and use cpu_phys_address_size() 2020-05-14 15:06:39 +00:00
tigerlake soc/intel: Drop ABOVE_4GB_MEM_BASE_SIZE and use cpu_phys_address_size() 2020-05-14 15:06:39 +00:00
xeon_sp src/mainboard: Remove unused 'include <stdlib.h>' 2020-05-13 08:54:14 +00:00
Kconfig fsp2_0: Gather Kconfig declarations 2020-04-05 23:26:24 +00:00