Revision 1.27 of clock.c applies to the Intersil interrupt, not sun4m timers.
This commit is contained in:
parent
020c431dc5
commit
a61069b899
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: oclock.c,v 1.8 2003/07/15 00:05:07 lukem Exp $ */
|
/* $NetBSD: oclock.c,v 1.9 2004/07/01 09:59:00 pk Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
__KERNEL_RCSID(0, "$NetBSD: oclock.c,v 1.8 2003/07/15 00:05:07 lukem Exp $");
|
__KERNEL_RCSID(0, "$NetBSD: oclock.c,v 1.9 2004/07/01 09:59:00 pk Exp $");
|
||||||
|
|
||||||
#include "opt_sparc_arch.h"
|
#include "opt_sparc_arch.h"
|
||||||
|
|
||||||
|
@ -239,10 +239,20 @@ oclockintr(cap)
|
||||||
void *cap;
|
void *cap;
|
||||||
{
|
{
|
||||||
volatile int discard;
|
volatile int discard;
|
||||||
|
int s;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Protect the clearing of the clock interrupt. If we don't
|
||||||
|
* do this, and we're interrupted (by the zs, for example),
|
||||||
|
* the clock stops!
|
||||||
|
* XXX WHY DOES THIS HAPPEN?
|
||||||
|
*/
|
||||||
|
s = splhigh();
|
||||||
|
|
||||||
discard = intersil_clear();
|
discard = intersil_clear();
|
||||||
ienab_bic(IE_L10); /* clear interrupt */
|
ienab_bic(IE_L10); /* clear interrupt */
|
||||||
ienab_bis(IE_L10); /* enable interrupt */
|
ienab_bis(IE_L10); /* enable interrupt */
|
||||||
|
splx(s);
|
||||||
|
|
||||||
hardclock((struct clockframe *)cap);
|
hardclock((struct clockframe *)cap);
|
||||||
return (1);
|
return (1);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: timer_sun4m.c,v 1.9 2004/05/12 15:44:28 pk Exp $ */
|
/* $NetBSD: timer_sun4m.c,v 1.10 2004/07/01 09:59:00 pk Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1992, 1993
|
* Copyright (c) 1992, 1993
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
__KERNEL_RCSID(0, "$NetBSD: timer_sun4m.c,v 1.9 2004/05/12 15:44:28 pk Exp $");
|
__KERNEL_RCSID(0, "$NetBSD: timer_sun4m.c,v 1.10 2004/07/01 09:59:00 pk Exp $");
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/kernel.h>
|
#include <sys/kernel.h>
|
||||||
|
@ -104,19 +104,9 @@ int
|
||||||
clockintr_4m(void *cap)
|
clockintr_4m(void *cap)
|
||||||
{
|
{
|
||||||
volatile int discard;
|
volatile int discard;
|
||||||
int s;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Protect the clearing of the clock interrupt. If we don't
|
|
||||||
* do this, and we're interrupted (by the zs, for example),
|
|
||||||
* the clock stops!
|
|
||||||
* XXX WHY DOES THIS HAPPEN?
|
|
||||||
*/
|
|
||||||
s = splhigh();
|
|
||||||
|
|
||||||
/* read the limit register to clear the interrupt */
|
/* read the limit register to clear the interrupt */
|
||||||
discard = timerreg4m->t_limit;
|
discard = timerreg4m->t_limit;
|
||||||
splx(s);
|
|
||||||
|
|
||||||
hardclock((struct clockframe *)cap);
|
hardclock((struct clockframe *)cap);
|
||||||
return (1);
|
return (1);
|
||||||
|
|
Loading…
Reference in New Issue