Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 1890 → Rev 1891

/trunk/kernel/arch/sparc64/src/mm/tlb.c
51,6 → 51,10
#include <panic.h>
#include <arch/asm.h>
 
#ifdef CONFIG_TSB
#include <arch/mm/tsb.h>
#endif
 
static void dtlb_pte_copy(pte_t *t, bool ro);
static void itlb_pte_copy(pte_t *t);
static void do_fast_instruction_access_mmu_miss_fault(istate_t *istate, const char *str);
144,6 → 148,10
dtlb_data_in_write(data.value);
}
 
/** Copy PTE to ITLB.
*
* @param t Page Table Entry to be copied.
*/
void itlb_pte_copy(pte_t *t)
{
tlb_tag_access_reg_t tag;
189,6 → 197,9
*/
t->a = true;
itlb_pte_copy(t);
#ifdef CONFIG_TSB
itsb_pte_copy(t);
#endif
page_table_unlock(AS, true);
} else {
/*
233,6 → 244,9
*/
t->a = true;
dtlb_pte_copy(t, true);
#ifdef CONFIG_TSB
dtsb_pte_copy(t, true);
#endif
page_table_unlock(AS, true);
} else {
/*
266,6 → 280,9
t->d = true;
dtlb_demap(TLB_DEMAP_PAGE, TLB_DEMAP_SECONDARY, va);
dtlb_pte_copy(t, false);
#ifdef CONFIG_TSB
dtsb_pte_copy(t, false);
#endif
page_table_unlock(AS, true);
} else {
/*