File:  [Research Unix] / researchv9 / cmd / adb / sun / mchrun.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:59 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv9-SUN3_old, researchv9-SUN3, HEAD
researchv9-SUN3(old)

/*
 * machine-dependent code for controlling a process
 * this for vax
 */

#include "defs.h"
#include "bkpt.h"
#include "regs.h"
#include "space.h"
#include <machine/reg.h>
#include <machine/psl.h>


/*
 * install (f != 0) or remove (f == 0) a breakpoint
 */

#define	BPT	0x4e4f		/* Trap #15 */

extern ADDR txtsize;
bkput(bk, f)
register BKPT *bk;
{
	register int sp;

	if (bk->loc < txtsize)
		sp = CORF | INSTSP;
	else
		sp = CORF | DATASP;
	if (f == 0)
		sput(bk->loc, sp, wtos(bk->ins));
	else {
		bk->ins = stow(sget(bk->loc, sp));
		sput(bk->loc, sp, wtos(BPT));
		if (errflg) {
			printf("cannot set breakpoint: ");
			/* stuff */
			prints(errflg);
		}
	}
}

/*
 * set psl to cause a trap after one instruction
 * needed for v8; no ioctl to step pc
 */

setstep()
{

	rput(PS, rget(PS) | PSL_T);
}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.