Changeset 315 for trunk/kernel/kern


Ignore:
Timestamp:
Aug 3, 2017, 10:15:18 AM (7 years ago)
Author:
alain
Message:

Redefine the fuctions ppm_base2page() / ppm_page2base() / ppm_page2ppn() / ppm_ppn2page() / ppm_base2ppn() / ppm_ppn2base(),
to use explicitely extended pointers.

Location:
trunk/kernel/kern
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/kern/rpc.c

    r313 r315  
    14041404        user_buffer = (void *)(intptr_t)hal_remote_lwd( XPTR( client_cxy , &desc->args[4] ) );
    14051405
    1406         error = mapper_move_user_buffer( mapper,
    1407                                          to_buffer,
    1408                                          file_offset,
    1409                                          user_buffer,
    1410                                          size );
     1406        error = mapper_move_user( mapper,
     1407                                  to_buffer,
     1408                                  file_offset,
     1409                                  user_buffer,
     1410                                  size );
    14111411    }
    14121412    else
     
    14141414        kern_buffer = (xptr_t)hal_remote_lwd( XPTR( client_cxy , &desc->args[4] ) );
    14151415
    1416         error = mapper_move_user_buffer( mapper,
    1417                                          to_buffer,
    1418                                          file_offset,
    1419                                          kern_buffer,
    1420                                          size );
     1416        error = mapper_move_kernel( mapper,
     1417                                    to_buffer,
     1418                                    file_offset,
     1419                                    kern_buffer,
     1420                                    size );
    14211421    }
    14221422
  • trunk/kernel/kern/thread.c

    r296 r315  
    8282        page      = kmem_alloc( &req );
    8383
     84        if( page == NULL ) return NULL;
     85
    8486    // return pointer on new thread descriptor
    85         if( page == NULL ) return NULL;
    86     else               return (thread_t *)ppm_page2vaddr( page );
    87 }
     87    xptr_t base_xp = ppm_page2base( XPTR(local_cxy , page ) );
     88    return (thread_t *)GET_PTR( base_xp );
     89
     90}  // end thread_alloc()
     91 
    8892
    8993/////////////////////////////////////////////////////////////////////////////////////
     
    100104    kmem_req_t   req;
    101105
     106    xptr_t base_xp = ppm_base2page( XPTR(local_cxy , thread ) );
     107
    102108    req.type  = KMEM_PAGE;
    103     req.ptr   = ppm_vaddr2page( thread );
     109    req.ptr   = GET_PTR( base_xp );
    104110    kmem_free( &req );
    105111}
Note: See TracChangeset for help on using the changeset viewer.