Changes between Version 3 and Version 4 of kernel_vmem


Ignore:
Timestamp:
Jan 1, 2016, 10:43:34 PM (8 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • kernel_vmem

    v3 v4  
    1818 * SPP : Small Physical pages / 4 Kbytes
    1919
    20 === unsigned long long _v2p_translate( unsigned int  vaddr  ,  unsigned int* flags ) ===
    21 
     20=== unsigned long long '''_v2p_translate'''( unsigned int  vaddr  ,  unsigned int* flags ) ===
    2221This function returns the physical address from the virtual address. The MMU is supposed to be activated, and it uses the page table defined by the CP0_PTPR register. It supports both small (4 Kbytes) & big (2 Mbytes) pages.
    2322 * '''vaddr''': virtual address.
     
    2524Exit if PTE1 or PTE2 unmapped.
    2625
     26=== void '''_v2p_add_pte1'''( unsigned int vspace_id , unsigned int x , unsigned int y , unsigned int vpn , unsigned int flags , unsigned int ppn , unsigned int ident ) ===
     27This function registers a new PTE1 (BPP)vin the page table defined by the <vspace_id> argument, and the <x,y> coordinates. The value is defined by the <flags> and <ppn> arguments.
     28It updates only the first level PT1. As each vseg is mapped by a different processor, the PT1 entry cannot be concurrently accessed, and we don't need to take any lock.
     29
     30=== void '''_v2p_add_pte2'''( unsigned int vspace_id , unsigned int x , unsigned int y , unsigned int vpn ) ===
     31
     32=== void '''_v2p_del_pte1'''( unsigned int vspace_id , unsigned int x , unsigned int y , unsigned int vpn ) ===
     33
     34=== void '''_v2p_del_pte2'''( unsigned int vspace_id , unsigned int x , unsigned int y , unsigned int vpn ) ===
     35