Skip to content
  • Jon Mason's avatar
    [PATCH] x86-64: Calgary IOMMU: Fix off by one when calculating register space location · 76fd2317
    Jon Mason authored
    
    
    The purpose of the code being modified is to determine the location
    of the calgary chip address space.  This is done by a magical formula
    of FE0MB-8MB*OneBasedChassisNumber+1MB*(RioNodeId-ChassisBase) to
    find the offset where BIOS puts it.  In this formula,
    OneBasedChassisNumber corresponds to the NUMA node, and rionodeid is
    always 2 or 3 depending on which chip in the system it is.  The
    problem was that we had an off by one error that caused us to account
    some busses to the wrong chip and thus give them the wrong address
    space.
    
    Fixes RH bugzilla #203971.
    
    Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
    Signed-off-bu: Muli Ben-Yehuda <muli@il.ibm.com>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    76fd2317