Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/alpha/include Add cpu_counter() for rnd(4), using t...
details: https://anonhg.NetBSD.org/src/rev/8bc2d1a44168
branches: trunk
changeset: 487452:8bc2d1a44168
user: thorpej <thorpej%NetBSD.org@localhost>
date: Thu Jun 08 02:19:20 2000 +0000
description:
Add cpu_counter() for rnd(4), using the rpcc insn.
diffstat:
sys/arch/alpha/include/rnd.h | 67 ++++++++++++++++++++++++++++++++++++++++++
sys/arch/alpha/include/types.h | 3 +-
2 files changed, 69 insertions(+), 1 deletions(-)
diffs (87 lines):
diff -r f5d8d6800adc -r 8bc2d1a44168 sys/arch/alpha/include/rnd.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/alpha/include/rnd.h Thu Jun 08 02:19:20 2000 +0000
@@ -0,0 +1,67 @@
+/* $NetBSD: rnd.h,v 1.1 2000/06/08 02:19:20 thorpej Exp $ */
+
+/*-
+ * Copyright (c) 2000 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Jason R. Thorpe.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _ALPHA_RND_H_
+#define _ALPHA_RND_H_
+
+/*
+ * Machine-specific support for rnd(4)
+ */
+
+#ifdef _KERNEL
+
+#include <machine/alpha_cpu.h>
+
+/* Process Cycle Counter is always available. */
+#define cpu_hascounter() (1)
+
+static __inline u_int32_t
+cpu_counter(void)
+{
+
+ /*
+ * Only the lower 32 bits of the PCC are an actual cycle
+ * counter. Thankfully, the rnd(4) code only wants a
+ * 32-bit value anyway.
+ */
+ return (alpha_rpcc() & 0xffffffffU);
+}
+
+#endif /* _KERNEL */
+
+#endif /* !_ALPHA_RND_H_ */
diff -r f5d8d6800adc -r 8bc2d1a44168 sys/arch/alpha/include/types.h
--- a/sys/arch/alpha/include/types.h Thu Jun 08 01:24:38 2000 +0000
+++ b/sys/arch/alpha/include/types.h Thu Jun 08 02:19:20 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: types.h,v 1.15 2000/05/23 05:12:56 thorpej Exp $ */
+/* $NetBSD: types.h,v 1.16 2000/06/08 02:19:20 thorpej Exp $ */
/*-
* Copyright (c) 1990, 1993
@@ -73,5 +73,6 @@
#define __HAVE_DEVICE_REGISTER
#define __HAVE_NWSCONS
#define __HAVE_ATOMIC_OPERATIONS
+#define __HAVE_CPU_COUNTER
#endif /* _MACHTYPES_H_ */
Home |
Main Index |
Thread Index |
Old Index