*** empty log message ***
This commit is contained in:
		
							parent
							
								
									95151cb265
								
							
						
					
					
						commit
						efa9c84c8b
					
				
							
								
								
									
										72
									
								
								servers/pm/dmp.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								servers/pm/dmp.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,72 @@
 | 
				
			|||||||
 | 
					/* This file contains procedures to dump to PM' data structures.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * The entry points into this file are
 | 
				
			||||||
 | 
					 *   do_fkey_pressed:	a function key was pressed	
 | 
				
			||||||
 | 
					 *   mproc_dump:   	display PM process table	  
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Created:
 | 
				
			||||||
 | 
					 *   May 11, 2005:	by Jorrit N. Herder
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "pm.h"
 | 
				
			||||||
 | 
					#include <minix/callnr.h>
 | 
				
			||||||
 | 
					#include <minix/com.h>
 | 
				
			||||||
 | 
					#include <minix/keymap.h>
 | 
				
			||||||
 | 
					#include <signal.h>
 | 
				
			||||||
 | 
					#include "mproc.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FORWARD _PROTOTYPE( void mproc_dmp, (void));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*===========================================================================*
 | 
				
			||||||
 | 
					 *				do_fkey_pressed				     *
 | 
				
			||||||
 | 
					 *===========================================================================*/
 | 
				
			||||||
 | 
					PUBLIC int do_fkey_pressed(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  printf("Process Manager debug dump: ");
 | 
				
			||||||
 | 
					  switch (m_in.FKEY_CODE) {
 | 
				
			||||||
 | 
					    	case SF7:	mproc_dmp();		break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    	default:
 | 
				
			||||||
 | 
					    		printf("PM: unhandled notification for Shift+F%d key.\n",
 | 
				
			||||||
 | 
					    			m_in.FKEY_NUM);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*===========================================================================*
 | 
				
			||||||
 | 
					 *				mproc_dmp				     *
 | 
				
			||||||
 | 
					 *===========================================================================*/
 | 
				
			||||||
 | 
					PRIVATE void mproc_dmp()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  struct mproc *mp;
 | 
				
			||||||
 | 
					  int i, n=0;
 | 
				
			||||||
 | 
					  static int prev_i;
 | 
				
			||||||
 | 
					  printf("Process Table\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  printf("-process- -nr-prnt- -pid/grp- --uid---gid-- -flags- --ignore--catch--block--\n");
 | 
				
			||||||
 | 
					  for (i=prev_i; i<NR_PROCS; i++) {
 | 
				
			||||||
 | 
					  	mp = &mproc[i];
 | 
				
			||||||
 | 
					  	if (mp->mp_pid <= 0) continue;
 | 
				
			||||||
 | 
					  	if (++n > 22) break;
 | 
				
			||||||
 | 
					  	printf("%8.8s %4d%4d  %4d%4d    ", 
 | 
				
			||||||
 | 
					  		mp->mp_name, i, mp->mp_parent, mp->mp_pid, mp->mp_procgrp);
 | 
				
			||||||
 | 
					  	printf("%d (%d)  %d (%d)  ",
 | 
				
			||||||
 | 
					  		mp->mp_realuid, mp->mp_effuid, mp->mp_realgid, mp->mp_effgid);
 | 
				
			||||||
 | 
					  	printf("0x%04x  ", 
 | 
				
			||||||
 | 
					  		mp->mp_flags); 
 | 
				
			||||||
 | 
					  	printf("0x%04x 0x%04x 0x%04x", 
 | 
				
			||||||
 | 
					  		mp->mp_ignore, mp->mp_catch, mp->mp_sigmask); 
 | 
				
			||||||
 | 
					  	printf("\n");
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  if (i >= NR_PROCS) i = 0;
 | 
				
			||||||
 | 
					  else printf("--more--\r");
 | 
				
			||||||
 | 
					  prev_i = i;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*===========================================================================*
 | 
				
			||||||
 | 
					 *				...._dmp				     *
 | 
				
			||||||
 | 
					 *===========================================================================*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1,45 +0,0 @@
 | 
				
			|||||||
#include "mm.h"
 | 
					 | 
				
			||||||
#include <minix/config.h>
 | 
					 | 
				
			||||||
#include <timers.h>
 | 
					 | 
				
			||||||
#include <string.h>
 | 
					 | 
				
			||||||
#include "../../kernel/const.h"
 | 
					 | 
				
			||||||
#include "../../kernel/type.h"
 | 
					 | 
				
			||||||
#include "../../kernel/proc.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* The entry points into this file are:
 | 
					 | 
				
			||||||
 *   p_getmap:	get memory map of given process
 | 
					 | 
				
			||||||
 *   p_getsp:	get stack pointer of given process	
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*===========================================================================*
 | 
					 | 
				
			||||||
 *				p_getmap					     *
 | 
					 | 
				
			||||||
 *===========================================================================*/
 | 
					 | 
				
			||||||
PUBLIC int p_getmap(proc_nr, mem_map)
 | 
					 | 
				
			||||||
int proc_nr;					/* process to get map of */
 | 
					 | 
				
			||||||
struct mem_map *mem_map;			/* put memory map here */
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  struct proc p;
 | 
					 | 
				
			||||||
  int s;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if ((s=sys_getproc(&p, proc_nr)) != OK)
 | 
					 | 
				
			||||||
  	return(s);
 | 
					 | 
				
			||||||
  memcpy(mem_map, p.p_memmap, sizeof(p.p_memmap));
 | 
					 | 
				
			||||||
  return(OK);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*===========================================================================*
 | 
					 | 
				
			||||||
 *				p_getsp					     *
 | 
					 | 
				
			||||||
 *===========================================================================*/
 | 
					 | 
				
			||||||
PUBLIC int p_getsp(proc_nr, sp)
 | 
					 | 
				
			||||||
int proc_nr;					/* process to get sp of */
 | 
					 | 
				
			||||||
vir_bytes *sp;					/* put stack pointer here */
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  struct proc p;
 | 
					 | 
				
			||||||
  int s;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if ((s=sys_getproc(&p, proc_nr)) != OK)
 | 
					 | 
				
			||||||
  	return(s);
 | 
					 | 
				
			||||||
  *sp = p.p_reg.sp;
 | 
					 | 
				
			||||||
  return(OK);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user