Christophe Leroy <christophe.le...@c-s.fr> writes: > 8xx uses a two level page table with two different linux page size > support (4k and 16k). 8xx also support two different hugepage sizes > 512k and 8M. In order to support them on linux we define two different > page table layout. > > The size of pages is in the PGD entry, using PS field (bits 28-29): > 00 : Small pages (4k or 16k) > 01 : 512k pages > 10 : reserved > 11 : 8M pages > > For 512K hugepage size a pgd entry have the below format > [<hugepte address >0101] . The hugepte table allocated will contain 8 > entries pointing to 512K huge pte in 4k pages mode and 64 entries in > 16k pages mode. > > For 8M in 16k mode, a pgd entry have the below format > [<hugepte address >1101] . The hugepte table allocated will contain 8 > entries pointing to 8M huge pte. > > For 8M in 4k mode, multiple pgd entries point to the same hugepte > address and pgd entry will have the below format > [<hugepte address>1101]. The hugepte table allocated will only have one > entry. > > For the time being, we do not support CPU15 ERRATA when HUGETLB is > selected >
For the generic bits Reviewed-by: Aneesh Kumar K.V <aneesh.ku...@linux.vnet.ibm.com> > Signed-off-by: Christophe Leroy <christophe.le...@c-s.fr> > --- > v2: This v1 was split in two parts. This part focuses on adding the > support on 8xx. It also fixes an error in TLBmiss handlers in the > case of 8M hugepages in 16k pages mode. > -aneesh