]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] x86-64: Calgary IOMMU: Fix off by one when calculating register space location
authorJon Mason <jdmason@kudzu.us>
Thu, 5 Oct 2006 16:47:21 +0000 (18:47 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Thu, 5 Oct 2006 16:47:21 +0000 (18:47 +0200)
commit57da070f54fac3f5fae7b62da1ea3a3c3c157a54
treeeb6178d9604a352a6603294478d740cb64986936
parent7b13def2d5572d0607d7342ff163eb100b454afa
[PATCH] x86-64: Calgary IOMMU: Fix off by one when calculating register space location

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: Jon Mason <jdmason@kudzu.us>
Signed-off-bu: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
arch/x86_64/kernel/pci-calgary.c