X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/2236410f4582ab45ae8c384dd6eeeef5d10aab15..59ecf21e36b2332f6adf2a568ef555283d8c119a:/lunaix-os/arch/i386/mm/pfault.c diff --git a/lunaix-os/arch/i386/mm/pfault.c b/lunaix-os/arch/i386/mm/pfault.c index 165062c..faf7da0 100644 --- a/lunaix-os/arch/i386/mm/pfault.c +++ b/lunaix-os/arch/i386/mm/pfault.c @@ -92,7 +92,7 @@ intr_routine_page_fault(const isr_param* param) goto oom; } - *pte = *pte | pa | get_ptattr(hit_region); + *pte = pa | get_ptattr(hit_region); memset((void*)PG_ALIGN(ptr), 0, PG_SIZE); goto resolved; } @@ -115,14 +115,11 @@ intr_routine_page_fault(const isr_param* param) } cpu_flush_page((ptr_t)pte); - *pte = (*pte & 0xFFF) | pa | get_ptattr(hit_region); + *pte = pa | get_ptattr(hit_region); memset((void*)ptr, 0, PG_SIZE); - int errno = 0; - if (mseg_off < hit_region->flen) { - errno = file->ops->read_page(file->inode, (void*)ptr, mfile_off); - } + int errno = file->ops->read_page(file->inode, (void*)ptr, mfile_off); if (errno < 0) { ERROR("fail to populate page (%d)", errno);