[POWERPC] kdump: Reserve the existing TCE mappings left by the first kernel
authorHaren Myneni <haren@us.ibm.com>
Fri, 23 Jun 2006 06:35:10 +0000 (23:35 -0700)
committerPaul Mackerras <paulus@samba.org>
Wed, 28 Jun 2006 01:59:46 +0000 (11:59 +1000)
commit5f50867b4f1938ab80d249206efbec37bba48c39
treeb47656171eb83ebe6eeed7ec190b77924d0fe4b4
parentf93d6d071fdbf27141c5331d6cd988664650bc1f
[POWERPC] kdump: Reserve the existing TCE mappings left by the first kernel

During kdump boot, noticed some machines checkstop on dma protection
fault for ongoing DMA left in the first kernel. Instead of initializing
TCE entries in iommu_init() for the kdump boot, this patch fixes this
issue by walking through the each TCE table and checks whether the
entries are in use by the first kernel. If so, reserve those entries by
setting the corresponding bit in tbl->it_map such that these entries
will not be available for the kdump boot.

However it could be possible that all TCE entries might be used up due
to the driver bug that does continuous mapping. My observation is around
1700 TCE  entries are used on some systems (Ex: P4) at some point of
time during kdump boot and saving dump (either write into the disk or
sending to remote machine). Hence, this patch will make sure that
minimum of 2048 entries will be available such that kdump boot could be
successful in some cases.

Signed-off-by: Haren Myneni <haren@us.ibm.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/iommu.c
arch/powerpc/platforms/pseries/iommu.c
include/asm-powerpc/kdump.h
include/asm-powerpc/machdep.h