Changeset 085434a in mainline
- Timestamp:
- 2006-02-25T19:14:48Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 13c1a0c
- Parents:
- 578aebf7
- Location:
- arch/ia64
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia64/include/mm/page.h
r578aebf7 r085434a 46 46 #define PAGE_SIZE FRAME_SIZE 47 47 #define PAGE_WIDTH FRAME_WIDTH 48 #define KERNEL_PAGE_WIDTH 2 648 #define KERNEL_PAGE_WIDTH 28 49 49 50 50 … … 230 230 { 231 231 __u64 ret; 232 233 232 ASSERT(i < REGION_REGISTERS); 233 i=i<<VRN_SHIFT; 234 234 __asm__ volatile ("mov %0 = rr[%1]\n" : "=r" (ret) : "r" (i)); 235 235 … … 246 246 { 247 247 ASSERT(i < REGION_REGISTERS); 248 i=i<<VRN_SHIFT; 248 249 __asm__ volatile ( 249 250 "mov rr[%0] = %1;;\n" -
arch/ia64/src/mm/page.c
r578aebf7 r085434a 57 57 { 58 58 59 //#ifdef NEVERDEFINED60 59 region_register rr; 61 60 pta_register pta; … … 64 63 /* 65 64 * First set up kernel region register. 65 * This action is redundand (see start.S) but I would to keep it to make sure that 66 *no unexpected changes will be made. 66 67 */ 67 68 rr.word = rr_read(VRN_KERNEL); 68 69 rr.map.ve = 0; /* disable VHPT walker */ 69 70 rr.map.ps = PAGE_WIDTH; 70 rr.map.rid = ASID _KERNEL;71 rr.map.rid = ASID2RID(ASID_KERNEL,VRN_KERNEL); 71 72 rr_write(VRN_KERNEL, rr.word); 72 73 srlz_i(); … … 83 84 rr.word == rr_read(i); 84 85 rr.map.ve = 0; /* disable VHPT walker */ 85 rr.map.rid = ASID _INVALID;86 rr.map.rid = ASID2RID(ASID_INVALID,i); 86 87 rr_write(i, rr.word); 87 88 srlz_i(); … … 101 102 srlz_d(); 102 103 103 //#endif104 104 105 105 return ; -
arch/ia64/src/start.S
r578aebf7 r085434a 51 51 .auto 52 52 53 #Fill TR.i and TR.d and enable paging 54 55 mov r9=rr[r0] 56 movl r10=(RR_MASK) 57 and r9=r10,r9 58 movl r10=((ASID2RID(ASID_KERNEL,VRN_KERNEL)<<RID_SHIFT)|(KERNEL_PAGE_WIDTH<<PS_SHIFT)) 59 or r9=r10,r9 60 mov rr[r0]=r9 61 62 53 #Fill TR.i and TR.d using Region Register #VRN_KERNEL 63 54 64 55 movl r8=(VRN_KERNEL<<VRN_SHIFT) … … 82 73 83 74 84 85 86 87 88 89 75 # initialize PSR 90 76 mov psr.l = r0 … … 101 87 srlz.i 102 88 .explicit 89 90 /*Return from interupt is only the way how to fill upper half word of PSR*/ 103 91 {rfi;;} 104 {nop 0;;}105 {nop 0;;}106 {nop 0;;}107 {nop 0;;}108 {nop 0;;}109 {nop 0;;}110 {nop 0;;}111 {nop 0;;}112 92 {nop 0;;} 113 93 {nop 0;;} … … 120 100 121 101 .global paging_start 102 /*Now we are paging*/ 122 103 paging_start: 104 {nop 0;;} 105 {nop 0;;} 106 {nop 0;;} 107 {nop 0;;} 108 {nop 0;;} 109 {nop 0;;} 110 {nop 0;;} 111 {nop 0;;} 123 112 124 113 .auto
Note:
See TracChangeset
for help on using the changeset viewer.