diff options
author | 2019-06-18 20:34:35 +0800 | |
---|---|---|
committer | 2019-07-19 14:21:36 +0800 | |
commit | 4e562c11664c0e0e84bb8495894b8637acc1c095 (patch) | |
tree | f0ec771bb3184272cd60db0f530e89361fb0525c /drivers/fpga/fpga-bridge.c | |
parent | csky: Use generic asid algorithm to implement switch_mm (diff) | |
download | linux-dev-4e562c11664c0e0e84bb8495894b8637acc1c095.tar.xz linux-dev-4e562c11664c0e0e84bb8495894b8637acc1c095.zip |
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>
Diffstat (limited to 'drivers/fpga/fpga-bridge.c')
0 files changed, 0 insertions, 0 deletions