Changeset 265 for trunk/kernel/mm/mapper.c
- Timestamp:
- Jul 21, 2017, 7:36:08 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/mm/mapper.c
r246 r265 169 169 if ( page == NULL ) // missing page => create it and load it from file system 170 170 { 171 mapper_dmsg("\n[INFO] %s : missing page => load from FS\n", __FUNCTION__ );171 mapper_dmsg("\n[INFO] %s : missing page => load from device\n", __FUNCTION__ ); 172 172 173 173 // allocate one page from PPM … … 298 298 } // end mapper_release_page() 299 299 300 ///////////////////////////////////////// 301 error_t mapper_move( mapper_t * mapper, 302 bool_t to_buffer, 303 uint32_t file_offset, 304 void * buffer, 305 uint32_t size ) 300 //////////////////////////////////////////////// 301 error_t mapper_move_buffer( mapper_t * mapper, 302 bool_t to_buffer, 303 bool_t is_user, 304 uint32_t file_offset, 305 void * buffer, 306 uint32_t size ) 306 307 { 307 308 uint32_t page_offset; // first byte to move to/from a mapper page … … 313 314 uint8_t * buf_ptr; // current buffer address 314 315 315 mapper_dmsg("\n[INFO] %s : enter / to_buf = %d / buffer = %x\n",316 mapper_dmsg("\n[INFO] %s : enters / to_buf = %d / buffer = %x\n", 316 317 __FUNCTION__ , to_buffer , buffer ); 317 318 … … 339 340 else page_count = CONFIG_PPM_PAGE_SIZE; 340 341 342 mapper_dmsg("\n[INFO] %s : index = %d / offset = %d / count = %d\n", 343 __FUNCTION__ , index , page_offset , page_count ); 344 341 345 // get page descriptor 342 346 page = mapper_get_page( mapper , index ); … … 350 354 buf_ptr = (uint8_t *)buffer + done; 351 355 356 mapper_dmsg("\n[INFO] %s : index = %d / buf_ptr = %x / map_ptr = %x\n", 357 __FUNCTION__ , index , buf_ptr , map_ptr ); 358 352 359 // move fragment 353 360 if( to_buffer ) 354 361 { 355 hal_copy_to_uspace( buf_ptr , map_ptr , page_count ); 356 } 357 else 362 if( is_user ) hal_copy_to_uspace( buf_ptr , map_ptr , page_count ); 363 else memcpy( buf_ptr , map_ptr , page_count ); 364 } 365 else 358 366 { 359 367 page_do_dirty( page ); 360 hal_copy_from_uspace( map_ptr , buf_ptr , page_count ); 368 if( is_user ) hal_copy_from_uspace( map_ptr , buf_ptr , page_count ); 369 else memcpy( map_ptr , buf_ptr , page_count ); 361 370 } 362 371 … … 369 378 return 0; 370 379 371 } // end mapper_move ()372 380 } // end mapper_move_buffer() 381
Note: See TracChangeset
for help on using the changeset viewer.