Skip to content

Commit

Permalink
WIP: xtensa: add dump_tlb
Browse files Browse the repository at this point in the history
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
  • Loading branch information
jcmvbkbc committed Feb 26, 2021
1 parent 8627b3c commit 2937756
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions arch/xtensa/mm/tlb.c
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,28 @@ static void tlb_suspicious(void)
WARN_ON(1);
}

void dump_tlb_entry(unsigned w, unsigned e, bool dtlb)
{
unsigned tlbidx = w | (e << PAGE_SHIFT);
unsigned r0 = dtlb ?
read_dtlb_virtual(tlbidx) : read_itlb_virtual(tlbidx);
unsigned r1 = dtlb ?
read_dtlb_translation(tlbidx) : read_itlb_translation(tlbidx);
unsigned vpn = (r0 & PAGE_MASK) | (e << PAGE_SHIFT);

pr_info("%cTLB[%d][%d]: v=%08x, p=%08x, vaddr=%08x\n",
dtlb ? 'D' : 'I', w, e, r0, r1, vpn);
}

void dump_tlb(void)
{
unsigned w, e;

for (w = 7; w < 9; ++w)
for (e = 0; e < 4; ++e)
dump_tlb_entry(w, e, 1);
}

/*
* Check that TLB entries with kernel ASID (1) have kernel VMA (>= TASK_SIZE),
* and TLB entries with user ASID (>=4) have VMA < TASK_SIZE.
Expand Down

0 comments on commit 2937756

Please sign in to comment.