Home
last modified time | relevance | path

Searched hist:"4 e562c11" (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/arch/csky/mm/
H A Dtlb.c4e562c11 Tue Jun 18 07:34:35 CDT 2019 Guo Ren <ren_guo@c-sky.com> csky: Improve tlb operation with help of asid

There are two generations of tlb operation instruction for C-SKY.
First generation is use mcr register and it need software do more
things, second generation is use specific instructions, eg:
tlbi.va, tlbi.vas, tlbi.alls

We implemented the following functions:

- flush_tlb_range (a range of entries)
- flush_tlb_page (one entry)

Above functions use asid from vma->mm to invalid tlb entries and
we could use tlbi.vas instruction for newest generation csky cpu.

- flush_tlb_kernel_range
- flush_tlb_one

Above functions don't care asid and it invalid the tlb entries only
with vpn and we could use tlbi.vaas instruction for newest generat-
ion csky cpu.

Signed-off-by: Guo Ren <ren_guo@c-sky.com>
Cc: Arnd Bergmann <arnd@arndb.de>
4e562c11 Tue Jun 18 07:34:35 CDT 2019 Guo Ren <ren_guo@c-sky.com> csky: Improve tlb operation with help of asid

There are two generations of tlb operation instruction for C-SKY.
First generation is use mcr register and it need software do more
things, second generation is use specific instructions, eg:
tlbi.va, tlbi.vas, tlbi.alls

We implemented the following functions:

- flush_tlb_range (a range of entries)
- flush_tlb_page (one entry)

Above functions use asid from vma->mm to invalid tlb entries and
we could use tlbi.vas instruction for newest generation csky cpu.

- flush_tlb_kernel_range
- flush_tlb_one

Above functions don't care asid and it invalid the tlb entries only
with vpn and we could use tlbi.vaas instruction for newest generat-
ion csky cpu.

Signed-off-by: Guo Ren <ren_guo@c-sky.com>
Cc: Arnd Bergmann <arnd@arndb.de>