Changeset View
Changeset View
Standalone View
Standalone View
head/sys/powerpc/aim/mmu_oea64.h
Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Lines | |||||
void moea64_late_bootstrap(vm_offset_t kernelstart, | void moea64_late_bootstrap(vm_offset_t kernelstart, | ||||
vm_offset_t kernelend); | vm_offset_t kernelend); | ||||
int64_t moea64_pte_replace(struct pvo_entry *, int); | int64_t moea64_pte_replace(struct pvo_entry *, int); | ||||
int64_t moea64_pte_insert(struct pvo_entry *); | int64_t moea64_pte_insert(struct pvo_entry *); | ||||
int64_t moea64_pte_unset(struct pvo_entry *); | int64_t moea64_pte_unset(struct pvo_entry *); | ||||
int64_t moea64_pte_clear(struct pvo_entry *, uint64_t); | int64_t moea64_pte_clear(struct pvo_entry *, uint64_t); | ||||
int64_t moea64_pte_synch(struct pvo_entry *); | int64_t moea64_pte_synch(struct pvo_entry *); | ||||
int64_t moea64_pte_insert_sp(struct pvo_entry *); | |||||
int64_t moea64_pte_unset_sp(struct pvo_entry *); | |||||
int64_t moea64_pte_replace_sp(struct pvo_entry *); | |||||
typedef int64_t (*moea64_pte_replace_t)(struct pvo_entry *, int); | typedef int64_t (*moea64_pte_replace_t)(struct pvo_entry *, int); | ||||
typedef int64_t (*moea64_pte_insert_t)(struct pvo_entry *); | typedef int64_t (*moea64_pte_insert_t)(struct pvo_entry *); | ||||
typedef int64_t (*moea64_pte_unset_t)(struct pvo_entry *); | typedef int64_t (*moea64_pte_unset_t)(struct pvo_entry *); | ||||
typedef int64_t (*moea64_pte_clear_t)(struct pvo_entry *, uint64_t); | typedef int64_t (*moea64_pte_clear_t)(struct pvo_entry *, uint64_t); | ||||
typedef int64_t (*moea64_pte_synch_t)(struct pvo_entry *); | typedef int64_t (*moea64_pte_synch_t)(struct pvo_entry *); | ||||
typedef int64_t (*moea64_pte_insert_sp_t)(struct pvo_entry *); | |||||
typedef int64_t (*moea64_pte_unset_sp_t)(struct pvo_entry *); | |||||
typedef int64_t (*moea64_pte_replace_sp_t)(struct pvo_entry *); | |||||
struct moea64_funcs { | struct moea64_funcs { | ||||
moea64_pte_replace_t pte_replace; | moea64_pte_replace_t pte_replace; | ||||
moea64_pte_insert_t pte_insert; | moea64_pte_insert_t pte_insert; | ||||
moea64_pte_unset_t pte_unset; | moea64_pte_unset_t pte_unset; | ||||
moea64_pte_clear_t pte_clear; | moea64_pte_clear_t pte_clear; | ||||
moea64_pte_synch_t pte_synch; | moea64_pte_synch_t pte_synch; | ||||
moea64_pte_insert_sp_t pte_insert_sp; | |||||
moea64_pte_unset_sp_t pte_unset_sp; | |||||
moea64_pte_replace_sp_t pte_replace_sp; | |||||
}; | }; | ||||
extern struct moea64_funcs *moea64_ops; | extern struct moea64_funcs *moea64_ops; | ||||
static inline uint64_t | static inline uint64_t | ||||
moea64_pte_vpn_from_pvo_vpn(const struct pvo_entry *pvo) | moea64_pte_vpn_from_pvo_vpn(const struct pvo_entry *pvo) | ||||
{ | { | ||||
return ((pvo->pvo_vpn >> (ADDR_API_SHFT64 - ADDR_PIDX_SHFT)) & | return ((pvo->pvo_vpn >> (ADDR_API_SHFT64 - ADDR_PIDX_SHFT)) & | ||||
Show All 17 Lines | |||||
*/ | */ | ||||
extern int moea64_large_page_shift; | extern int moea64_large_page_shift; | ||||
extern uint64_t moea64_large_page_size; | extern uint64_t moea64_large_page_size; | ||||
extern uint64_t moea64_large_page_mask; | extern uint64_t moea64_large_page_mask; | ||||
extern u_long moea64_pteg_count; | extern u_long moea64_pteg_count; | ||||
extern u_long moea64_pteg_mask; | extern u_long moea64_pteg_mask; | ||||
extern int n_slbs; | extern int n_slbs; | ||||
extern bool moea64_has_lp_4k_16m; | |||||
#endif /* _POWERPC_AIM_MMU_OEA64_H */ | #endif /* _POWERPC_AIM_MMU_OEA64_H */ |