/* kgclock.c 6.1 83/07/29 */
* KL-11 as profiling clock
#include "../machine/pte.h"
#include "../machine/psl.h"
#include "../vaxuba/ubavar.h"
int kgprobe(), kgattach();
struct uba_device
*kginfo
[1];
u_short kgstd
[] = { 0177560, 0 };
struct uba_driver kgdriver
=
{ kgprobe
, 0, kgattach
, 0, kgstd
, "kg", kginfo
};
#define KLSTRT 0300 /* intr enbl + done */
register int br
, cvec
; /* value-result */
register struct klregs
*klp
= (struct klregs
*)reg
;
klbase
= (struct klregs
*)ui
->ui_addr
;
* start the sampling clock
klbase
->tcsr
= KLSTRT
; /* enable interrupts */
kgclock(dev
, r0
, r1
, r2
, r3
, r4
,r5
, pc
, ps
)
klbase
->tbuf
= 0377; /* reprime clock (scope sync too) */
if (time
.tv_sec
>= otime
)
if (time
.tv_sec
>= otime
+ 4) {
gatherstats(pc
, ps
); /* this routine lives in kern_clock.c */