No linear addresses in message delivery
- removes p_delivermsg_lin item from the process structure and code related to it - as the send part, the receive does not need to use the PHYS_COPY_CATCH() and umap_local() couple. - The address space of the target process is installed before delivermsg() is called. - unlike the linear address, the virtual address does not change when paging is turned on nor after fork().
This commit is contained in:
@@ -29,7 +29,6 @@ PUBLIC int do_exec(struct proc * caller, message * m_ptr)
|
||||
|
||||
if(rp->p_misc_flags & MF_DELIVERMSG) {
|
||||
rp->p_misc_flags &= ~MF_DELIVERMSG;
|
||||
rp->p_delivermsg_lin = 0;
|
||||
}
|
||||
|
||||
/* Save command name for debugging, ps(1) output, etc. */
|
||||
|
||||
@@ -109,7 +109,6 @@ PUBLIC int do_fork(struct proc * caller, message * m_ptr)
|
||||
|
||||
/* Install new map */
|
||||
r = newmap(caller, rpc, map_ptr);
|
||||
FIXLINMSG(rpc);
|
||||
|
||||
/* Don't schedule process in VM mode until it has a new pagetable. */
|
||||
if(m_ptr->PR_FORK_FLAGS & PFF_VMINHIBIT) {
|
||||
|
||||
Reference in New Issue
Block a user