• Yinghai Lu's avatar
    ibft: Fix finding IBFT ACPI table on UEFI · 935a9fee
    Yinghai Lu authored
    Found one system with UEFI/iBFT, kernel does not detect the iBFT during
    iscsi_ibft module loading.
    
    Root cause: on x86 (UEFI), we are calling of find_ibft_region() much earlier
    - specifically in setup_arch() before ACPI is enabled.
    
    Try to split acpi checking code out and call that later
    
    At that time ACPI iBFT already get permanent mapped with ioremap.
    So isa_virt_to_bus() will get wrong phys from right virt address.
    We could just skip that phys address printing.
    
    For legacy one, print the found address early.
    
    -v2: update comments and description according to Konrad.
    -v3: fix problem about module use case that is found by Konrad.
    -v4: use acpi_get_table() instead of acpi_table_parse() to handle module use case that is found by Konrad again..
    Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
    Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad@kernel.org>
    935a9fee
iscsi_ibft.c 19.2 KB