[Cbe-oss-dev] [PATCH] 64K support for Kexec
Luke Browning
lukebr at linux.vnet.ibm.com
Sat Apr 7 22:25:14 EST 2007
On Sat, 2007-04-07 at 14:16 +1000, Benjamin Herrenschmidt wrote:
> On Fri, 2007-04-06 at 23:58 -0300, Luke Browning wrote:
> > This patch decodes the page size from the pte. This code is used by
> > kexec, which walks the hash table and issues a tlbie for each
> > valid entry. The page size is encoded in the virtual address that
> > is passed to the tlbie instruction.
> >
> > Signed-off-by: Luke Browning <lukebrowning at us.ibm.com>
>
> Patch got wrapped/damaged by your mailer... Also, I haven't looked too
> closely but are you sure slot2va is ok for non-4K page sizes ?
>
> It doesn't seem to me ...
>
> if (! (hpte_v & HPTE_V_LARGE)) {
> unsigned long vpi, pteg;
>
> pteg = slot / HPTES_PER_GROUP;
> if (hpte_v & HPTE_V_SECONDARY)
> pteg = ~pteg;
>
> vpi = ((va >> 28) ^ pteg) & htab_hash_mask;
>
> va |= vpi << PAGE_SHIFT;
> }
>
> The if () will clearly make sure it does nothing for large pages :-)
> While shifting avpn by 23 bits might be enough for a 16M page, I think
> we need to do something for 64K pages or we'll be missing 8 bits of the
> va...
Will have to investigate this when i get back from vacation in a week.
I thought that 23 bit shift was enough.
Luke
More information about the cbe-oss-dev
mailing list