• Alex Chiang's avatar
    [IA64] prevent MCA when performing MMIO mmap to PCI config space · 012b7105
    Alex Chiang authored
    Example memory map (HP rx7640 with 'default' acpiconfig setting, VGA disabled):
       0x00000000 - 0x3FFFBFFF  supports only WB (cacheable) access
    
    If a user attempts to perform an MMIO mmap (using the PCIIOC_MMAP_IS_MEM ioctl)
    to PCI config space (like mmap'ing and accessing memory at 0xA0000),
    we will MCA because the kernel will attempt to use a mapping with the UC
    attribute.
    
    So check the memory attribute in kern_mmap and the EFI memmap. If WC is
    requested, and WC or UC access is supported for the region, allow it.
    Otherwise, use the same attribute the kernel uses.
    
    Updates documentation and test cases as well.
    Signed-off-by: default avatarAlex Chiang <achiang@hp.com>
    Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    012b7105
pci.c 19 KB