/* Enable use of high BAT registers */ #define MMU_FTR_USE_HIGH_BATS ASM_CONST(0x00010000)
/* Enable >32-bit physical addresses on 32-bit processor, only used *byCONFIG_PPC_BOOK3S_32currentlyasBookEsupportsthatfromday1
*/ #define MMU_FTR_BIG_PHYS ASM_CONST(0x00020000)
/* Enable use of broadcast TLB invalidations. We don't always set it *onprocessorsthatsupportitduetootherconstraintswiththe *useofsuchinvalidations
*/ #define MMU_FTR_USE_TLBIVAX_BCAST ASM_CONST(0x00040000)
/* Enable use of tlbilx invalidate instructions.
*/ #define MMU_FTR_USE_TLBILX ASM_CONST(0x00080000)
/* This indicates that the processor cannot handle multiple outstanding *broadcasttlbivaxortlbsync.Thismakesthecodeuseaspinlock *aroundsuchinvalidateforms.
*/ #define MMU_FTR_LOCK_BCAST_INVAL ASM_CONST(0x00100000)
/* This indicates that the processor doesn't handle way selection *properlyandneedsSWtotrackandupdatetheLRUstate.This *isspecifictoanerrataone300c2/c3/c4classparts
*/ #define MMU_FTR_NEED_DTLB_SW_LRU ASM_CONST(0x00200000)
/* Doesn't support the B bit (1T segment) in SLBIE
*/ #define MMU_FTR_NO_SLBIE_B ASM_CONST(0x02000000)
/* Support 16M large pages
*/ #define MMU_FTR_16M_PAGE ASM_CONST(0x04000000)
#ifdef CONFIG_PPC64 /* This is our real memory area size on ppc64 server, on embedded, we *makeitmatchthesizeourofboltedTLBarea
*/ extern u64 ppc64_rma_size;
/* Cleanup function used by kexec */ externvoid mmu_cleanup_all(void); externvoid radix__mmu_cleanup_all(void);
/* Functions for creating and updating partition table on POWER9 */ externvoid mmu_partition_table_init(void); externvoid mmu_partition_table_set_entry(unsignedint lpid, unsignedlong dw0, unsignedlong dw1, bool flush); #endif/* CONFIG_PPC64 */
/* The kernel use the constants below to index in the page sizes array. *Theuseoffixedconstantsforthispurposeisbetterforperformances *ofthelowlevelhashrefillhandlers. * *Anonsupportedpagesizehasa"shift"fieldsetto0 * *Anynewpagesizebeingimplementedcangetanewentryinhere.Whether *thekernelwilluseitornotisadifferentmatterthough.Theactualpage *sizeusedbyhugetlbfsisnotdefinedhereandmaybemadevariable * *Note:Thisarrayendedupbeingafalsegoodideaasit'sgrowingtothe *pointwhereIwonderifweshouldreplaceitwithsomethingdifferent, *tothinkabout,feedbackwelcome.--BenH.
*/
/* These are #defines as they have to be used in assembly */ #define MMU_PAGE_4K 0 #define MMU_PAGE_16K 1 #define MMU_PAGE_64K 2 #define MMU_PAGE_64K_AP 3/* "Admixed pages" (hash64 only) */ #define MMU_PAGE_256K 4 #define MMU_PAGE_512K 5 #define MMU_PAGE_1M 6 #define MMU_PAGE_2M 7 #define MMU_PAGE_4M 8 #define MMU_PAGE_8M 9 #define MMU_PAGE_16M 10 #define MMU_PAGE_64M 11 #define MMU_PAGE_256M 12 #define MMU_PAGE_1G 13 #define MMU_PAGE_16G 14 #define MMU_PAGE_64G 15
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.