Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1383 → Rev 1384

/kernel/trunk/arch/ppc32/src/mm/tlb.c
36,17 → 36,41
*/
void tlb_arch_init(void)
{
tlb_invalidate_all();
}
 
 
void tlb_invalidate_all(void)
{
asm volatile (
"tlbia\n"
"tlbsync\n"
);
}
 
 
void tlb_invalidate_all(void)
/** Invalidate all entries in TLB that belong to specified address space.
*
* @param asid This parameter is ignored as the architecture doesn't support it.
*/
void tlb_invalidate_asid(asid_t asid)
{
tlb_invalidate_all();
}
 
/** Invalidate TLB entries for specified page range belonging to specified address space.
*
* @param asid This parameter is ignored as the architecture doesn't support it.
* @param page Address of the first page whose entry is to be invalidated.
* @param cnt Number of entries to invalidate.
*/
void tlb_invalidate_pages(asid_t asid, __address page, count_t cnt)
{
tlb_invalidate_all();
}
 
 
 
/** Print contents of Page Hash Table. */
void tlb_print(void)
{
/kernel/trunk/arch/ppc32/src/mm/page.c
181,7 → 181,6
*/
void pht_refill(bool data, istate_t *istate)
{
asid_t asid;
__address badvaddr;
pte_t *pte;
int pfcr;
204,10 → 203,6
} else
badvaddr = istate->pc;
spinlock_lock(&as->lock);
asid = as->asid;
spinlock_unlock(&as->lock);
page_table_lock(as, lock);
pte = find_mapping_and_check(as, lock, badvaddr, istate, &pfcr);