From 80e1b265f4505149ba256ab6e18be942830072d0 Mon Sep 17 00:00:00 2001 From: edgar_igl Date: Sun, 4 Jan 2009 15:45:17 +0000 Subject: [PATCH] CRIS: Dont flush kernel protected pages when modifying $pid. Signed-off-by: Edgar E. Iglesias git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6161 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-cris/mmu.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/target-cris/mmu.c b/target-cris/mmu.c index 408a99c72c..9ae398db6d 100644 --- a/target-cris/mmu.c +++ b/target-cris/mmu.c @@ -295,7 +295,7 @@ void cris_mmu_flush_pid(CPUState *env, uint32_t pid) unsigned int idx; uint32_t lo, hi; uint32_t tlb_vpn; - int tlb_pid, tlb_g, tlb_v, tlb_k; + int tlb_pid, tlb_g, tlb_v; unsigned int set; unsigned int mmu; @@ -311,11 +311,8 @@ void cris_mmu_flush_pid(CPUState *env, uint32_t pid) tlb_pid = EXTRACT_FIELD(hi, 0, 7); tlb_g = EXTRACT_FIELD(lo, 4, 4); tlb_v = EXTRACT_FIELD(lo, 3, 3); - tlb_k = EXTRACT_FIELD(lo, 2, 2); - /* Kernel protected areas need to be flushed - as well. */ - if (tlb_v && !tlb_g && (tlb_pid == pid || tlb_k)) { + if (tlb_v && !tlb_g && (tlb_pid == pid)) { vaddr = tlb_vpn << TARGET_PAGE_BITS; D(fprintf(logfile, "flush pid=%x vaddr=%x\n",