A technique to manage multiple-mapped memory and to selectively execute at
least a portion of a process from either an unprotected function or a
protected function. The process contains memory that is multiple-mapped
to both an unprotected memory region and to a protected memory region
that stores a protected function. A trust co-processor determines whether
the process is a trusted process or an untrusted process. If trusted, the
multiple-mapped memory is mapped to the protected memory region; and a
transfer agent operates to control the process and to call the protected
function using parameters provided to the transfer agent from the
process. In one embodiment, the transfer agent resides in nonvolatile
memory, and is transferred to internal SRAM to control execution of a
trusted process.