Changeset a35b458 in mainline for kernel/arch/ia32/src/mm/page.c
- Timestamp:
- 2018-03-02T20:10:49Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f1380b7
- Parents:
- 3061bc1
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:38:31)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:10:49)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/mm/page.c
r3061bc1 ra35b458 54 54 uintptr_t cur; 55 55 int flags; 56 56 57 57 if (config.cpu_active > 1) { 58 58 /* Fast path for non-boot CPUs */ … … 63 63 64 64 page_mapping_operations = &pt_mapping_operations; 65 65 66 66 /* 67 67 * PA2KA(identity) mapping for all low-memory frames. … … 74 74 } 75 75 page_table_unlock(AS_KERNEL, true); 76 76 77 77 exc_register(VECTOR_PF, "page_fault", true, (iroutine_t) page_fault); 78 78 write_cr3((uintptr_t) AS_KERNEL->genarch.page_table); 79 79 80 80 paging_on(); 81 81 } … … 85 85 uintptr_t badvaddr; 86 86 pf_access_t access; 87 87 88 88 badvaddr = read_cr2(); 89 89 90 90 if (istate->error_word & PFERR_CODE_RSVD) 91 91 panic("Reserved bit set in page directory."); 92 92 93 93 if (istate->error_word & PFERR_CODE_RW) 94 94 access = PF_ACCESS_WRITE; 95 95 else 96 96 access = PF_ACCESS_READ; 97 97 98 98 (void) as_page_fault(badvaddr, access, istate); 99 99 }
Note:
See TracChangeset
for help on using the changeset viewer.