Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

map_util.cc File Reference

#include "map_util.h"
#include "map_util_i.h"

Functions

void handle_sigma0_adapter_address (Address &phys, unsigned &page_flags)
Mapdbmapdb_instance ()
 The mapping database.
void update_lipc_kip (Space *, Address, Mword, Space *, Address, Mword, Address)
Ipc_err mem_map (Space *from, Address fp_from_page, Mword fp_from_size, bool fp_from_write, bool fp_from_grant, Space *to, Address fp_to_page, Mword fp_to_size, Address offs, bool flush)
 Map the region described by "fp_from" of address space "from" into region "fp_to" at offset "offs" of address space "to", updating the mapping database as we do so.
void mem_fpage_unmap (Space *space, L4_fpage fp, bool me_too, bool only_read_only)
 Unmap the mappings in the region described by "fp" from the address space "space" and/or the address spaces the mappings have been mapped into.

Function Documentation

void handle_sigma0_adapter_address Address &  phys,
unsigned &  page_flags
[inline]
 

Mapdb * mapdb_instance  ) 
 

The mapping database.

This is the system's instance of the mapping database.

void mem_fpage_unmap Space space,
L4_fpage  fp,
bool  me_too,
bool  only_read_only
 

Unmap the mappings in the region described by "fp" from the address space "space" and/or the address spaces the mappings have been mapped into.

Parameters:
space address space that should be flushed
fp flexpage descriptor of address-space range that should be flushed
me_too If false, only flush recursive mappings. If true, additionally flush the region in the given address space.
only_read_only Do not flush pages, but only revoke write-access privileges
Returns:
true if successful

Ipc_err mem_map Space from,
Address  fp_from_page,
Mword  fp_from_size,
bool  fp_from_write,
bool  fp_from_grant,
Space to,
Address  fp_to_page,
Mword  fp_to_size,
Address  offs,
bool  flush
 

Map the region described by "fp_from" of address space "from" into region "fp_to" at offset "offs" of address space "to", updating the mapping database as we do so.

Parameters:
from source address space
fp_from_{page,size,write,grant} flexpage description for virtual-address space range in source address space
to destination address space
fp_to_{page,size} flexpage descripton for virtual-address space range in destination address space
offs sender-specified offset into destination flexpage
flush Controls the behaviour if there's already sth. mapped in the rcv page and we can't do an access rights upgrade. If set, flush the rcv page and do the requested mapping. If not set, skip the operation and give up.
Precondition:
page_aligned(offs)
Returns:
IPC error code that describes the status of the operation

void update_lipc_kip Space ,
Address  ,
Mword  ,
Space ,
Address  ,
Mword  ,
Address 
[inline]
 


Generated on Mon Sep 26 14:20:13 2005 for Fiasco by  doxygen 1.4.2