* Copyright (c) 1992 OMRON Corporation.
* Copyright (c) 1982, 1986 Regents of the University of California.
* %sccs.include.redist.c%
* OMRON:$Id: sys_machdep.c,v 1.2 92/06/14 06:22:55 moti Exp $
* from: hp300/hp300/sys_machdep.c 7.8 (Berkeley) 6/5/92
* @(#)sys_machdep.c 7.2 (Berkeley) %G%
case VTR_DISABLE
: /* disable a trace point */
case VTR_ENABLE
: /* enable a trace point */
if (uap
->value
< 0 || uap
->value
>= TR_NFLAGS
)
*retval
= traceflags
[uap
->value
];
traceflags
[uap
->value
] = uap
->request
;
case VTR_VALUE
: /* return a trace point setting */
if (uap
->value
< 0 || uap
->value
>= TR_NFLAGS
)
*retval
= traceflags
[uap
->value
];
case VTR_UALARM
: /* set a real-time ualarm, less than 1 min */
if (uap
->value
<= 0 || uap
->value
> 60 * hz
|| nvualarm
> 5)
timeout(vdoualarm
, (caddr_t
)p
->p_pid
, uap
->value
);
trace(TR_STAMP
, uap
->value
, p
->p_pid
);
/* XXX should be in an include file somewhere */
#define CC_EXTPURGE 0x80000000
* Note that what we do here for a 68040 is different than HP-UX.
* In 'pux they either act on a line (len == 16), a page (len == NBPG)
* or the whole cache (len == anything else).
* In BSD we attempt to be more optimal when acting on "odd" sizes.
* For lengths up to 1024 we do all affected lines, up to 2*NBPG we
* do pages, above that we do the entire cache.
case CC_EXTPURGE
|CC_PURGE
:
case CC_EXTPURGE
|CC_FLUSH
:
case CC_EXTPURGE
|CC_IPURGE
: