Changeset 401 for trunk/kernel/mm


Ignore:
Timestamp:
Aug 17, 2017, 3:02:18 PM (7 years ago)
Author:
alain
Message:

Few bugs in VMM

Location:
trunk/kernel/mm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/mm/vmm.c

    r400 r401  
    10131013///////////////////////////////////////////////////
    10141014error_t vmm_handle_page_fault( process_t * process,
    1015                                vseg_t    * vseg,
    10161015                               vpn_t       vpn )
    10171016{
     
    10191018    ppn_t            ppn;           // missing page PPN
    10201019    error_t          error;         // return value
    1021 
    1022     // get local VMM pointer
    1023         vmm_t * vmm = &process->vmm;
    10241020
    10251021    // get reference process cluster and local pointer
  • trunk/kernel/mm/vmm.h

    r399 r401  
    283283 * This function is called by the generic exception handler when a page fault
    284284 * has been detected in a given cluster.
    285  * If the local cluster is not the reference cluster, it send a RPC_VMM_GET_PTE
    286  * to the reference cluster to get the missing PTE attributes and PPN, and update
    287  * the local page table. If the local cluster is the reference, it call directly
    288  * the vmm_get_pte() function.
     285 * - If the local cluster is not the reference cluster, it send a RPC_VMM_GET_PTE
     286 *   to the reference cluster to get the missing PTE attributes and PPN, and update
     287 *   the local page table.
     288 * - If the local cluster is the reference, it call directly the vmm_get_pte() function.
    289289 *********************************************************************************************
    290290 * @ process   : pointer on process descriptor.
    291  * @ vseg      : pointer on involved vseg.
    292291 * @ vpn       : VPN of the missing PTE.
    293292 * @ returns 0 if success / returns ENOMEM if no memory.
    294293 ********************************************************************************************/
    295294error_t vmm_handle_page_fault( struct process_s * process,
    296                                vseg_t           * vseg,
    297295                               vpn_t              vpn );
    298296
     
    319317
    320318/*********************************************************************************************
    321  * This function is called by the vmm_get_pte() function.
     319 * This function is called by the vmm_get_pte() function when a page is unmapped.
    322320 * Depending on the vseg type, defined by the <vseg> argument, it returns the PPN
    323321 * (Physical Page Number) associated to a missing page defined by the <vpn> argument.
     
    331329 * @ vpn    : Virtual Page Number identifying the missing page.
    332330 * @ ppn    : [out] returned Physical Page Number.
     331 * return 0 if success / return EINVAL or ENOMEM if error.
    333332 ********************************************************************************************/
    334333error_t vmm_get_one_ppn( vseg_t * vseg,
Note: See TracChangeset for help on using the changeset viewer.