- 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().
		
			
				
	
	
		
			19 lines
		
	
	
		
			286 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			286 B
		
	
	
	
		
			C
		
	
	
	
	
	
 | 
						|
#ifndef _VM_H
 | 
						|
#define _VM_H 1
 | 
						|
 | 
						|
/* Pseudo error codes */
 | 
						|
#define VMSUSPEND       (-996)
 | 
						|
#define EFAULT_SRC	(-995)
 | 
						|
#define EFAULT_DST	(-994)
 | 
						|
 | 
						|
#define PHYS_COPY_CATCH(src, dst, size, a) {	\
 | 
						|
	catch_pagefaults++;			\
 | 
						|
	a = phys_copy(src, dst, size);		\
 | 
						|
	catch_pagefaults--;			\
 | 
						|
	}
 | 
						|
 | 
						|
#endif
 | 
						|
 | 
						|
 |