Changeset a7961271 in mainline for kernel/arch/sparc64/include/trap/mmu.h
- Timestamp:
- 2006-08-26T18:42:11Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c8ea4a8b
- Parents:
- f47fd19
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/include/trap/mmu.h
rf47fd19 ra7961271 39 39 40 40 #include <arch/stack.h> 41 #include <arch/regdef.h> 41 42 #include <arch/mm/tlb.h> 42 43 #include <arch/mm/mmu.h> … … 60 61 .macro FAST_DATA_ACCESS_MMU_MISS_HANDLER 61 62 /* 62 * First, test if it is the portion of the kernel address space 63 * First, try to refill TLB from TSB. 64 */ 65 ! TODO 66 67 /* 68 * Second, test if it is the portion of the kernel address space 63 69 * which is faulting. If that is the case, immediately create 64 70 * identity mapping for that page in DTLB. VPN 0 is excluded from … … 67 73 * Note that branch-delay slots are used in order to save space. 68 74 */ 75 0: 69 76 mov VA_DMMU_TAG_ACCESS, %g1 70 77 ldxa [%g1] ASI_DMMU, %g1 ! read the faulting Context and VPN … … 75 82 bz 0f ! page address is zero 76 83 77 /*78 * Create and insert the identity-mapped entry for79 * the faulting kernel page.80 */81 82 84 or %g3, (TTE_CP|TTE_P|TTE_W), %g2 ! 8K pages are the default (encoded as 0) 83 85 set 1, %g3 … … 87 89 retry 88 90 91 /* 92 * Third, catch and handle special cases when the trap is caused by 93 * some register window trap handler. 94 */ 89 95 0: 90 save %sp, -PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE, %sp 96 ! TODO 97 98 0: 99 wrpr %g0, PSTATE_PRIV_BIT | PSTATE_AG_BIT, %pstate 91 100 PREEMPTIBLE_HANDLER fast_data_access_mmu_miss 92 101 .endm
Note:
See TracChangeset
for help on using the changeset viewer.