Commit a1f749de authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'csky-for-linus-6.4' of https://github.com/c-sky/csky-linux

Pull arch/csky updates from Guo Ren:

 - Remove CPU_TLB_SIZE config

 - Prevent spurious page faults

* tag 'csky-for-linus-6.4' of https://github.com/c-sky/csky-linux:
  csky: mmu: Prevent spurious page faults
  csky: remove obsolete config CPU_TLB_SIZE
parents 1a5304fe 1f62ed00
...@@ -166,11 +166,6 @@ config STACKTRACE_SUPPORT ...@@ -166,11 +166,6 @@ config STACKTRACE_SUPPORT
config TIME_LOW_RES config TIME_LOW_RES
def_bool y def_bool y
config CPU_TLB_SIZE
int
default "128" if (CPU_CK610 || CPU_CK807 || CPU_CK810)
default "1024" if (CPU_CK860)
config CPU_ASID_BITS config CPU_ASID_BITS
int int
default "8" if (CPU_CK610 || CPU_CK807 || CPU_CK810) default "8" if (CPU_CK610 || CPU_CK807 || CPU_CK810)
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <asm/cache.h> #include <asm/cache.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
#include <asm/cachectl.h> #include <asm/cachectl.h>
#include <asm/tlbflush.h>
#define PG_dcache_clean PG_arch_1 #define PG_dcache_clean PG_arch_1
...@@ -40,6 +41,8 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long addr, ...@@ -40,6 +41,8 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long addr,
unsigned long pfn = pte_pfn(*ptep); unsigned long pfn = pte_pfn(*ptep);
struct page *page; struct page *page;
flush_tlb_page(vma, addr);
if (!pfn_valid(pfn)) if (!pfn_valid(pfn))
return; return;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <linux/highmem.h> #include <linux/highmem.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <asm/cache.h> #include <asm/cache.h>
#include <asm/tlbflush.h>
void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, void update_mmu_cache(struct vm_area_struct *vma, unsigned long address,
pte_t *pte) pte_t *pte)
...@@ -12,6 +13,8 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, ...@@ -12,6 +13,8 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long address,
unsigned long addr; unsigned long addr;
struct page *page; struct page *page;
flush_tlb_page(vma, address);
if (!pfn_valid(pte_pfn(*pte))) if (!pfn_valid(pte_pfn(*pte)))
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment