u-boot/drivers/pci
Pali Rohár d9f554b624 pci: Add checks to prevent config space overflow
PCIe config space has address range 0-4095. So do not allow reading from
addresses outside of this range. Lot of U-Boot drivers do not expect that
passed value is not in this range. PCI DM read function is extended to
fill read value to all ones or zeros when it fails as U-Boot callers
ignores return value.

Calling U-Boot command 'pci display.b 0.0.0 0 0x2000' now stops printing
config space at the end (before 0x1000 address).

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
2022-08-26 14:59:21 -04:00
..
Kconfig pci: pci_mvebu: Add support for reset-gpios 2022-08-09 08:58:27 +02:00
Makefile pci: Remove pci_sh4 and related defines. 2022-07-05 17:04:59 -04:00
pci_auto_common.c pci: Fix printf format for regions 2021-10-14 19:45:07 -04:00
pci_auto.c pci: Work around PCIe link training failures 2022-01-14 12:26:42 -05:00
pci_common.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
pci_compat.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci_gt64120.c pci: gt64120: Use PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_internal.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
pci_mpc85xx.c powerpc: Remove unused MPC8540/60ADS code 2022-03-03 16:51:19 -05:00
pci_msc01.c pci: msc01: Use PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_mvebu.c pci: pci_mvebu: Add support for reset-gpios 2022-08-09 08:58:27 +02:00
pci_octeontx.c pci: pci_octeontx: Use PCIE_ECAM_OFFSET() macro 2022-01-12 14:21:24 -05:00
pci_rom.c video: Rename structs and functions to avoid VBE 2022-08-12 08:14:23 -04:00
pci_sandbox.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
pci_sh7751.c pci: sh7751: Fix access to config space via PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_sh7780.c pci: sh7780: Use PCI_CONF1_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pci_tegra.c pci: tegra: Update error prints with new lines 2022-06-13 15:31:00 -07:00
pci_x86.c dm: pci: Update the PCI read_config() method to const dev * 2020-02-05 19:33:45 -07:00
pci-aardvark.c pci: Add defines for normal and subtractive PCI bridges 2022-03-25 13:35:50 -04:00
pci-emul-uclass.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
pci-rcar-gen2.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
pci-rcar-gen3.c pci: Add defines for normal and subtractive PCI bridges 2022-03-25 13:35:50 -04:00
pci-uclass.c pci: Add checks to prevent config space overflow 2022-08-26 14:59:21 -04:00
pcie_brcmstb.c pci: pcie-brcmstb: Use PCIE_ECAM_OFFSET() macro 2022-01-12 14:21:24 -05:00
pcie_dw_common.c drivers: pci: pcie_dw_common: fix Werror compilation error 2021-05-31 16:35:55 +08:00
pcie_dw_common.h pci: add common Designware PCIe functions 2021-04-15 10:43:17 +08:00
pcie_dw_meson.c pci: pcie_dw_meson: fix usb fail when pci link fails to go up 2021-10-07 10:14:50 +02:00
pcie_dw_mvebu.c pci: Add defines for normal and subtractive PCI bridges 2022-03-25 13:35:50 -04:00
pcie_dw_rockchip.c pci: pcie_dw_rockchip: Replace msleep occurences by udelay 2021-06-18 14:36:54 +08:00
pcie_dw_sifive.c drivers: pci: add pcie support for fu740 2021-05-31 16:35:54 +08:00
pcie_dw_ti.c pci: pcie_dw_ti: migrate to common Designware PCIe functions 2021-04-15 10:43:17 +08:00
pcie_ecam_generic.c RFC: arm: pci: Add PCI cam support to PCI-E ecam driver 2021-11-17 17:09:47 -05:00
pcie_ecam_synquacer.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00
pcie_fsl_fixup.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
pcie_fsl.c pci: fsl: Change compatible string for mpc8548 to "fsl, mpc8548-pcie" 2022-04-26 17:18:39 +05:30
pcie_fsl.h dm: pci: fsl: Correct the workaround of erratum A-007815 2020-10-23 16:52:09 +05:30
pcie_imx.c pci: imx: remove weak overrides no longer used 2022-04-21 14:38:03 +02:00
pcie_intel_fpga.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pcie_iproc.c pci: Add defines for normal and subtractive PCI bridges 2022-03-25 13:35:50 -04:00
pcie_layerscape_ep.c pci: layerscape-ep: Add check of the PCIe controller enablement 2021-06-17 11:46:11 +05:30
pcie_layerscape_fixup_common.c fdt_support: Add fdt_for_each_node_by_compatible() helper macro 2022-01-20 11:35:29 +01:00
pcie_layerscape_fixup_common.h treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
pcie_layerscape_fixup.c pci: layerscape: update the searching compatible of LX2160A PCIe 2022-02-01 15:08:07 +05:30
pcie_layerscape_gen4_fixup.c fdt_support: Remove FDT_STATUS_FAIL_ERROR_CODE 2021-12-19 09:50:47 +01:00
pcie_layerscape_gen4.c pci: layerscape: Fix the LUT and msi-map mismatch issue 2021-11-09 17:18:23 +05:30
pcie_layerscape_gen4.h pci: Drop dm.h inclusion from header file 2020-08-03 22:19:54 -04:00
pcie_layerscape_rc.c pci: layerscape: Fix the LUT and msi-map mismatch issue 2021-11-09 17:18:23 +05:30
pcie_layerscape.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pcie_layerscape.h pci: layerscape: Remove the shadow SVR definitions 2021-02-08 14:01:18 +05:30
pcie_mediatek.c pci: mediatek: Use PCI_CONF1_EXT_ADDRESS() macro 2022-01-12 14:21:24 -05:00
pcie_octeon.c mips: octeon: Add Octeon PCIe host controller driver 2021-04-28 10:05:12 +02:00
pcie_phytium.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00
pcie_rockchip.c pci: Add defines for normal and subtractive PCI bridges 2022-03-25 13:35:50 -04:00
pcie_uniphier.c pci: uniphier: Add UniPhier PCIe controller driver 2021-07-14 16:48:08 -04:00
pcie_xilinx.c pci: Add standard PCIe ECAM macros 2021-11-17 17:04:58 -05:00