xref: /netbsd/sys/arch/cesfic/cesfic/clock.c (revision bf9ec67e)
1 /* $NetBSD: clock.c,v 1.1 2001/05/14 18:22:59 drochner Exp $ */
2 
3 /*
4  * Copyright (c) 1997, 1999
5  *	Matthias Drochner.  All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  *
27  */
28 
29 #include <sys/param.h>
30 #include <sys/systm.h>
31 #include <sys/kernel.h>
32 
33 #include <machine/autoconf.h>
34 
35 char *clockbase;
36 
37 extern void sic_enable_int(int, int, int, int, int);
38 void
39 cpu_initclocks()
40 {
41 	mainbus_map(0x5a000000, 0x1000, 0, (void **)&clockbase);
42 	sic_enable_int(25, 0, 1, 6, 0);
43 }
44 
45 #if 0
46 void readrtc()
47 {
48 }
49 #endif
50 
51 void
52 microtime(tvp)
53 	struct timeval *tvp;
54 {
55 	static struct timeval lasttime;
56 	int s = splhigh();
57 
58 	/* make sure it's monotonic */
59 	if (timercmp(&time, &lasttime, <))
60 		*tvp = lasttime;
61 	else
62 		*tvp = lasttime = time;
63 	splx(s);
64 }
65 
66 /*
67  * Initialize the time of day register, based on the time base which is, e.g.
68  * from a filesystem.
69  */
70 void
71 inittodr(base)
72 	time_t base;
73 {
74 
75 	time.tv_sec = base; /* XXX NFS server time - OK for diskless systems */
76 }
77 
78 /*
79  * Restore the time of day hardware after a time change.
80  */
81 void
82 resettodr()
83 {
84 }
85 
86 void
87 setstatclockrate(newhz)
88 	int newhz;
89 {
90 }
91 
92 void otherclock __P((int));
93 
94 void
95 otherclock(sr)
96 	int sr;
97 {
98 	printf("otherclock(%x)\n", sr);
99 }
100