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: > > Sachin P. Sant writes: > > > > > 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