Message type for SVRCTL
Change-Id: Ibdb9edb9878e06cf2a641ffc3975f878a6e41dfb
This commit is contained in:
		
							parent
							
								
									6c313721d3
								
							
						
					
					
						commit
						948a5389f9
					
				@ -1235,10 +1235,6 @@
 | 
				
			|||||||
#define SI_WHERE		m1_p1	/* void */
 | 
					#define SI_WHERE		m1_p1	/* void */
 | 
				
			||||||
#define SI_SIZE			m1_i2	/* size_t */
 | 
					#define SI_SIZE			m1_i2	/* size_t */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Field names for the svrctl(2) call. */
 | 
					 | 
				
			||||||
#define SVRCTL_REQ		m2_i1	/* int */
 | 
					 | 
				
			||||||
#define SVRCTL_ARG		m2_p1	/* void * */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*===========================================================================*
 | 
					/*===========================================================================*
 | 
				
			||||||
 *		Internal codes used by several services			     *
 | 
					 *		Internal codes used by several services			     *
 | 
				
			||||||
 *===========================================================================*/
 | 
					 *===========================================================================*/
 | 
				
			||||||
 | 
				
			|||||||
@ -769,6 +769,14 @@ typedef struct {
 | 
				
			|||||||
} mess_lsys_sched_scheduling_stop;
 | 
					} mess_lsys_sched_scheduling_stop;
 | 
				
			||||||
_ASSERT_MSG_SIZE(mess_lsys_sched_scheduling_stop);
 | 
					_ASSERT_MSG_SIZE(mess_lsys_sched_scheduling_stop);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct {
 | 
				
			||||||
 | 
						int request;
 | 
				
			||||||
 | 
						vir_bytes arg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						uint8_t padding[48];
 | 
				
			||||||
 | 
					} mess_lsys_svrctl;
 | 
				
			||||||
 | 
					_ASSERT_MSG_SIZE(mess_lsys_svrctl);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct {
 | 
					typedef struct {
 | 
				
			||||||
	endpoint_t endpt;
 | 
						endpoint_t endpt;
 | 
				
			||||||
	cp_grant_id_t grant;
 | 
						cp_grant_id_t grant;
 | 
				
			||||||
@ -1368,6 +1376,8 @@ typedef struct {
 | 
				
			|||||||
		mess_lsys_sched_scheduling_start m_lsys_sched_scheduling_start;
 | 
							mess_lsys_sched_scheduling_start m_lsys_sched_scheduling_start;
 | 
				
			||||||
		mess_lsys_sched_scheduling_stop m_lsys_sched_scheduling_stop;
 | 
							mess_lsys_sched_scheduling_stop m_lsys_sched_scheduling_stop;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							mess_lsys_svrctl	m_lsys_svrctl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mess_lsys_vfs_checkperms m_lsys_vfs_checkperms;
 | 
							mess_lsys_vfs_checkperms m_lsys_vfs_checkperms;
 | 
				
			||||||
		mess_lsys_vfs_copyfd	m_lsys_vfs_copyfd;
 | 
							mess_lsys_vfs_copyfd	m_lsys_vfs_copyfd;
 | 
				
			||||||
		mess_lsys_vfs_mapdriver	m_lsys_vfs_mapdriver;
 | 
							mess_lsys_vfs_mapdriver	m_lsys_vfs_mapdriver;
 | 
				
			||||||
 | 
				
			|||||||
@ -11,8 +11,8 @@ int svrctl(int request, void *argp)
 | 
				
			|||||||
	message m;
 | 
						message m;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memset(&m, 0, sizeof(m));
 | 
						memset(&m, 0, sizeof(m));
 | 
				
			||||||
	m.SVRCTL_REQ = request;
 | 
						m.m_lsys_svrctl.request = request;
 | 
				
			||||||
	m.SVRCTL_ARG = argp;
 | 
						m.m_lsys_svrctl.arg = argp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	switch ((request >> 8) & 0xFF) {
 | 
						switch ((request >> 8) & 0xFF) {
 | 
				
			||||||
	case 'M':
 | 
						case 'M':
 | 
				
			||||||
 | 
				
			|||||||
@ -305,8 +305,8 @@ int do_svrctl()
 | 
				
			|||||||
  } local_param_overrides[MAX_LOCAL_PARAMS];
 | 
					  } local_param_overrides[MAX_LOCAL_PARAMS];
 | 
				
			||||||
  static int local_params = 0;
 | 
					  static int local_params = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  req = m_in.SVRCTL_REQ;
 | 
					  req = m_in.m_lsys_svrctl.request;
 | 
				
			||||||
  ptr = (vir_bytes) m_in.SVRCTL_ARG;
 | 
					  ptr = m_in.m_lsys_svrctl.arg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* Is the request indeed for the PM? */
 | 
					  /* Is the request indeed for the PM? */
 | 
				
			||||||
  if (((req >> 8) & 0xFF) != 'M') return(EINVAL);
 | 
					  if (((req >> 8) & 0xFF) != 'M') return(EINVAL);
 | 
				
			||||||
 | 
				
			|||||||
@ -779,8 +779,8 @@ int do_svrctl(void)
 | 
				
			|||||||
  unsigned int svrctl;
 | 
					  unsigned int svrctl;
 | 
				
			||||||
  vir_bytes ptr;
 | 
					  vir_bytes ptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  svrctl = job_m_in.SVRCTL_REQ;
 | 
					  svrctl = job_m_in.m_lsys_svrctl.request;
 | 
				
			||||||
  ptr = (vir_bytes) job_m_in.SVRCTL_ARG;
 | 
					  ptr = job_m_in.m_lsys_svrctl.arg;
 | 
				
			||||||
  if (((svrctl >> 8) & 0xFF) != 'M') return(EINVAL);
 | 
					  if (((svrctl >> 8) & 0xFF) != 'M') return(EINVAL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  switch (svrctl) {
 | 
					  switch (svrctl) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user