8b816c6 ArmVirtPkg/VirtFdtDxe: set /chosen/linux,pci-probe-only to 1 in DTB

Authored and Committed by Ard Biesheuvel 8 years ago
    ArmVirtPkg/VirtFdtDxe: set /chosen/linux,pci-probe-only to 1 in DTB
    
    Unlike Linux on x86, which typically honors the PCI configuration performed
    by the firmware, Linux on ARM assumes that the PCI subsystem needs to be
    configured from scratch. This is not entirely unreasonable given the
    historical background of embedded systems using very basic bootloaders,
    but is no longer tenable with Linux on arm64 moving to UEFI and ACPI in the
    server space. For this reason, PCI support in the arm64 kernel running under
    ACPI is likely to move to the x86 model of honoring the PCI configuration
    done by the firmware.
    
    So let's align with that in our DT based configuration as well, and set the
    /chosen/linux,pci-probe-only property to 1 in the Device Tree before we
    hand it to the OS.
    
    In case we are exposing an emulated VGA PCI device to the guest, which may
    subsequently get exposed via the Graphics Output protocol and driven as an
    efifb by the OS, this ensures the PCI resource allocations for the framebuffer
    are not overridden, since that would cause the framebuffer to stop working.
    
    Contributed-under: TianoCore Contribution Agreement 1.0
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>