Re: [Patch 2/2] Kexec/Kdump support - POWER6
From: Olof Johansson <hidden>
Date: 2007-05-24 14:17:05
Also in:
kexec
On Thu, May 24, 2007 at 05:47:51PM +0530, Mohan Kumar M wrote:
On Wed, May 23, 2007 at 08:55:00PM +1000, Paul Mackerras wrote:quoted
Sachin P. Sant writes:quoted
On Power machines supporting VRMA, Kexec/Kdump does not work. Hypervisor stores VRMA mapping used by the OS, in the hpte hash tables. Make sure these hpte entries are left untouched.Surely all we need to do is to avoid clearing the VRMA entries. We can do this by not clearing any HPTE where the top 40 bits of the first dword are 0x4001ffffff (B=1 for a 1TB segment and the 0x0001ffffff special VSID). In fact we can avoid having to read each entry by doing the H_REMOVEs with H_ANDCOND and the bolted bit when we clear the hash table, and only reading the HPTEs for which the H_REMOVE returns an error.So I tried 0x4000000000000000 as AVPN parameter and using that it removes all hpte entries other than VRMA(ie non 1TB segment size PTE entries). Tested on POWER6/POWER5 machines.
Hi, As Paul says above, you need to check for failures and compare the VSID and possibly unhash it anyway in case of non-match. Otherwise if the kernel ever starts using 1TB segments for regular use, those pages will never be unhashed. I don't see your code doing that now. -Olof