ifnd VMEM_I VMEM_I equ 1 ; Initialize the virtual memory manager xref vmem_init ; Clears the TLB entry of the page pointed to by a0 xref vmem_clear_tlb_entry ; Activates the address space pointed to by a0 xref vmem_activate_addr_space ; Sets the secondary address space xref vmem_set_secondary_addr_space ; Get the pointer to the mapping entry for the page in a0 ; Pointer returned in a0 ; Address space number in d0 xref vmem_get_map_ptr ; Unmaps the virtual page at address a0 ; Address space number in d0 xref vmem_unmap_page ; Unmaps the range of virtual pages at address a0 with length d0 ; Address space number in d1 xref vmem_unmap ; Sets the permission flags of the range of virtual pages starting at address a0 with length d1 to d0 ; Address space number in d2 xref vmem_set_flags ; Maps the range of virtual pages starting at address a0 with length d1 to the range of physical frames starting at d0 ; d0 must have none of its lower 12 bits set ; Address space number in d2 ; Permission flags in d3 xref vmem_map_to ; Maps the range of virtual pages starting at address a0 with length d0 to free physical frames ; Address space number in d1 ; Permission flags in d2 xref vmem_map ; Maps a free range of virtual pages with length d0 to free physical frames ; Returns the range start in a0 ; Address space number in d1 ; Permission flags in d2 xref vmem_map_free ; Maps a free range of virtual pages with length d1 to the range of physical frames starting at d0 ; Returns the range start in a0 ; Address space number in d2 ; Permission flags in d3 xref vmem_map_free_to ; Copies the range of page mappings at address a0 in the primary space with length d0 to the secondary space starting at address a1 xref vmem_copy_to_secondary ; Get a range of free kernel pages with length in d0 and return its start in a0 xref vmem_get_free_kernel_pages ; Get a range of free user pages with length in d0 and return its start in a0 xref vmem_get_free_user_pages xref kernel_address_space xref vmem_mmu_base_addr endif