Message type for SYS_IOPENABLE
Change-Id: I8b089c30c7f9ae75e404f63495bbb199d583f1cd
This commit is contained in:
		
							parent
							
								
									e412a58209
								
							
						
					
					
						commit
						05f155c0a9
					
				| @ -310,9 +310,6 @@ | |||||||
| #  define IRQ_WORD      0x200	/* word values */ | #  define IRQ_WORD      0x200	/* word values */ | ||||||
| #  define IRQ_LONG      0x400	/* long values */ | #  define IRQ_LONG      0x400	/* long values */ | ||||||
| 
 | 
 | ||||||
| /* Field names for SYS_IOPENABLE. */ |  | ||||||
| #define IOP_ENDPT	m2_l1	/* target endpoint */ |  | ||||||
| 
 |  | ||||||
| /* Field names for _UMAP, _VIRCOPY, _PHYSCOPY. */ | /* Field names for _UMAP, _VIRCOPY, _PHYSCOPY. */ | ||||||
| #define CP_SRC_ENDPT	m5_i1	/* process to copy from */ | #define CP_SRC_ENDPT	m5_i1	/* process to copy from */ | ||||||
| #define CP_SRC_ADDR	m5_l1	/* address where data come from */ | #define CP_SRC_ADDR	m5_l1	/* address where data come from */ | ||||||
|  | |||||||
| @ -707,6 +707,13 @@ typedef struct { | |||||||
| } mess_lsys_krn_sys_abort; | } mess_lsys_krn_sys_abort; | ||||||
| _ASSERT_MSG_SIZE(mess_lsys_krn_sys_abort); | _ASSERT_MSG_SIZE(mess_lsys_krn_sys_abort); | ||||||
| 
 | 
 | ||||||
|  | typedef struct { | ||||||
|  | 	endpoint_t endpt; | ||||||
|  | 
 | ||||||
|  | 	uint8_t padding[52]; | ||||||
|  | } mess_lsys_krn_sys_iopenable; | ||||||
|  | _ASSERT_MSG_SIZE(mess_lsys_krn_sys_iopenable); | ||||||
|  | 
 | ||||||
| typedef struct { | typedef struct { | ||||||
| 	int request; | 	int request; | ||||||
| 	int vector; | 	int vector; | ||||||
| @ -1489,6 +1496,7 @@ typedef struct { | |||||||
| 		mess_lsys_krn_schedctl	m_lsys_krn_schedctl; | 		mess_lsys_krn_schedctl	m_lsys_krn_schedctl; | ||||||
| 		mess_lsys_krn_schedule	m_lsys_krn_schedule; | 		mess_lsys_krn_schedule	m_lsys_krn_schedule; | ||||||
| 		mess_lsys_krn_sys_abort m_lsys_krn_sys_abort; | 		mess_lsys_krn_sys_abort m_lsys_krn_sys_abort; | ||||||
|  | 		mess_lsys_krn_sys_iopenable m_lsys_krn_sys_iopenable; | ||||||
| 		mess_lsys_krn_sys_irqctl m_lsys_krn_sys_irqctl; | 		mess_lsys_krn_sys_irqctl m_lsys_krn_sys_irqctl; | ||||||
| 		mess_lsys_krn_sys_memset m_lsys_krn_sys_memset; | 		mess_lsys_krn_sys_memset m_lsys_krn_sys_memset; | ||||||
| 		mess_lsys_krn_sys_sdevio m_lsys_krn_sys_sdevio; | 		mess_lsys_krn_sys_sdevio m_lsys_krn_sys_sdevio; | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ | |||||||
|  *   m_type:	SYS_IOPENABLE |  *   m_type:	SYS_IOPENABLE | ||||||
|  * |  * | ||||||
|  * The parameters for this system call are: |  * The parameters for this system call are: | ||||||
|  *    m2_i2:	IOP_ENDPT	(process to give I/O Protection Level bits) |  *   m_lsys_krn_sys_iopenable.endpt	(process to give I/O Protection Level bits) | ||||||
|  * |  * | ||||||
|  * Author: |  * Author: | ||||||
|  *    Jorrit N. Herder <jnherder@cs.vu.nl> |  *    Jorrit N. Herder <jnherder@cs.vu.nl> | ||||||
| @ -22,9 +22,9 @@ int do_iopenable(struct proc * caller, message * m_ptr) | |||||||
|   int proc_nr; |   int proc_nr; | ||||||
| 
 | 
 | ||||||
| #if 1 /* ENABLE_USERPRIV && ENABLE_USERIOPL */ | #if 1 /* ENABLE_USERPRIV && ENABLE_USERIOPL */ | ||||||
|   if (m_ptr->IOP_ENDPT == SELF) { |   if (m_ptr->m_lsys_krn_sys_iopenable.endpt == SELF) { | ||||||
| 	okendpt(caller->p_endpoint, &proc_nr); | 	okendpt(caller->p_endpoint, &proc_nr); | ||||||
|   } else if(!isokendpt(m_ptr->IOP_ENDPT, &proc_nr)) |   } else if(!isokendpt(m_ptr->m_lsys_krn_sys_iopenable.endpt, &proc_nr)) | ||||||
| 	return(EINVAL); | 	return(EINVAL); | ||||||
|   enable_iop(proc_addr(proc_nr)); |   enable_iop(proc_addr(proc_nr)); | ||||||
|   return(OK); |   return(OK); | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ int sys_enable_iop(proc_ep) | |||||||
| endpoint_t proc_ep;			/* number of process to allow I/O */ | endpoint_t proc_ep;			/* number of process to allow I/O */ | ||||||
| { | { | ||||||
|     message m_iop; |     message m_iop; | ||||||
|     m_iop.IOP_ENDPT = proc_ep; |     m_iop.m_lsys_krn_sys_iopenable.endpt = proc_ep; | ||||||
|     return _kernel_call(SYS_IOPENABLE, &m_iop); |     return _kernel_call(SYS_IOPENABLE, &m_iop); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Lionel Sambuc
						Lionel Sambuc