mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 10:04:12 +08:00
powerpc/book3s64/radix: Add H_RPT_INVALIDATE pgsize encodings to mmu_psize_def
Add a field to mmu_psize_def to store the page size encodings of H_RPT_INVALIDATE hcall. Initialize this while scanning the radix AP encodings. This will be used when invalidating with required page size encoding in the hcall. Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210621085003.904767-3-bharata@linux.ibm.com
This commit is contained in:
parent
f09216a190
commit
d6265cb33b
@ -19,6 +19,7 @@ struct mmu_psize_def {
|
||||
int penc[MMU_PAGE_COUNT]; /* HPTE encoding */
|
||||
unsigned int tlbiel; /* tlbiel supported for that page size */
|
||||
unsigned long avpnm; /* bits to mask out in AVPN in the HPTE */
|
||||
unsigned long h_rpt_pgsize; /* H_RPT_INVALIDATE page size encoding */
|
||||
union {
|
||||
unsigned long sllp; /* SLB L||LP (exact mask to use in slbmte) */
|
||||
unsigned long ap; /* Ap encoding used by PowerISA 3.0 */
|
||||
|
@ -475,6 +475,7 @@ static int __init radix_dt_scan_page_sizes(unsigned long node,
|
||||
def = &mmu_psize_defs[idx];
|
||||
def->shift = shift;
|
||||
def->ap = ap;
|
||||
def->h_rpt_pgsize = psize_to_rpti_pgsize(idx);
|
||||
}
|
||||
|
||||
/* needed ? */
|
||||
@ -549,9 +550,13 @@ void __init radix__early_init_devtree(void)
|
||||
*/
|
||||
mmu_psize_defs[MMU_PAGE_4K].shift = 12;
|
||||
mmu_psize_defs[MMU_PAGE_4K].ap = 0x0;
|
||||
mmu_psize_defs[MMU_PAGE_4K].h_rpt_pgsize =
|
||||
psize_to_rpti_pgsize(MMU_PAGE_4K);
|
||||
|
||||
mmu_psize_defs[MMU_PAGE_64K].shift = 16;
|
||||
mmu_psize_defs[MMU_PAGE_64K].ap = 0x5;
|
||||
mmu_psize_defs[MMU_PAGE_64K].h_rpt_pgsize =
|
||||
psize_to_rpti_pgsize(MMU_PAGE_64K);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user