Changeset 23 for trunk/kernel/mm/vmm.h


Ignore:
Timestamp:
Jun 18, 2017, 10:06:41 PM (5 years ago)
Author:
alain
Message:

Introduce syscalls.

File:
1 edited

Legend:

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

    r18 r23  
    44 * Authors   Ghassan Almaless (2008,2009,2010,2011, 2012)
    55 *           Mohamed Lamine Karaoui (2015)
    6  *           Alain Greiner (2016)
     6 *           Alain Greiner (2016,2017)
    77 *
    88 * Copyright (c) UPMC Sorbonne Universites
     
    103103        rwlock_t       vsegs_lock;         /*! lock protecting the vsegs list & radix tree      */
    104104        list_entry_t   vsegs_root;         /*! all vsegs in same process and same cluster       */
    105         uint32_t       vsegs_nr;           /*! total number of vsegs                            */
    106 
     105        uint32_t       vsegs_nr;           /*! total number of local vsegs                      */
    107106        grdxt_t        grdxt;              /*! embedded generic vsegs radix tree (key is vpn)   */
    108107
     
    110109
    111110    stack_mgr_t    stack_mgr;          /*! embedded STACK vsegs allocator                   */
    112 
    113111    mmap_mgr_t     mmap_mgr;           /*! embedded MMAP vsegs allocator                    */
    114112
     
    158156
    159157/*********************************************************************************************
     158 * This function copies the content of a source VMM to a destination VMM.
     159 *********************************************************************************************
     160 * @ dst_process   : pointer on destination process descriptor.
     161 * @ src_process   : pointer on source process descriptor.
     162 * @ return 0 if success / return ENOMEM if failure.
     163 ********************************************************************************************/
     164error_t vmm_copy( struct process_s * dst_process,
     165                  struct process_s * src_process );
     166
     167/*********************************************************************************************
    160168 * This function removes all vsegs registered in in a virtual memory manager,
    161169 * and releases the memory allocated to the local generic page table.
    162170 *********************************************************************************************
    163  * @ vmm   : pointer on process descriptor.
     171 * @ process   : pointer on process descriptor.
    164172 ********************************************************************************************/
    165173void vmm_destroy( struct process_s * process );
     
    265273
    266274/*********************************************************************************************
    267  * This function is called by the architecture specific exception handler when a
    268  * page fault has been detected in a given cluster.
     275 * This function is called by the generic exception handler when a page fault
     276 * has been detected in a given cluster.
    269277 * If the local cluster is not the reference cluster, it send a RPC_VMM_GET_PTE
    270278 * to the reference cluster to get the missing PTE attributes and PPN, and update
     
    305313 * This function makes the virtual to physical address translation, using the calling
    306314 * process page table. It uses identity mapping if required by the ident flag.
    307  * This address translation is required to configure the devices
    308  * that have a DMA capability, or to implement the software L2/L3 cache cohérence,
    309  * using the MMC device synchronisation primitives.
    310  * WARNING : the <ident> value must be defined by the CONFIG_KERNEL_IDENT parameter.
     315 * This address translation is required to configure the peripherals having a DMA
     316 * capability, or to implement the software L2/L3 cache cohérence, using the MMC device
     317 * synchronisation primitives.
     318 * WARNING : the <ident> value must be defined by the CONFIG_KERNEL_IDENTITY_MAP parameter.
    311319 *********************************************************************************************
    312320 * @ ident     : [in] uses identity mapping if true.
     
    321329
    322330/*********************************************************************************************
    323  * Pas a sa place ici [AG]
    324  ********************************************************************************************/
    325 int sys_mmap( mmap_attr_t * mattr );
    326 
    327 /*********************************************************************************************
    328331 ********************************************************************************************/
    329332int sys_madvise( void    * start,
Note: See TracChangeset for help on using the changeset viewer.