Changeset c1982e45 in mainline for arch/amd64/src/mm/page.c
- Timestamp:
- 2006-05-20T21:11:08Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 125e944
- Parents:
- 1068f6a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/amd64/src/mm/page.c
r1068f6a rc1982e45 72 72 SET_FRAME_FLAGS_ARCH(ptl3, PTL3_INDEX_ARCH(page), PAGE_WRITE | PAGE_EXEC); \ 73 73 } 74 75 74 76 void page_arch_init(void) 75 77 { … … 108 110 } 109 111 } 112 110 113 111 114 /** Identity page mapper … … 162 165 } 163 166 167 164 168 void page_fault(int n, istate_t *istate) 165 169 { … … 173 177 } 174 178 } 179 180 181 __address hw_map(__address physaddr, size_t size) 182 { 183 if (last_frame + ALIGN_UP(size, PAGE_SIZE) > KA2PA(KERNEL_ADDRESS_SPACE_END_ARCH)) 184 panic("Unable to map physical memory %p (%d bytes)", physaddr, size) 185 186 __address virtaddr = PA2KA(last_frame); 187 pfn_t i; 188 for (i = 0; i < ADDR2PFN(ALIGN_UP(size, PAGE_SIZE)); i++) 189 page_mapping_insert(AS_KERNEL, virtaddr + PFN2ADDR(i), physaddr + PFN2ADDR(i), PAGE_NOT_CACHEABLE); 190 191 last_frame = ALIGN_UP(last_frame + size, FRAME_SIZE); 192 193 return virtaddr; 194 }
Note:
See TracChangeset
for help on using the changeset viewer.