X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/ms2-kexec/blobdiff_plain/634c05247a30d6f6890fb722fbcade61a36b8d58..1109a23f956da8bcd71c6430020e0321d7469069:/mmu.c?ds=sidebyside diff --git a/mmu.c b/mmu.c index 7d25e16..f58a7bd 100644 --- a/mmu.c +++ b/mmu.c @@ -17,6 +17,7 @@ #include #include +#include "tlbflush.h" #include #include #include @@ -41,19 +42,7 @@ void setup_mm_for_reboot(char mode) pgd_t *pgd; int i; - if (current->mm && current->mm->pgd) - pgd = current->mm->pgd; -#if 0 - else - pgd = init_mm.pgd; -#else - else - { - struct mm_struct *initmm = (struct mm_struct *)0xc05672a0; - pgd = initmm->pgd; - } -#warning FIXME init_mm is no longer exported -#endif + pgd = current->mm->pgd; base_pmdval = PMD_SECT_AP_WRITE | PMD_SECT_AP_READ | PMD_TYPE_SECT; @@ -66,4 +55,5 @@ void setup_mm_for_reboot(char mode) pmd[1] = __pmd(pmdval + (1 << (PGDIR_SHIFT - 1))); flush_pmd_entry(pmd); } + my_local_flush_tlb_all(); }