1 /* $NetBSD: kernel.h,v 1.16 2000/03/23 06:31:51 thorpej Exp $ */ 2 3 /*- 4 * Copyright (c) 1990, 1993 5 * The Regents of the University of California. All rights reserved. 6 * (c) UNIX System Laboratories, Inc. 7 * All or some portions of this file are derived from material licensed 8 * to the University of California by American Telephone and Telegraph 9 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 10 * the permission of UNIX System Laboratories, Inc. 11 * 12 * Redistribution and use in source and binary forms, with or without 13 * modification, are permitted provided that the following conditions 14 * are met: 15 * 1. Redistributions of source code must retain the above copyright 16 * notice, this list of conditions and the following disclaimer. 17 * 2. Redistributions in binary form must reproduce the above copyright 18 * notice, this list of conditions and the following disclaimer in the 19 * documentation and/or other materials provided with the distribution. 20 * 3. All advertising materials mentioning features or use of this software 21 * must display the following acknowledgement: 22 * This product includes software developed by the University of 23 * California, Berkeley and its contributors. 24 * 4. Neither the name of the University nor the names of its contributors 25 * may be used to endorse or promote products derived from this software 26 * without specific prior written permission. 27 * 28 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 29 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 30 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 31 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 32 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 * SUCH DAMAGE. 39 * 40 * @(#)kernel.h 8.3 (Berkeley) 1/21/94 41 */ 42 43 #ifndef _SYS_KERNEL_H_ 44 #define _SYS_KERNEL_H_ 45 46 /* Global variables for the kernel. */ 47 48 extern long hostid; 49 extern char hostname[MAXHOSTNAMELEN]; 50 extern int hostnamelen; 51 extern char domainname[MAXHOSTNAMELEN]; 52 extern int domainnamelen; 53 54 extern volatile struct timeval mono_time; 55 extern struct timeval boottime; 56 extern struct timeval runtime; 57 extern volatile struct timeval time; 58 59 extern int rtc_offset; /* offset of rtc from UTC in minutes */ 60 61 extern int cold; /* still working on startup */ 62 extern int tick; /* usec per tick (1000000 / hz) */ 63 extern int tickfix; /* periodic tick adj. tick not integral */ 64 extern int tickfixinterval; /* interval at which to apply adjustment */ 65 extern int tickadj; /* "standard" clock skew, us./tick */ 66 extern int hz; /* system clock's frequency */ 67 extern int stathz; /* statistics clock's frequency */ 68 extern int profhz; /* profiling clock's frequency */ 69 extern int lbolt; /* once a second sleep address */ 70 71 /* 72 * These globals indicate the number of times hardlock() has ticked, 73 * and the successive attempt of softclock() to catch up with it. These 74 * are large unsigned numbers so that arithmetic can be performed on them 75 * with no reasonable worry about an overflow occurring (we get over 500 76 * million years with this). 77 * 78 * IMPORTANT NOTE: you *must* be at splclock() in order to read both 79 * hardclock_ticks and softclock_ticks. This is because the 64-bit 80 * quantities may not be readable in an atomic fashion on all CPU types. 81 */ 82 extern u_int64_t hardclock_ticks, softclock_ticks; 83 84 #endif /* _SYS_KERNEL_H_ */ 85