Changeset 41680 in vbox
- Timestamp:
- Jun 13, 2012 11:19:56 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/solaris/memobj-r0drv-solaris.c
r41652 r41680 135 135 * @param virtAddr The virtual address to which this page maybe mapped in 136 136 * the future. 137 * @param cbPage The size of the page.138 137 * 139 138 * @returns Pointer to the allocated page, NULL on failure. 140 139 */ 141 static page_t *rtR0MemObjSolPageAlloc(caddr_t virtAddr, size_t cbPage) 142 { 143 Assert(cbPage == PAGE_SIZE); 144 145 u_offset_t offPage; 146 seg_t KernelSeg; 140 static page_t *rtR0MemObjSolPageAlloc(caddr_t virtAddr) 141 { 142 u_offset_t offPage; 143 seg_t KernelSeg; 147 144 148 145 mutex_enter(&g_OffsetMtx); 149 146 AssertCompileSize(u_offset_t, sizeof(uint64_t)); NOREF(RTASSERTVAR); 150 g_offPage = RT_ALIGN_64(g_offPage, cbPage) + cbPage;147 g_offPage = RT_ALIGN_64(g_offPage, PAGE_SIZE) + PAGE_SIZE; 151 148 offPage = g_offPage; 152 149 mutex_exit(&g_OffsetMtx); 153 150 154 151 KernelSeg.s_as = &kas; 155 page_t *pPage = page_create_va(&g_PageVnode, offPage, cbPage, PG_WAIT | PG_NORELOC, &KernelSeg, virtAddr);152 page_t *pPage = page_create_va(&g_PageVnode, offPage, PAGE_SIZE, PG_WAIT | PG_NORELOC, &KernelSeg, virtAddr); 156 153 if (RT_LIKELY(pPage)) 157 154 { 158 155 /* 159 * Lock this page into memory "long term" to prevent paging out of this page156 * Lock this page into memory "long term" to prevent this page from being paged out 160 157 * when we drop the page lock temporarily (during free). 161 158 */ … … 214 211 * from being relocated. 215 212 */ 216 page_t *pPage = rtR0MemObjSolPageAlloc(virtAddr , PAGE_SIZE);213 page_t *pPage = rtR0MemObjSolPageAlloc(virtAddr); 217 214 if (RT_UNLIKELY(!pPage)) 218 215 { 219 216 /* 220 * No page s found or found pages didn't meet requirements, release what wasgrabbed so far.217 * No page found, release whatever pages we grabbed so far. 221 218 */ 222 219 for (size_t k = 0; k < i; k++)
Note:
See TracChangeset
for help on using the changeset viewer.