diff options
Diffstat (limited to 'sys/alpha/include')
73 files changed, 0 insertions, 8697 deletions
diff --git a/sys/alpha/include/_bus.h b/sys/alpha/include/_bus.h deleted file mode 100644 index 261120e..0000000 --- a/sys/alpha/include/_bus.h +++ /dev/null @@ -1,42 +0,0 @@ -/*- - * Copyright (c) 2005 M. Warner Losh. - * All rights reserved. - * - * 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, - * without modification, immediately at the beginning of the file. - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef ALPHA_INCLUDE__BUS_H -#define ALPHA_INCLUDE__BUS_H - -/* - * Bus address and size types - */ -typedef u_int64_t bus_addr_t; -typedef u_int64_t bus_size_t; -typedef struct alpha_busspace *bus_space_tag_t; -typedef u_int32_t bus_space_handle_t; - -#endif /* ALPHA_INCLUDE__BUS_H */ diff --git a/sys/alpha/include/_inttypes.h b/sys/alpha/include/_inttypes.h deleted file mode 100644 index e6b2536..0000000 --- a/sys/alpha/include/_inttypes.h +++ /dev/null @@ -1,220 +0,0 @@ -/*- - * Copyright (c) 2001 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Klaus Klein. - * - * 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. - * - * From: $NetBSD: int_fmtio.h,v 1.2 2001/04/26 16:25:21 kleink Exp $ - * $FreeBSD$ - */ - -#ifndef _MACHINE_INTTYPES_H_ -#define _MACHINE_INTTYPES_H_ - -/* - * Macros for format specifiers. - */ - -/* fprintf(3) macros for signed integers. */ - -#define PRId8 "d" /* int8_t */ -#define PRId16 "d" /* int16_t */ -#define PRId32 "d" /* int32_t */ -#define PRId64 "ld" /* int64_t */ -#define PRIdLEAST8 "d" /* int_least8_t */ -#define PRIdLEAST16 "d" /* int_least16_t */ -#define PRIdLEAST32 "d" /* int_least32_t */ -#define PRIdLEAST64 "ld" /* int_least64_t */ -#define PRIdFAST8 "d" /* int_fast8_t */ -#define PRIdFAST16 "d" /* int_fast16_t */ -#define PRIdFAST32 "d" /* int_fast32_t */ -#define PRIdFAST64 "ld" /* int_fast64_t */ -#define PRIdMAX "jd" /* intmax_t */ -#define PRIdPTR "ld" /* intptr_t */ - -#define PRIi8 "i" /* int8_t */ -#define PRIi16 "i" /* int16_t */ -#define PRIi32 "i" /* int32_t */ -#define PRIi64 "li" /* int64_t */ -#define PRIiLEAST8 "i" /* int_least8_t */ -#define PRIiLEAST16 "i" /* int_least16_t */ -#define PRIiLEAST32 "i" /* int_least32_t */ -#define PRIiLEAST64 "li" /* int_least64_t */ -#define PRIiFAST8 "i" /* int_fast8_t */ -#define PRIiFAST16 "i" /* int_fast16_t */ -#define PRIiFAST32 "i" /* int_fast32_t */ -#define PRIiFAST64 "li" /* int_fast64_t */ -#define PRIiMAX "ji" /* intmax_t */ -#define PRIiPTR "li" /* intptr_t */ - -/* fprintf(3) macros for unsigned integers. */ - -#define PRIo8 "o" /* uint8_t */ -#define PRIo16 "o" /* uint16_t */ -#define PRIo32 "o" /* uint32_t */ -#define PRIo64 "lo" /* uint64_t */ -#define PRIoLEAST8 "o" /* uint_least8_t */ -#define PRIoLEAST16 "o" /* uint_least16_t */ -#define PRIoLEAST32 "o" /* uint_least32_t */ -#define PRIoLEAST64 "lo" /* uint_least64_t */ -#define PRIoFAST8 "o" /* uint_fast8_t */ -#define PRIoFAST16 "o" /* uint_fast16_t */ -#define PRIoFAST32 "o" /* uint_fast32_t */ -#define PRIoFAST64 "lo" /* uint_fast64_t */ -#define PRIoMAX "jo" /* uintmax_t */ -#define PRIoPTR "lo" /* uintptr_t */ - -#define PRIu8 "u" /* uint8_t */ -#define PRIu16 "u" /* uint16_t */ -#define PRIu32 "u" /* uint32_t */ -#define PRIu64 "lu" /* uint64_t */ -#define PRIuLEAST8 "u" /* uint_least8_t */ -#define PRIuLEAST16 "u" /* uint_least16_t */ -#define PRIuLEAST32 "u" /* uint_least32_t */ -#define PRIuLEAST64 "lu" /* uint_least64_t */ -#define PRIuFAST8 "u" /* uint_fast8_t */ -#define PRIuFAST16 "u" /* uint_fast16_t */ -#define PRIuFAST32 "u" /* uint_fast32_t */ -#define PRIuFAST64 "lu" /* uint_fast64_t */ -#define PRIuMAX "ju" /* uintmax_t */ -#define PRIuPTR "lu" /* uintptr_t */ - -#define PRIx8 "x" /* uint8_t */ -#define PRIx16 "x" /* uint16_t */ -#define PRIx32 "x" /* uint32_t */ -#define PRIx64 "lx" /* uint64_t */ -#define PRIxLEAST8 "x" /* uint_least8_t */ -#define PRIxLEAST16 "x" /* uint_least16_t */ -#define PRIxLEAST32 "x" /* uint_least32_t */ -#define PRIxLEAST64 "lx" /* uint_least64_t */ -#define PRIxFAST8 "x" /* uint_fast8_t */ -#define PRIxFAST16 "x" /* uint_fast16_t */ -#define PRIxFAST32 "x" /* uint_fast32_t */ -#define PRIxFAST64 "lx" /* uint_fast64_t */ -#define PRIxMAX "jx" /* uintmax_t */ -#define PRIxPTR "lx" /* uintptr_t */ - -#define PRIX8 "X" /* uint8_t */ -#define PRIX16 "X" /* uint16_t */ -#define PRIX32 "X" /* uint32_t */ -#define PRIX64 "lX" /* uint64_t */ -#define PRIXLEAST8 "X" /* uint_least8_t */ -#define PRIXLEAST16 "X" /* uint_least16_t */ -#define PRIXLEAST32 "X" /* uint_least32_t */ -#define PRIXLEAST64 "lX" /* uint_least64_t */ -#define PRIXFAST8 "X" /* uint_fast8_t */ -#define PRIXFAST16 "X" /* uint_fast16_t */ -#define PRIXFAST32 "X" /* uint_fast32_t */ -#define PRIXFAST64 "lX" /* uint_fast64_t */ -#define PRIXMAX "jX" /* uintmax_t */ -#define PRIXPTR "lX" /* uintptr_t */ - -/* fscanf(3) macros for signed integers. */ - -#define SCNd8 "hhd" /* int8_t */ -#define SCNd16 "hd" /* int16_t */ -#define SCNd32 "d" /* int32_t */ -#define SCNd64 "ld" /* int64_t */ -#define SCNdLEAST8 "hhd" /* int_least8_t */ -#define SCNdLEAST16 "hd" /* int_least16_t */ -#define SCNdLEAST32 "d" /* int_least32_t */ -#define SCNdLEAST64 "ld" /* int_least64_t */ -#define SCNdFAST8 "d" /* int_fast8_t */ -#define SCNdFAST16 "d" /* int_fast16_t */ -#define SCNdFAST32 "d" /* int_fast32_t */ -#define SCNdFAST64 "ld" /* int_fast64_t */ -#define SCNdMAX "jd" /* intmax_t */ -#define SCNdPTR "ld" /* intptr_t */ - -#define SCNi8 "hhi" /* int8_t */ -#define SCNi16 "hi" /* int16_t */ -#define SCNi32 "i" /* int32_t */ -#define SCNi64 "li" /* int64_t */ -#define SCNiLEAST8 "hhi" /* int_least8_t */ -#define SCNiLEAST16 "hi" /* int_least16_t */ -#define SCNiLEAST32 "i" /* int_least32_t */ -#define SCNiLEAST64 "li" /* int_least64_t */ -#define SCNiFAST8 "i" /* int_fast8_t */ -#define SCNiFAST16 "i" /* int_fast16_t */ -#define SCNiFAST32 "i" /* int_fast32_t */ -#define SCNiFAST64 "li" /* int_fast64_t */ -#define SCNiMAX "ji" /* intmax_t */ -#define SCNiPTR "li" /* intptr_t */ - -/* fscanf(3) macros for unsigned integers. */ - -#define SCNo8 "hho" /* uint8_t */ -#define SCNo16 "ho" /* uint16_t */ -#define SCNo32 "o" /* uint32_t */ -#define SCNo64 "lo" /* uint64_t */ -#define SCNoLEAST8 "hho" /* uint_least8_t */ -#define SCNoLEAST16 "ho" /* uint_least16_t */ -#define SCNoLEAST32 "o" /* uint_least32_t */ -#define SCNoLEAST64 "lo" /* uint_least64_t */ -#define SCNoFAST8 "o" /* uint_fast8_t */ -#define SCNoFAST16 "o" /* uint_fast16_t */ -#define SCNoFAST32 "o" /* uint_fast32_t */ -#define SCNoFAST64 "lo" /* uint_fast64_t */ -#define SCNoMAX "jo" /* uintmax_t */ -#define SCNoPTR "lo" /* uintptr_t */ - -#define SCNu8 "hhu" /* uint8_t */ -#define SCNu16 "hu" /* uint16_t */ -#define SCNu32 "u" /* uint32_t */ -#define SCNu64 "lu" /* uint64_t */ -#define SCNuLEAST8 "hhu" /* uint_least8_t */ -#define SCNuLEAST16 "hu" /* uint_least16_t */ -#define SCNuLEAST32 "u" /* uint_least32_t */ -#define SCNuLEAST64 "lu" /* uint_least64_t */ -#define SCNuFAST8 "u" /* uint_fast8_t */ -#define SCNuFAST16 "u" /* uint_fast16_t */ -#define SCNuFAST32 "u" /* uint_fast32_t */ -#define SCNuFAST64 "lu" /* uint_fast64_t */ -#define SCNuMAX "ju" /* uintmax_t */ -#define SCNuPTR "lu" /* uintptr_t */ - -#define SCNx8 "hhx" /* uint8_t */ -#define SCNx16 "hx" /* uint16_t */ -#define SCNx32 "x" /* uint32_t */ -#define SCNx64 "lx" /* uint64_t */ -#define SCNxLEAST8 "hhx" /* uint_least8_t */ -#define SCNxLEAST16 "hx" /* uint_least16_t */ -#define SCNxLEAST32 "x" /* uint_least32_t */ -#define SCNxLEAST64 "lx" /* uint_least64_t */ -#define SCNxFAST8 "x" /* uint_fast8_t */ -#define SCNxFAST16 "x" /* uint_fast16_t */ -#define SCNxFAST32 "x" /* uint_fast32_t */ -#define SCNxFAST64 "lx" /* uint_fast64_t */ -#define SCNxMAX "jx" /* uintmax_t */ -#define SCNxPTR "lx" /* uintptr_t */ - -#endif /* !_MACHINE_INTTYPES_H_ */ diff --git a/sys/alpha/include/_limits.h b/sys/alpha/include/_limits.h deleted file mode 100644 index 0ab5874..0000000 --- a/sys/alpha/include/_limits.h +++ /dev/null @@ -1,96 +0,0 @@ -/*- - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * @(#)limits.h 8.3 (Berkeley) 1/4/94 - * From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp - * $FreeBSD$ - */ - -#ifndef _MACHINE__LIMITS_H_ -#define _MACHINE__LIMITS_H_ - -/* - * According to ANSI (section 2.2.4.2), the values below must be usable by - * #if preprocessing directives. Additionally, the expression must have the - * same type as would an expression that is an object of the corresponding - * type converted according to the integral promotions. The subtraction for - * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an - * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers are for the default configuration of gcc. They work for - * some other compilers as well, but this should not be depended on. - */ - -#define __CHAR_BIT 8 /* number of bits in a char */ - -#define __SCHAR_MAX 0x7f /* max value for a signed char */ -#define __SCHAR_MIN (-0x7f-1) /* min value for a signed char */ - -#define __UCHAR_MAX 0xffU /* max value for an unsigned char */ -#define __CHAR_MAX 0x7f /* max value for a char */ -#define __CHAR_MIN (-0x7f-1) /* min value for a char */ - -#define __USHRT_MAX 0xffffU /* max value for an unsigned short */ -#define __SHRT_MAX 0x7fff /* max value for a short */ -#define __SHRT_MIN (-0x7fff-1) /* min value for a short */ - -#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */ -#define __INT_MAX 0x7fffffff /* max value for an int */ -#define __INT_MIN (-0x7fffffff-1) /* min value for an int */ - -#define __ULONG_MAX 0xffffffffffffffffUL /* max for an unsigned long */ -#define __LONG_MAX 0x7fffffffffffffffL /* max for a long */ -#define __LONG_MIN (-0x7fffffffffffffffL-1) /* min for a long */ - -/* Long longs and longs are the same size on the alpha. */ - /* max for an unsigned long long */ -#define __ULLONG_MAX 0xffffffffffffffffULL -#define __LLONG_MAX 0x7fffffffffffffffLL /* max for a long long */ -#define __LLONG_MIN (-0x7fffffffffffffffLL-1) /* min for a long long */ - -#define __SSIZE_MAX __LONG_MAX /* max value for a ssize_t */ - -#define __SIZE_T_MAX __ULONG_MAX /* max value for a size_t */ - -#define __OFF_MAX __LONG_MAX /* max value for a off_t */ -#define __OFF_MIN __LONG_MIN /* min value for a off_t */ - -/* Quads and longs are the same on the alpha. Ensure they stay in sync. */ -#define __UQUAD_MAX (__ULONG_MAX) /* max value for a uquad_t */ -#define __QUAD_MAX (__LONG_MAX) /* max value for a quad_t */ -#define __QUAD_MIN (__LONG_MIN) /* min value for a quad_t */ - -#define __LONG_BIT 64 -#define __WORD_BIT 32 - -/* - * Minimum signal stack size. The current signal frame - * for Alpha is 808 bytes large. - */ -#define __MINSIGSTKSZ (1024 * 4) - -#endif /* !_MACHINE__LIMITS_H_ */ diff --git a/sys/alpha/include/_stdint.h b/sys/alpha/include/_stdint.h deleted file mode 100644 index 1aed3e3..0000000 --- a/sys/alpha/include/_stdint.h +++ /dev/null @@ -1,171 +0,0 @@ -/*- - * Copyright (c) 2001, 2002 Mike Barcroft <mike@FreeBSD.org> - * Copyright (c) 2001 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Klaus Klein. - * - * 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE__STDINT_H_ -#define _MACHINE__STDINT_H_ - -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) - -#define INT8_C(c) (c) -#define INT16_C(c) (c) -#define INT32_C(c) (c) -#define INT64_C(c) (c ## L) - -#define UINT8_C(c) (c) -#define UINT16_C(c) (c) -#define UINT32_C(c) (c ## U) -#define UINT64_C(c) (c ## UL) - -#define INTMAX_C(c) (c ## L) -#define UINTMAX_C(c) (c ## UL) - -#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ - -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) - -/* - * ISO/IEC 9899:1999 - * 7.18.2.1 Limits of exact-width integer types - */ -/* Minimum values of exact-width signed integer types. */ -#define INT8_MIN (-0x7f-1) -#define INT16_MIN (-0x7fff-1) -#define INT32_MIN (-0x7fffffff-1) -#define INT64_MIN (-0x7fffffffffffffffL-1) - -/* Maximum values of exact-width signed integer types. */ -#define INT8_MAX 0x7f -#define INT16_MAX 0x7fff -#define INT32_MAX 0x7fffffff -#define INT64_MAX 0x7fffffffffffffffL - -/* Maximum values of exact-width unsigned integer types. */ -#define UINT8_MAX 0xff -#define UINT16_MAX 0xffff -#define UINT32_MAX 0xffffffffU -#define UINT64_MAX 0xffffffffffffffffUL - -/* - * ISO/IEC 9899:1999 - * 7.18.2.2 Limits of minimum-width integer types - */ -/* Minimum values of minimum-width signed integer types. */ -#define INT_LEAST8_MIN INT8_MIN -#define INT_LEAST16_MIN INT16_MIN -#define INT_LEAST32_MIN INT32_MIN -#define INT_LEAST64_MIN INT64_MIN - -/* Maximum values of minimum-width signed integer types. */ -#define INT_LEAST8_MAX INT8_MAX -#define INT_LEAST16_MAX INT16_MAX -#define INT_LEAST32_MAX INT32_MAX -#define INT_LEAST64_MAX INT64_MAX - -/* Maximum values of minimum-width unsigned integer types. */ -#define UINT_LEAST8_MAX UINT8_MAX -#define UINT_LEAST16_MAX UINT16_MAX -#define UINT_LEAST32_MAX UINT32_MAX -#define UINT_LEAST64_MAX UINT64_MAX - -/* - * ISO/IEC 9899:1999 - * 7.18.2.3 Limits of fastest minimum-width integer types - */ -/* Minimum values of fastest minimum-width signed integer types. */ -#define INT_FAST8_MIN INT32_MIN -#define INT_FAST16_MIN INT32_MIN -#define INT_FAST32_MIN INT32_MIN -#define INT_FAST64_MIN INT64_MIN - -/* Maximum values of fastest minimum-width signed integer types. */ -#define INT_FAST8_MAX INT32_MAX -#define INT_FAST16_MAX INT32_MAX -#define INT_FAST32_MAX INT32_MAX -#define INT_FAST64_MAX INT64_MAX - -/* Maximum values of fastest minimum-width unsigned integer types. */ -#define UINT_FAST8_MAX UINT32_MAX -#define UINT_FAST16_MAX UINT32_MAX -#define UINT_FAST32_MAX UINT32_MAX -#define UINT_FAST64_MAX UINT64_MAX - -/* - * ISO/IEC 9899:1999 - * 7.18.2.4 Limits of integer types capable of holding object pointers - */ -#define INTPTR_MIN INT64_MIN -#define INTPTR_MAX INT64_MAX -#define UINTPTR_MAX UINT64_MAX - -/* - * ISO/IEC 9899:1999 - * 7.18.2.5 Limits of greatest-width integer types - */ -#define INTMAX_MIN INT64_MIN -#define INTMAX_MAX INT64_MAX -#define UINTMAX_MAX UINT64_MAX - -/* - * ISO/IEC 9899:1999 - * 7.18.3 Limits of other integer types - */ -/* Limits of ptrdiff_t. */ -#define PTRDIFF_MIN INT64_MIN -#define PTRDIFF_MAX INT64_MAX - -/* Limits of sig_atomic_t. */ -#define SIG_ATOMIC_MIN INT32_MIN -#define SIG_ATOMIC_MAX INT32_MAX - -/* Limit of size_t. */ -#define SIZE_MAX UINT64_MAX - -#ifndef WCHAR_MIN /* Also possibly defined in <wchar.h> */ -/* Limits of wchar_t. */ -#define WCHAR_MIN INT32_MIN -#define WCHAR_MAX INT32_MAX -#endif - -/* Limits of wint_t. */ -#define WINT_MIN INT32_MIN -#define WINT_MAX INT32_MAX - -#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ - -#endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/alpha/include/_types.h b/sys/alpha/include/_types.h deleted file mode 100644 index a8acbbb..0000000 --- a/sys/alpha/include/_types.h +++ /dev/null @@ -1,119 +0,0 @@ -/*- - * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * 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 University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 - * From: @(#)types.h 8.3 (Berkeley) 1/5/94 - * $FreeBSD$ - */ - -#ifndef _MACHINE__TYPES_H_ -#define _MACHINE__TYPES_H_ - -#ifndef _SYS_CDEFS_H_ -#error this file needs sys/cdefs.h as a prerequisite -#endif - -/* - * Basic types upon which most other types are built. - */ -typedef __signed char __int8_t; -typedef unsigned char __uint8_t; -typedef short __int16_t; -typedef unsigned short __uint16_t; -typedef int __int32_t; -typedef unsigned int __uint32_t; -typedef long __int64_t; -typedef unsigned long __uint64_t; - -/* - * Standard type definitions. - */ -typedef __int32_t __clock_t; /* clock()... */ -typedef unsigned int __cpumask_t; -typedef __int64_t __critical_t; -typedef double __double_t; -typedef float __float_t; -typedef __int64_t __intfptr_t; -typedef __int64_t __intmax_t; -typedef __int64_t __intptr_t; -typedef __int32_t __int_fast8_t; -typedef __int32_t __int_fast16_t; -typedef __int32_t __int_fast32_t; -typedef __int64_t __int_fast64_t; -typedef __int8_t __int_least8_t; -typedef __int16_t __int_least16_t; -typedef __int32_t __int_least32_t; -typedef __int64_t __int_least64_t; -typedef __int64_t __ptrdiff_t; /* ptr1 - ptr2 */ -typedef __int64_t __register_t; -typedef __int64_t __segsz_t; /* segment size (in pages) */ -typedef __uint64_t __size_t; /* sizeof() */ -typedef __int64_t __ssize_t; /* byte count or error */ -typedef __int32_t __time_t; /* time()... */ -typedef __uint64_t __uintfptr_t; -typedef __uint64_t __uintmax_t; -typedef __uint64_t __uintptr_t; -typedef __uint32_t __uint_fast8_t; -typedef __uint32_t __uint_fast16_t; -typedef __uint32_t __uint_fast32_t; -typedef __uint64_t __uint_fast64_t; -typedef __uint8_t __uint_least8_t; -typedef __uint16_t __uint_least16_t; -typedef __uint32_t __uint_least32_t; -typedef __uint64_t __uint_least64_t; -typedef __uint64_t __u_register_t; -typedef __uint64_t __vm_offset_t; -typedef __int64_t __vm_ooffset_t; -typedef __uint64_t __vm_paddr_t; -typedef __uint64_t __vm_pindex_t; -typedef __uint64_t __vm_size_t; - -/* - * Unusual type definitions. - */ -#ifdef __GNUCLIKE_BUILTIN_VAALIST -typedef __builtin_va_list __va_list; /* internally known to gcc */ -#else -typedef struct { - char *__base; - int __offset; - int __pad; -} __va_list; -#endif /* __GNUCLIKE_BUILTIN_VAALIST */ -#if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \ - && !defined(__NO_GNUC_VA_LIST) -#define __GNUC_VA_LIST -typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ -#endif - -#endif /* !_MACHINE__TYPES_H_ */ diff --git a/sys/alpha/include/alpha_cpu.h b/sys/alpha/include/alpha_cpu.h deleted file mode 100644 index a3b4dfc..0000000 --- a/sys/alpha/include/alpha_cpu.h +++ /dev/null @@ -1,582 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: alpha_cpu.h,v 1.15 1997/09/20 19:02:34 mjacob Exp */ - -/*- - * Copyright (c) 1996 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -#ifndef __ALPHA_ALPHA_CPU_H__ -#define __ALPHA_ALPHA_CPU_H__ - -/* - * Alpha CPU + OSF/1 PALcode definitions for use by the kernel. - * - * Definitions for: - * - * Process Control Block - * Interrupt/Exception/Syscall Stack Frame - * Processor Status Register - * Machine Check Error Summary Register - * Machine Check Logout Area - * Virtual Memory Management - * Kernel Entry Vectors - * MMCSR Fault Type Codes - * Translation Buffer Invalidation - * - * and miscellaneous PALcode operations. - */ - - -/* - * Process Control Block definitions [OSF/1 PALcode Specific] - */ - -struct alpha_pcb { - unsigned long apcb_ksp; /* kernel stack ptr */ - unsigned long apcb_usp; /* user stack ptr */ - unsigned long apcb_ptbr; /* page table base reg */ - unsigned int apcb_cpc; /* charged process cycles */ - unsigned int apcb_asn; /* address space number */ - unsigned long apcb_unique; /* process unique value */ - unsigned long apcb_flags; /* flags; see below */ - unsigned long apcb_decrsv0; /* DEC reserved */ - unsigned long apcb_decrsv1; /* DEC reserved */ -}; - -#define ALPHA_PCB_FLAGS_FEN 0x0000000000000001 -#define ALPHA_PCB_FLAGS_PME 0x4000000000000000 - -/* - * Interrupt/Exception/Syscall "Hardware" (really PALcode) - * Stack Frame definitions - * - * These are quadword offsets from the sp on kernel entry, i.e. - * to get to the value in question you access (sp + (offset * 8)). - * - * On syscall entry, A0-A2 aren't written to memory but space - * _is_ reserved for them. - */ - -#define ALPHA_HWFRAME_PS 0 /* processor status register */ -#define ALPHA_HWFRAME_PC 1 /* program counter */ -#define ALPHA_HWFRAME_GP 2 /* global pointer */ -#define ALPHA_HWFRAME_A0 3 /* a0 */ -#define ALPHA_HWFRAME_A1 4 /* a1 */ -#define ALPHA_HWFRAME_A2 5 /* a2 */ - -#define ALPHA_HWFRAME_SIZE 6 /* 6 8-byte words */ - -/* - * Processor Status Register [OSF/1 PALcode Specific] - * - * Includes user/kernel mode bit, interrupt priority levels, etc. - */ - -#define ALPHA_PSL_USERMODE 0x0008 /* set -> user mode */ -#define ALPHA_PSL_IPL_MASK 0x0007 /* interrupt level mask */ - -#define ALPHA_PSL_IPL_0 0x0000 /* all interrupts enabled */ -#define ALPHA_PSL_IPL_SOFT 0x0001 /* software ints disabled */ -#define ALPHA_PSL_IPL_IO 0x0004 /* I/O dev ints disabled */ -#define ALPHA_PSL_IPL_CLOCK 0x0005 /* clock ints disabled */ -#define ALPHA_PSL_IPL_HIGH 0x0006 /* all but mchecks disabled */ -#define ALPHA_PSL_IPL_MCES 0x0007 /* all interrupts disabled */ - -#define ALPHA_PSL_MUST_BE_ZERO 0xfffffffffffffff0 - -/* Convenience constants: what must be set/clear in user mode */ -#define ALPHA_PSL_USERSET ALPHA_PSL_USERMODE -#define ALPHA_PSL_USERCLR (ALPHA_PSL_MUST_BE_ZERO | ALPHA_PSL_IPL_MASK) - -/* - * Interrupt Type Code Definitions [OSF/1 PALcode Specific] - */ - -#define ALPHA_INTR_XPROC 0 /* interprocessor interrupt */ -#define ALPHA_INTR_CLOCK 1 /* clock interrupt */ -#define ALPHA_INTR_ERROR 2 /* correctable error or mcheck */ -#define ALPHA_INTR_DEVICE 3 /* device interrupt */ -#define ALPHA_INTR_PERF 4 /* performance counter */ -#define ALPHA_INTR_PASSIVE 5 /* passive release */ - -/* - * Machine Check Error Summary Register definitions [OSF/1 PALcode Specific] - * - * The following bits are values as read. On write, _PCE, _SCE, and - * _MIP are "write 1 to clear." - */ - -#define ALPHA_MCES_IMP \ - 0xffffffff00000000 /* impl. dependent */ -#define ALPHA_MCES_RSVD \ - 0x00000000ffffffe0 /* reserved */ -#define ALPHA_MCES_DSC \ - 0x0000000000000010 /* disable system correctable error reporting */ -#define ALPHA_MCES_DPC \ - 0x0000000000000008 /* disable processor correctable error reporting */ -#define ALPHA_MCES_PCE \ - 0x0000000000000004 /* processor correctable error in progress */ -#define ALPHA_MCES_SCE \ - 0x0000000000000002 /* system correctable error in progress */ -#define ALPHA_MCES_MIP \ - 0x0000000000000001 /* machine check in progress */ - -/* - * Machine Check Error Summary Register definitions [OSF/1 PALcode Specific] - */ - -struct alpha_logout_area { - unsigned int la_frame_size; /* frame size */ - unsigned int la_flags; /* flags; see below */ - unsigned int la_cpu_offset; /* offset to cpu area */ - unsigned int la_system_offset; /* offset to system area */ -}; - -#define ALPHA_LOGOUT_FLAGS_RETRY 0x80000000 /* OK to continue */ -#define ALPHA_LOGOUT_FLAGS_SE 0x40000000 /* second error */ -#define ALPHA_LOGOUT_FLAGS_SBZ 0x3fffffff /* should be zero */ - -#define ALPHA_LOGOUT_NOT_BUILT \ - (struct alpha_logout_area *)0xffffffffffffffff) - -#define ALPHA_LOGOUT_PAL_AREA(lap) \ - (unsigned long *)((unsigned char *)(lap) + 16) -#define ALPHA_LOGOUT_PAL_SIZE(lap) \ - ((lap)->la_cpu_offset - 16) -#define ALPHA_LOGOUT_CPU_AREA(lap) \ - (unsigned long *)((unsigned char *)(lap) + (lap)->la_cpu_offset) -#define ALPHA_LOGOUT_CPU_SIZE(lap) \ - ((lap)->la_system_offset - (lap)->la_cpu_offset) -#define ALPHA_LOGOUT_SYSTEM_AREA(lap) \ - (unsigned long *)((unsigned char *)(lap) + (lap)->la_system_offset) -#define ALPHA_LOGOUT_SYSTEM_SIZE(lap) \ - ((lap)->la_frame_size - (lap)->la_system_offset) - -/* - * Virtual Memory Management definitions [OSF/1 PALcode Specific] - * - * Includes user and kernel space addresses and information, - * page table entry definitions, etc. - * - * NOTE THAT THESE DEFINITIONS MAY CHANGE IN FUTURE ALPHA CPUS! - */ - -#define ALPHA_PGSHIFT 13 /* bits that index within page */ -#define ALPHA_PTSHIFT 10 /* bits that index within page tables */ -#define ALPHA_PGBYTES (1 << ALPHA_PGSHIFT) -#define ALPHA_L3SHIFT ALPHA_PGSHIFT -#define ALPHA_L2SHIFT (ALPHA_L3SHIFT+ALPHA_PTSHIFT) -#define ALPHA_L1SHIFT (ALPHA_L2SHIFT+ALPHA_PTSHIFT) - -#define ALPHA_USEG_BASE 0 /* virtual */ -#define ALPHA_USEG_END 0x000003ffffffffffLL - -#define ALPHA_K0SEG_BASE 0xfffffc0000000000LL /* direct-mapped */ -#define ALPHA_K0SEG_END 0xfffffdffffffffffLL -#define ALPHA_K1SEG_BASE 0xfffffe0000000000LL /* virtual */ -#define ALPHA_K1SEG_END 0xffffffffffffffffLL - -#define ALPHA_K0SEG_TO_PHYS(x) ((x) & ~ALPHA_K0SEG_BASE) -#define ALPHA_PHYS_TO_K0SEG(x) ((x) | ALPHA_K0SEG_BASE) - -#define ALPHA_PTE_VALID 0x0001 - -#define ALPHA_PTE_FAULT_ON_READ 0x0002 -#define ALPHA_PTE_FAULT_ON_WRITE 0x0004 -#define ALPHA_PTE_FAULT_ON_EXECUTE 0x0008 - -#define ALPHA_PTE_ASM 0x0010 /* addr. space match */ -#define ALPHA_PTE_GRANULARITY 0x0060 /* granularity hint */ - -#define ALPHA_PTE_PROT 0xff00 -#define ALPHA_PTE_KR 0x0100 -#define ALPHA_PTE_UR 0x0200 -#define ALPHA_PTE_KW 0x1000 -#define ALPHA_PTE_UW 0x2000 - -#define ALPHA_PTE_WRITE (ALPHA_PTE_KW | ALPHA_PTE_UW) - -#define ALPHA_PTE_SOFTWARE 0xffff0000 - -#define ALPHA_PTE_PFN 0xffffffff00000000 - -#define ALPHA_PTE_TO_PFN(pte) ((u_long)(pte) >> 32) -#define ALPHA_PTE_FROM_PFN(pfn) ((u_long)(pfn) << 32) - -typedef unsigned long alpha_pt_entry_t; - -/* - * Kernel Entry Vectors. [OSF/1 PALcode Specific] - */ - -#define ALPHA_KENTRY_INT 0 -#define ALPHA_KENTRY_ARITH 1 -#define ALPHA_KENTRY_MM 2 -#define ALPHA_KENTRY_IF 3 -#define ALPHA_KENTRY_UNA 4 -#define ALPHA_KENTRY_SYS 5 - -/* - * MMCSR Fault Type Codes. [OSF/1 PALcode Specific] - */ - -#define ALPHA_MMCSR_INVALTRANS 0 -#define ALPHA_MMCSR_ACCESS 1 -#define ALPHA_MMCSR_FOR 2 -#define ALPHA_MMCSR_FOE 3 -#define ALPHA_MMCSR_FOW 4 - -/* - * Instruction Fault Type Codes. [OSF/1 PALcode Specific] - */ - -#define ALPHA_IF_CODE_BPT 0 -#define ALPHA_IF_CODE_BUGCHK 1 -#define ALPHA_IF_CODE_GENTRAP 2 -#define ALPHA_IF_CODE_FEN 3 -#define ALPHA_IF_CODE_OPDEC 4 - -/* - * Translation Buffer Invalidation definitions [OSF/1 PALcode Specific] - */ - -#define ALPHA_TBIA() alpha_pal_tbi(-2, 0) /* all TB entries */ -#define ALPHA_TBIAP() alpha_pal_tbi(-1, 0) /* all per-process */ -#define ALPHA_TBISI(va) alpha_pal_tbi(1, (va)) /* ITB entry for va */ -#define ALPHA_TBISD(va) alpha_pal_tbi(2, (va)) /* DTB entry for va */ -#define ALPHA_TBIS(va) alpha_pal_tbi(3, (va)) /* all for va */ - -/* - * Bits used in the amask instruction [EV56 and later] - */ - -#define ALPHA_AMASK_BWX 0x0001 /* byte/word extension */ -#define ALPHA_AMASK_FIX 0x0002 /* sqrt and f <-> i conversion extension */ -#define ALPHA_AMASK_CIX 0x0004 /* count extension */ -#define ALPHA_AMASK_MVI 0x0100 /* multimedia extension */ -#define ALPHA_AMASK_PRECISE 0x0200 /* Precise arithmetic traps */ - -/* - * Chip family IDs returned by implver instruction - */ - -#define ALPHA_IMPLVER_EV4 0 /* LCA/EV4/EV45 */ -#define ALPHA_IMPLVER_EV5 1 /* EV5/EV56/PCA56 */ -#define ALPHA_IMPLVER_EV6 2 /* EV6 */ - - -/* - * Inlines for Alpha instructions normally inaccessible from C. - */ - -static __inline u_int64_t -alpha_amask(u_int64_t mask) -{ - u_int64_t result; - __asm__ __volatile__ ( - "amask %1,%0" - : "=r" (result) - : "r" (mask)); - return result; -} - -static __inline unsigned long -alpha_implver(void) -{ - u_int64_t result; - __asm__ __volatile__ ( - "implver %0" - : "=r" (result)); - return result; -} - -static __inline unsigned long -alpha_rpcc(void) -{ - u_int64_t result; - __asm__ __volatile__ ( - "rpcc %0" - : "=r" (result)); - return result; -} - -static __inline void -alpha_mb(void) -{ - __asm__ __volatile__ ("mb"); -} - -static __inline void -alpha_wmb(void) -{ - /* - * XXX dfr: NetBSD originally had mb instead of wmb for - * alpha_wmb(). I'm not sure why so I'm leaving it alone. I - * think it should be safe to use wmb though. - */ - __asm__ __volatile__ ("mb"); -} - -/* - * Inlines for OSF/1 PALcode operations. - */ - -static __inline void -alpha_pal_halt(void) -{ - __asm__ __volatile__ ("call_pal 0x0 #PAL_halt"); -} - -static __inline void -alpha_pal_cflush(u_int64_t pfn) -{ - register u_int64_t a0 __asm__("$16") = pfn; - __asm__ __volatile__ ( - "call_pal 0x1 #PAL_cflush" - : - : "r" (a0)); -} - -static __inline void -alpha_pal_draina(void) -{ - __asm__ __volatile__ ("call_pal 0x2 #PAL_draina" : : : "memory"); -} - -static __inline void -alpha_pal_wripir(u_int64_t ipir) -{ - register u_int64_t a0 __asm__("$16") = ipir; - __asm__ __volatile__ ( - "call_pal 0xd #PAL_ipir" - : "+r" (a0) - : - : "$1", "$22", "$23", "$24", "$25"); -} - -static __inline u_int64_t -alpha_pal_rdmces(void) -{ - register u_int64_t v0 __asm__("$0"); - __asm__ __volatile__ ( - "call_pal 0x10 #PAL_OSF1_rdmces" - : "=r" (v0) - : - : "$1", "$22", "$23", "$24", "$25"); - return v0; -} - -static __inline void -alpha_pal_wrmces(u_int64_t mces) -{ - register u_int64_t a0 __asm__("$16") = mces; - __asm__ __volatile__ ( - "call_pal 0x11 #PAL_wrmces" - : "+r" (a0) - : - : "$1", "$22", "$23", "$24", "$25"); -} - -static __inline void -alpha_pal_wrfen(u_int64_t fen) -{ - register u_int64_t a0 __asm__("$16") = fen; - __asm__ __volatile__ ( - "call_pal 0x2b #PAL_wrfen" - : "+r" (a0) - : - : "$1", "$22", "$23", "$24", "$25"); -} - -static __inline void -alpha_pal_wrvptptr(u_int64_t vptptr) -{ - register u_int64_t a0 __asm__("$16") = vptptr; - __asm__ __volatile__ ( - "call_pal 0x2d #PAL_wrvptptr" - : "+r" (a0) - : - : "$1", "$22", "$23", "$24", "$25"); -} - -static __inline u_int64_t -alpha_pal_swpctx(u_int64_t pcb) -{ - register u_int64_t a0 __asm__("$16") = pcb; - register u_int64_t v0 __asm__("$0"); - __asm__ __volatile__ ( - "call_pal 0x30 #PAL_OSF1_swpctx" - : "=r" (v0), "+r" (a0) - : - : "$1", "$22", "$23", "$24", "$25", "memory"); - return v0; -} - -static __inline void -alpha_pal_wrval(u_int64_t sysvalue) -{ - register u_int64_t a0 __asm__("$16") = sysvalue; - __asm__ __volatile__ ( - "call_pal 0x31 #PAL_wrval" - : "+r" (a0) - : - : "$1", "$22", "$23", "$24", "$25"); -} - -static __inline u_int64_t -alpha_pal_rdval(void) -{ - register u_int64_t v0 __asm__("$0"); - __asm__ __volatile__ ( - "call_pal 0x32 #PAL_OSF1_rdval" - : "=r" (v0) - : - : "$1", "$22", "$23", "$24", "$25"); - return v0; -} - -static __inline void -alpha_pal_wrunique(u_int64_t tp) -{ - register u_int64_t a0 __asm__("$16") = tp; - __asm__ __volatile__("call_pal 0x9f # PAL_wrunique" - : "+r" (a0) : : "$1", "$22", "$23", "$24", "$25"); -} - -static __inline u_int64_t -alpha_pal_rdunique(void) -{ - register u_int64_t v0 __asm__("$0"); - __asm__ __volatile__("call_pal 0x9e # PAL_rdunique" - : "=r" (v0) : : "$1", "$22", "$23", "$24", "$25"); - return (v0); -} - -static __inline void -alpha_pal_tbi(u_int64_t op, u_int64_t va) -{ - register u_int64_t a0 __asm__("$16") = op; - register u_int64_t a1 __asm__("$17") = va; - __asm__ __volatile__ ( - "call_pal 0x33 #PAL_OSF1_tbi" - : "+r" (a0), "+r" (a1) - : - : "$1", "$22", "$23", "$24", "$25"); -} - -static __inline void -alpha_pal_wrent(void *ent, u_int64_t which) -{ - register u_int64_t a0 __asm__("$16") = (u_int64_t) ent; - register u_int64_t a1 __asm__("$17") = which; - __asm__ __volatile__ ( - "call_pal 0x34 #PAL_OSF1_wrent" - : "+r" (a0), "+r" (a1) - : - : "$1", "$22", "$23", "$24", "$25"); -} - -static __inline u_int64_t -alpha_pal_swpipl(u_int64_t newipl) -{ - register u_int64_t a0 __asm__("$16") = newipl; - register u_int64_t v0 __asm__("$0"); - __asm__ __volatile__ ( - "call_pal 0x35 #PAL_OSF1_swpipl" - : "=r" (v0), "+r" (a0) - : - : "$1", "$22", "$23", "$24", "$25"); - return v0; -} - -static __inline u_int64_t -alpha_pal_rdps(void) -{ - register u_int64_t v0 __asm__("$0"); - __asm__ __volatile__ ( - "call_pal 0x36 #PAL_OSF1_rdps" - : "=r" (v0) - : - : "$1", "$22", "$23", "$24", "$25"); - return v0; -} - -static __inline void -alpha_pal_wrusp(u_int64_t usp) -{ - register u_int64_t a0 __asm__("$16") = usp; - __asm__ __volatile__ ( - "call_pal 0x38 #PAL_wrusp" - : "+r" (a0) - : - : "$1", "$22", "$23", "$24", "$25"); -} - -static __inline u_int64_t -alpha_pal_wrperfmon(u_int64_t arg0, u_int64_t arg1) -{ - register u_int64_t v0 __asm__("$0"); - register u_int64_t a0 __asm__("$16") = arg0; - register u_int64_t a1 __asm__("$17") = arg1; - __asm__ __volatile__ ( - "call_pal 0x39 #PAL_OSF1_wrperfmon" - : "+r" (a0), "+r" (a1), "=r" (v0) - : - : "$1", "$22", "$23", "$24", "$25"); - return v0; -} - -static __inline u_int64_t -alpha_pal_rdusp(void) -{ - register u_int64_t v0 __asm__("$0"); - __asm__ __volatile__ ( - "call_pal 0x3a #PAL_OSF1_rdusp" - : "=r" (v0) - : - : "$1", "$22", "$23", "$24", "$25"); - return v0; -} - -static __inline u_int64_t -alpha_pal_whami(void) -{ - register u_int64_t v0 __asm__("$0"); - __asm__ __volatile__ ( - "call_pal 0x3c #PAL_OSF1_whami" - : "=r" (v0) - : - : "$1", "$22", "$23", "$24", "$25"); - return v0; -} - -static __inline void -alpha_pal_imb(void) -{ - __asm__ __volatile__ ("call_pal 0x86 #PAL_imb"); -} - -#endif /* __ALPHA_ALPHA_CPU_H__ */ diff --git a/sys/alpha/include/asm.h b/sys/alpha/include/asm.h deleted file mode 100644 index 3ddaf81..0000000 --- a/sys/alpha/include/asm.h +++ /dev/null @@ -1,649 +0,0 @@ -/*- - * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - * From: NetBSD: asm.h,v 1.18 1997/11/03 04:22:06 ross Exp - * $FreeBSD$ - */ - -#ifndef _MACHINE_ASM_H_ -#define _MACHINE_ASM_H_ - -/* - * Assembly coding style - * - * This file contains macros and register defines to - * aid in writing more readable assembly code. - * Some rules to make assembly code understandable by - * a debugger are also noted. - * - * The document - * - * "ALPHA Calling Standard", DEC 27-Apr-90 - * - * defines (a superset of) the rules and conventions - * we use. While we make no promise of adhering to - * such standard and its evolution (esp where we - * can get faster code paths) it is certainly intended - * that we be interoperable with such standard. - * - * In this sense, this file is a proper part of the - * definition of the (software) Alpha architecture. - */ - -/* - * Symbolic register names and register saving rules - * - * Legend: - * T Saved by caller (Temporaries) - * S Saved by callee (call-Safe registers) - */ - -#define v0 $0 /* (T) return value */ -#define t0 $1 /* (T) temporary registers */ -#define t1 $2 -#define t2 $3 -#define t3 $4 -#define t4 $5 -#define t5 $6 -#define t6 $7 -#define t7 $8 - -#define s0 $9 /* (S) call-safe registers */ -#define s1 $10 -#define s2 $11 -#define s3 $12 -#define s4 $13 -#define s5 $14 -#define s6 $15 -#define a0 $16 /* (T) argument registers */ -#define a1 $17 -#define a2 $18 -#define a3 $19 -#define a4 $20 -#define a5 $21 -#define t8 $22 /* (T) temporary registers */ -#define t9 $23 -#define t10 $24 -#define t11 $25 -#define ra $26 /* (T) return address */ -#define t12 $27 /* (T) another temporary */ -#define at_reg $28 /* (T) assembler scratch */ -#define gp $29 /* (T) (local) data pointer */ -#define sp $30 /* (S) stack pointer */ -#define zero $31 /* wired zero */ - -/* In the kernel, we use t7 to point at the per-cpu globals. */ -#ifdef _KERNEL -#define pcpup $8 -#endif - -/* Floating point registers (XXXX VERIFY THIS) */ -#define fv0 $f0 /* (T) return value (real) */ -#define fv1 $f1 /* (T) return value (imaginary)*/ -#define ft0 fv1 -#define fs0 $f2 /* (S) call-safe registers */ -#define fs1 $f3 -#define fs2 $f4 -#define fs3 $f5 -#define fs4 $f6 -#define fs5 $f7 -#define fs6 $f8 -#define fs7 $f9 -#define ft1 $f10 /* (T) temporary registers */ -#define ft2 $f11 -#define ft3 $f12 -#define ft4 $f13 -#define ft5 $f14 -#define ft6 $f15 -#define fa0 $f16 /* (T) argument registers */ -#define fa1 $f17 -#define fa2 $f18 -#define fa3 $f19 -#define fa4 $f20 -#define fa5 $f21 -#define ft7 $f22 /* (T) more temporaries */ -#define ft8 $f23 -#define ft9 $f24 -#define ft10 $f25 -#define ft11 $f26 -#define ft12 $f27 -#define ft13 $f28 -#define ft14 $f29 -#define ft15 $f30 -#define fzero $f31 /* wired zero */ - - -/* Other DEC standard names */ -#define ai $25 /* (T) argument information */ -#define pv $27 /* (T) procedure value */ - - -/* - * Useful stuff. - */ -#ifdef __STDC__ -#define __CONCAT(a,b) a ## b -#else -#define __CONCAT(a,b) a/**/b -#endif -#define ___CONCAT(a,b) __CONCAT(a,b) - -/* - * Macro to make a local label name. - */ -#define LLABEL(name,num) ___CONCAT(___CONCAT(L,name),num) - -/* - * - * Debuggers need symbol table information to be able to properly - * decode a stack trace. The minimum that should be provided is: - * - * name: - * .proc name,numargs - * - * where "name" is the function's name; - * "numargs" how many arguments it expects. For varargs - * procedures this should be a negative number, - * indicating the minimum required number of - * arguments (which is at least 1); - * - * NESTED functions (functions that call other functions) should define - * how they handle their stack frame in a .frame directive: - * - * .frame framesize, pc_reg, i_mask, f_mask - * - * where "framesize" is the size of the frame for this function, in bytes. - * That is: - * new_sp + framesize == old_sp - * Framesizes should be rounded to a cacheline size. - * Note that old_sp plays the role of a conventional - * "frame pointer"; - * "pc_reg" is either a register which preserves the caller's PC - * or 'std', if std the saved PC should be stored at - * old_sp-8 - * "i_mask" is a bitmask that indicates which of the integer - * registers are saved. See the M_xx defines at the - * end for the encoding of this 32bit value. - * "f_mask" is the same, for floating point registers. - * - * Note, 10/31/97: This is interesting but it isn't the way gcc outputs - * frame directives and it isn't the way the macros below output them - * either. Frame directives look like this: - * - * .frame $15,framesize,$26,0 - * - * If no fp is set up then $30 should be used instead of $15. - * Also, gdb expects to find a <lda sp,-framesize(sp)> at the beginning - * of a procedure. Don't use things like sub sp,framesize,sp for this - * reason. End Note 10/31/97. ross@netbsd.org - * - * Note that registers should be saved starting at "old_sp-8", where the - * return address should be stored. Other registers follow at -16-24-32.. - * starting from register 0 (if saved) and up. Then float registers (ifany) - * are saved. - * - * If you need to alias a leaf function, or to provide multiple entry points - * use the LEAF() macro for the main entry point and XLEAF() for the other - * additional/alternate entry points. - * "XLEAF"s must be nested within a "LEAF" and a ".end". - * Similar rules for nested routines, e.g. use NESTED/XNESTED - * Symbols that should not be exported can be declared with the STATIC_xxx - * macros. - * - * All functions must be terminated by the END macro - * - * It is conceivable, although currently at the limits of compiler - * technology, that while performing inter-procedural optimizations - * the compiler/linker be able to avoid unnecessary register spills - * if told about the register usage of LEAF procedures (and by transitive - * closure of NESTED procedures as well). Assembly code can help - * this process using the .reguse directive: - * - * .reguse i_mask, f_mask - * - * where the register masks are built as above or-ing M_xx defines. - * - * - * All symbols are internal unless EXPORTed. Symbols that are IMPORTed - * must be appropriately described to the debugger. - * - */ - - /* - * for `.loc' uses - */ - - .file 1 __FILE__ - -/* - * MCOUNT - */ - -#if !defined(GPROF) && !defined(PROF) -#define MCOUNT /* nothing */ -#else -#define MCOUNT \ - .set noat; \ - jsr at_reg,_mcount; \ - .set at -#endif -/* - * PALVECT, ESETUP, and ERSAVE - * Declare a palcode transfer point, and carefully construct - * gdb symbols with an unusual _negative_ register-save offset - * so that gdb can find the otherwise lost PC and then - * invert the vector for traceback. Also, fix up framesize, - * allowing for the palframe for the same reason. - */ - -#define PALVECT(_name_) \ - ESETUP(_name_); \ - ERSAVE(); \ - br pv, 1001f; \ -1001:; \ - LDGP(pv) - -#define ESETUP(_name_) \ - .loc 1 __LINE__; \ - .globl _name_; \ - .ent _name_ 0; \ -_name_:; \ - .set noat; \ - lda sp,-(FRAME_SW_SIZE*8)(sp); \ - .frame $30,(FRAME_SW_SIZE+6)*8,$26,0; /* give gdb the real size */\ - .mask 0x4000000,-0x28; \ - .set at - -#define ERSAVE() \ - .set noat; \ - stq at_reg,(FRAME_AT*8)(sp); \ - .set at; \ - stq ra,(FRAME_RA*8)(sp); \ - .loc 1 __LINE__; \ - bsr ra,exception_save_regs /* jmp/CALL trashes pv/t12 */ - -/* - * LEAF - * Declare a global leaf function. - * A leaf function does not call other functions AND does not - * use any register that is callee-saved AND does not modify - * the stack pointer. - */ -#define LEAF(_name_,_n_args_) \ - .globl _name_; \ - .ent _name_ 0; \ -_name_:; \ - .frame sp,0,ra; \ - MCOUNT -/* should have been - .proc _name_,_n_args_; \ - .frame 0,ra,0,0 -*/ - -#define LEAF_NOPROFILE(_name_,_n_args_) \ - .globl _name_; \ - .ent _name_ 0; \ -_name_:; \ - .frame sp,0,ra -/* should have been - .proc _name_,_n_args_; \ - .frame 0,ra,0,0 -*/ - -/* - * STATIC_LEAF - * Declare a local leaf function. - */ -#define STATIC_LEAF(_name_,_n_args_) \ - .ent _name_ 0; \ -_name_:; \ - .frame sp,0,ra; \ - MCOUNT -/* should have been - .proc _name_,_n_args_; \ - .frame 0,ra,0,0 -*/ -/* - * XLEAF - * Global alias for a leaf function, or alternate entry point - */ -#define XLEAF(_name_,_n_args_) \ - .globl _name_; \ - .aent _name_ 0; \ -_name_: -/* should have been - .aproc _name_,_n_args_; -*/ - -/* - * STATIC_XLEAF - * Local alias for a leaf function, or alternate entry point - */ -#define STATIC_XLEAF(_name_,_n_args_) \ - .aent _name_ 0; \ -_name_: -/* should have been - .aproc _name_,_n_args_; -*/ - -/* - * NESTED - * Declare a (global) nested function - * A nested function calls other functions and needs - * therefore stack space to save/restore registers. - */ -#define NESTED(_name_, _n_args_, _framesize_, _pc_reg_, _i_mask_, _f_mask_ ) \ - .globl _name_; \ - .ent _name_ 0; \ -_name_:; \ - .frame sp,_framesize_,_pc_reg_; \ - .livereg _i_mask_,_f_mask_; \ - MCOUNT -/* should have been - .proc _name_,_n_args_; \ - .frame _framesize_, _pc_reg_, _i_mask_, _f_mask_ -*/ - -#define NESTED_NOPROFILE(_name_, _n_args_, _framesize_, _pc_reg_, _i_mask_, _f_mask_ ) \ - .globl _name_; \ - .ent _name_ 0; \ -_name_:; \ - .frame sp,_framesize_,_pc_reg_; \ - .livereg _i_mask_,_f_mask_ -/* should have been - .proc _name_,_n_args_; \ - .frame _framesize_, _pc_reg_, _i_mask_, _f_mask_ -*/ - -/* - * STATIC_NESTED - * Declare a local nested function. - */ -#define STATIC_NESTED(_name_, _n_args_, _framesize_, _pc_reg_, _i_mask_, _f_mask_ ) \ - .ent _name_ 0; \ -_name_:; \ - .frame sp,_framesize_,_pc_reg_; \ - .livereg _i_mask_,_f_mask_; \ - MCOUNT -/* should have been - .proc _name_,_n_args_; \ - .frame _framesize_, _pc_reg_, _i_mask_, _f_mask_ -*/ - -/* - * XNESTED - * Same as XLEAF, for a nested function. - */ -#define XNESTED(_name_,_n_args_) \ - .globl _name_; \ - .aent _name_ 0; \ -_name_: -/* should have been - .aproc _name_,_n_args_; -*/ - - -/* - * STATIC_XNESTED - * Same as STATIC_XLEAF, for a nested function. - */ -#define STATIC_XNESTED(_name_,_n_args_) \ - .aent _name_ 0; \ -_name_: -/* should have been - .aproc _name_,_n_args_; -*/ - - -/* - * END - * Function delimiter - */ -#define END(_name_) \ - .end _name_ - - -/* - * CALL - * Function invocation - */ -#define CALL(_name_) \ - .loc 1 __LINE__; \ - jsr ra,_name_; \ - ldgp gp,0(ra) -/* but this would cover longer jumps - br ra,.+4; \ - bsr ra,_name_ -*/ - - -/* - * RET - * Return from function - */ -#define RET \ - ret zero,(ra),1 - - -/* - * EXPORT - * Export a symbol - */ -#define EXPORT(_name_) \ - .globl _name_; \ -_name_: - - -/* - * IMPORT - * Make an external name visible, typecheck the size - */ -#define IMPORT(_name_, _size_) \ - .extern _name_,_size_ - - -/* - * ABS - * Define an absolute symbol - */ -#define ABS(_name_, _value_) \ - .globl _name_; \ -_name_ = _value_ - - -/* - * BSS - * Allocate un-initialized space for a global symbol - */ -#define BSS(_name_,_numbytes_) \ - .comm _name_,_numbytes_ - -/* - * VECTOR - * Make an exception entry point look like a called function, - * to make it digestible to the debugger (KERNEL only) - */ -#define VECTOR(_name_, _i_mask_) \ - .globl _name_; \ - .ent _name_ 0; \ -_name_:; \ - .mask _i_mask_|IM_EXC,0; \ - .frame sp,MSS_SIZE,ra; -/* .livereg _i_mask_|IM_EXC,0 */ -/* should have been - .proc _name_,1; \ - .frame MSS_SIZE,$31,_i_mask_,0; \ -*/ - -/* - * MSG - * Allocate space for a message (a read-only ascii string) - */ -#define ASCIZ .asciz -#define MSG(msg,reg,label) \ - lda reg, label; \ - .data; \ -label: ASCIZ msg; \ - .text; - -/* - * PRINTF - * Print a message - */ -#define PRINTF(msg,label) \ - MSG(msg,a0,label); \ - CALL(printf) - -/* - * PANIC - * Fatal error (KERNEL) - */ -#define PANIC(msg,label) \ - MSG(msg,a0,label); \ - CALL(panic) - -/* - * Register mask defines, used to define both save - * and use register sets. - * - * NOTE: The bit order should HAVE BEEN maintained when saving - * registers on the stack: sp goes at the highest - * address, gp lower on the stack, etc etc - * BUT NOONE CARES ABOUT DEBUGGERS AT MIPS - */ - -#define IM_EXC 0x80000000 -#define IM_SP 0x40000000 -#define IM_GP 0x20000000 -#define IM_AT 0x10000000 -#define IM_T12 0x08000000 -# define IM_PV IM_T4 -#define IM_RA 0x04000000 -#define IM_T11 0x02000000 -# define IM_AI IM_T3 -#define IM_T10 0x01000000 -#define IM_T9 0x00800000 -#define IM_T8 0x00400000 -#define IM_A5 0x00200000 -#define IM_A4 0x00100000 -#define IM_A3 0x00080000 -#define IM_A2 0x00040000 -#define IM_A1 0x00020000 -#define IM_A0 0x00010000 -#define IM_S6 0x00008000 -#define IM_S5 0x00004000 -#define IM_S4 0x00002000 -#define IM_S3 0x00001000 -#define IM_S2 0x00000800 -#define IM_S1 0x00000400 -#define IM_S0 0x00000200 -#define IM_T7 0x00000100 -#define IM_T6 0x00000080 -#define IM_T5 0x00000040 -#define IM_T4 0x00000020 -#define IM_T3 0x00000010 -#define IM_T2 0x00000008 -#define IM_T1 0x00000004 -#define IM_T0 0x00000002 -#define IM_V0 0x00000001 - -#define FM_T15 0x40000000 -#define FM_T14 0x20000000 -#define FM_T13 0x10000000 -#define FM_T12 0x08000000 -#define FM_T11 0x04000000 -#define FM_T10 0x02000000 -#define FM_T9 0x01000000 -#define FM_T8 0x00800000 -#define FM_T7 0x00400000 -#define FM_A5 0x00200000 -#define FM_A4 0x00100000 -#define FM_A3 0x00080000 -#define FM_A2 0x00040000 -#define FM_A1 0x00020000 -#define FM_A0 0x00010000 -#define FM_T6 0x00008000 -#define FM_T5 0x00004000 -#define FM_T4 0x00002000 -#define FM_T3 0x00001000 -#define FM_T2 0x00000800 -#define FM_T1 0x00000400 -#define FM_S7 0x00000200 -#define FM_S6 0x00000100 -#define FM_S5 0x00000080 -#define FM_S4 0x00000040 -#define FM_S3 0x00000020 -#define FM_S2 0x00000010 -#define FM_S1 0x00000008 -#define FM_S0 0x00000004 -#define FM_T0 0x00000002 -#define FM_V1 FM_T0 -#define FM_V0 0x00000001 - -/* Pull in PAL "function" codes. */ -#include <machine/pal.h> - -/* - * System call glue. - */ -#define SYSCALLNUM(name) \ - ___CONCAT(SYS_,name) - -#define CALLSYS_NOERROR(name) \ - ldiq v0, SYSCALLNUM(name); \ - call_pal PAL_OSF1_callsys - -/* - * Load the global pointer. - */ -#define LDGP(reg) \ - ldgp gp, 0(reg) - -/* - * WEAK_ALIAS: create a weak alias (ELF only). - */ -#define WEAK_ALIAS(alias,sym) \ - .weak alias; \ - alias = sym - -/* - * Kernel RCS ID tag and copyright macros - */ - -#ifdef _KERNEL - -#if !defined(lint) && !defined(NO_KERNEL_RCSIDS) -#define __KERNEL_RCSID(_n, _s) .ident _s -#else -#define __KERNEL_RCSID(_n, _s) /* nothing */ -#endif - -#endif /* _KERNEL */ - -#if !defined(lint) && !defined(STRIP_FBSDID) -#define __FBSDID(s) .ident s -#else -#define __FBSDID(s) /* nothing */ -#endif /* not lint and not STRIP_FBSDID */ - -#endif /* !_MACHINE_ASM_H_ */ diff --git a/sys/alpha/include/atomic.h b/sys/alpha/include/atomic.h deleted file mode 100644 index adae6ec..0000000 --- a/sys/alpha/include/atomic.h +++ /dev/null @@ -1,478 +0,0 @@ -/*- - * Copyright (c) 1998 Doug Rabson - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_ATOMIC_H_ -#define _MACHINE_ATOMIC_H_ - -#ifndef _SYS_CDEFS_H_ -#error this file needs sys/cdefs.h as a prerequisite -#endif - -#include <machine/alpha_cpu.h> - -/* - * Various simple arithmetic on memory which is atomic in the presence - * of interrupts and SMP safe. - */ - -void atomic_set_8(volatile u_int8_t *, u_int8_t); -void atomic_clear_8(volatile u_int8_t *, u_int8_t); -void atomic_add_8(volatile u_int8_t *, u_int8_t); -void atomic_subtract_8(volatile u_int8_t *, u_int8_t); - -void atomic_set_16(volatile u_int16_t *, u_int16_t); -void atomic_clear_16(volatile u_int16_t *, u_int16_t); -void atomic_add_16(volatile u_int16_t *, u_int16_t); -void atomic_subtract_16(volatile u_int16_t *, u_int16_t); - -static __inline void atomic_set_32(volatile u_int32_t *p, u_int32_t v) -{ - u_int32_t temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldl_l %0, %3\n\t" /* load old value */ - "bis %0, %2, %0\n\t" /* calculate new value */ - "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 1b\n" /* spin if failed */ - : "=&r" (temp), "=m" (*p) - : "r" (v), "m" (*p) - : "memory"); -#endif -} - -static __inline void atomic_clear_32(volatile u_int32_t *p, u_int32_t v) -{ - u_int32_t temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldl_l %0, %3\n\t" /* load old value */ - "bic %0, %2, %0\n\t" /* calculate new value */ - "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 1b\n" /* spin if failed */ - : "=&r" (temp), "=m" (*p) - : "r" (v), "m" (*p) - : "memory"); -#endif -} - -static __inline void atomic_add_32(volatile u_int32_t *p, u_int32_t v) -{ - u_int32_t temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldl_l %0, %3\n\t" /* load old value */ - "addl %0, %2, %0\n\t" /* calculate new value */ - "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 1b\n" /* spin if failed */ - : "=&r" (temp), "=m" (*p) - : "r" (v), "m" (*p) - : "memory"); -#endif -} - -static __inline void atomic_subtract_32(volatile u_int32_t *p, u_int32_t v) -{ - u_int32_t temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldl_l %0, %3\n\t" /* load old value */ - "subl %0, %2, %0\n\t" /* calculate new value */ - "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 1b\n" /* spin if failed */ - : "=&r" (temp), "=m" (*p) - : "r" (v), "m" (*p) - : "memory"); -#endif -} - -static __inline u_int32_t atomic_readandclear_32(volatile u_int32_t *addr) -{ - u_int32_t result,temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "wmb\n" /* ensure pending writes have drained */ - "1:\tldl_l %0,%3\n\t" /* load current value, asserting lock */ - "ldiq %1,0\n\t" /* value to store */ - "stl_c %1,%2\n\t" /* attempt to store */ - "beq %1,1b\n" /* if the store failed, spin */ - : "=&r"(result), "=&r"(temp), "=m" (*addr) - : "m" (*addr) - : "memory"); -#endif - - return result; -} - -static __inline void atomic_set_64(volatile u_int64_t *p, u_int64_t v) -{ - u_int64_t temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldq_l %0, %3\n\t" /* load old value */ - "bis %0, %2, %0\n\t" /* calculate new value */ - "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 1b\n" /* spin if failed */ - : "=&r" (temp), "=m" (*p) - : "r" (v), "m" (*p) - : "memory"); -#endif -} - -static __inline void atomic_clear_64(volatile u_int64_t *p, u_int64_t v) -{ - u_int64_t temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldq_l %0, %3\n\t" /* load old value */ - "bic %0, %2, %0\n\t" /* calculate new value */ - "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 1b\n" /* spin if failed */ - : "=&r" (temp), "=m" (*p) - : "r" (v), "m" (*p) - : "memory"); -#endif -} - -static __inline void atomic_add_64(volatile u_int64_t *p, u_int64_t v) -{ - u_int64_t temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldq_l %0, %3\n\t" /* load old value */ - "addq %0, %2, %0\n\t" /* calculate new value */ - "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 1b\n" /* spin if failed */ - : "=&r" (temp), "=m" (*p) - : "r" (v), "m" (*p) - : "memory"); -#endif -} - -static __inline void atomic_subtract_64(volatile u_int64_t *p, u_int64_t v) -{ - u_int64_t temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldq_l %0, %3\n\t" /* load old value */ - "subq %0, %2, %0\n\t" /* calculate new value */ - "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 1b\n" /* spin if failed */ - : "=&r" (temp), "=m" (*p) - : "r" (v), "m" (*p) - : "memory"); -#endif -} - -static __inline u_int64_t atomic_readandclear_64(volatile u_int64_t *addr) -{ - u_int64_t result,temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "wmb\n" /* ensure pending writes have drained */ - "1:\tldq_l %0,%3\n\t" /* load current value, asserting lock */ - "ldiq %1,0\n\t" /* value to store */ - "stq_c %1,%2\n\t" /* attempt to store */ - "beq %1,1b\n" /* if the store failed, spin */ - : "=&r"(result), "=&r"(temp), "=m" (*addr) - : "m" (*addr) - : "memory"); -#endif - - return result; -} - -#define ATOMIC_ACQ_REL(NAME, WIDTH) \ -static __inline void \ -atomic_##NAME##_acq_##WIDTH(volatile u_int##WIDTH##_t *p, u_int##WIDTH##_t v)\ -{ \ - atomic_##NAME##_##WIDTH(p, v); \ - alpha_mb(); \ -} \ - \ -static __inline void \ -atomic_##NAME##_rel_##WIDTH(volatile u_int##WIDTH##_t *p, u_int##WIDTH##_t v)\ -{ \ - alpha_mb(); \ - atomic_##NAME##_##WIDTH(p, v); \ -} - -/* Variants of simple arithmetic with memory barriers. */ -ATOMIC_ACQ_REL(set, 8) -ATOMIC_ACQ_REL(clear, 8) -ATOMIC_ACQ_REL(add, 8) -ATOMIC_ACQ_REL(subtract, 8) -ATOMIC_ACQ_REL(set, 16) -ATOMIC_ACQ_REL(clear, 16) -ATOMIC_ACQ_REL(add, 16) -ATOMIC_ACQ_REL(subtract, 16) -ATOMIC_ACQ_REL(set, 32) -ATOMIC_ACQ_REL(clear, 32) -ATOMIC_ACQ_REL(add, 32) -ATOMIC_ACQ_REL(subtract, 32) -ATOMIC_ACQ_REL(set, 64) -ATOMIC_ACQ_REL(clear, 64) -ATOMIC_ACQ_REL(add, 64) -ATOMIC_ACQ_REL(subtract, 64) - -#undef ATOMIC_ACQ_REL - -/* - * We assume that a = b will do atomic loads and stores. - */ -#define ATOMIC_STORE_LOAD(WIDTH) \ -static __inline u_int##WIDTH##_t \ -atomic_load_acq_##WIDTH(volatile u_int##WIDTH##_t *p) \ -{ \ - u_int##WIDTH##_t v; \ - \ - v = *p; \ - alpha_mb(); \ - return (v); \ -} \ - \ -static __inline void \ -atomic_store_rel_##WIDTH(volatile u_int##WIDTH##_t *p, u_int##WIDTH##_t v)\ -{ \ - alpha_mb(); \ - *p = v; \ -} - -ATOMIC_STORE_LOAD(32) -ATOMIC_STORE_LOAD(64) - -#undef ATOMIC_STORE_LOAD - -/* - * Atomically compare the value stored at *p with cmpval and if the - * two values are equal, update the value of *p with newval. Returns - * zero if the compare failed, nonzero otherwise. - */ -static __inline u_int32_t -atomic_cmpset_32(volatile u_int32_t* p, u_int32_t cmpval, u_int32_t newval) -{ - u_int32_t ret; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldl_l %0, %4\n\t" /* load old value */ - "cmpeq %0, %2, %0\n\t" /* compare */ - "beq %0, 2f\n\t" /* exit if not equal */ - "mov %3, %0\n\t" /* value to store */ - "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 1b\n\t" /* if it failed, spin */ - "2:\n" - : "=&r" (ret), "=m" (*p) - : "r" ((long)(int)cmpval), "r" (newval), "m" (*p) - : "memory"); -#endif - - return ret; -} - -/* - * Atomically compare the value stored at *p with cmpval and if the - * two values are equal, update the value of *p with newval. Returns - * zero if the compare failed, nonzero otherwise. - */ -static __inline u_int64_t -atomic_cmpset_64(volatile u_int64_t* p, u_int64_t cmpval, u_int64_t newval) -{ - u_int64_t ret; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldq_l %0, %4\n\t" /* load old value */ - "cmpeq %0, %2, %0\n\t" /* compare */ - "beq %0, 2f\n\t" /* exit if not equal */ - "mov %3, %0\n\t" /* value to store */ - "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 1b\n\t" /* if it failed, spin */ - "2:\n" - : "=&r" (ret), "=m" (*p) - : "r" (cmpval), "r" (newval), "m" (*p) - : "memory"); -#endif - - return ret; -} - -static __inline u_int32_t -atomic_cmpset_acq_32(volatile u_int32_t *p, u_int32_t cmpval, u_int32_t newval) -{ - int retval; - - retval = atomic_cmpset_32(p, cmpval, newval); - alpha_mb(); - return (retval); -} - -static __inline u_int32_t -atomic_cmpset_rel_32(volatile u_int32_t *p, u_int32_t cmpval, u_int32_t newval) -{ - alpha_mb(); - return (atomic_cmpset_32(p, cmpval, newval)); -} - -static __inline u_int64_t -atomic_cmpset_acq_64(volatile u_int64_t *p, u_int64_t cmpval, u_int64_t newval) -{ - int retval; - - retval = atomic_cmpset_64(p, cmpval, newval); - alpha_mb(); - return (retval); -} - -static __inline u_int64_t -atomic_cmpset_rel_64(volatile u_int64_t *p, u_int64_t cmpval, u_int64_t newval) -{ - alpha_mb(); - return (atomic_cmpset_64(p, cmpval, newval)); -} - -/* - * Atomically add the value of v to the integer pointed to by p and return - * the previous value of *p. - */ -static __inline u_int -atomic_fetchadd_32(volatile u_int32_t *p, u_int32_t v) -{ - u_int32_t value, temp; - -#ifdef __GNUCLIKE_ASM - __asm __volatile ( - "1:\tldl_l %0, %1\n\t" /* load old value */ - "addl %0, %3, %2\n\t" /* calculate new value */ - "stl_c %2, %1\n\t" /* attempt to store */ - "beq %2, 1b\n" /* spin if failed */ - : "=&r" (value), "=m" (*p), "=r" (temp) - : "r" (v), "m" (*p)); -#endif - return (value); -} - -/* Operations on chars. */ -#define atomic_set_char atomic_set_8 -#define atomic_set_acq_char atomic_set_acq_8 -#define atomic_set_rel_char atomic_set_rel_8 -#define atomic_clear_char atomic_clear_8 -#define atomic_clear_acq_char atomic_clear_acq_8 -#define atomic_clear_rel_char atomic_clear_rel_8 -#define atomic_add_char atomic_add_8 -#define atomic_add_acq_char atomic_add_acq_8 -#define atomic_add_rel_char atomic_add_rel_8 -#define atomic_subtract_char atomic_subtract_8 -#define atomic_subtract_acq_char atomic_subtract_acq_8 -#define atomic_subtract_rel_char atomic_subtract_rel_8 - -/* Operations on shorts. */ -#define atomic_set_short atomic_set_16 -#define atomic_set_acq_short atomic_set_acq_16 -#define atomic_set_rel_short atomic_set_rel_16 -#define atomic_clear_short atomic_clear_16 -#define atomic_clear_acq_short atomic_clear_acq_16 -#define atomic_clear_rel_short atomic_clear_rel_16 -#define atomic_add_short atomic_add_16 -#define atomic_add_acq_short atomic_add_acq_16 -#define atomic_add_rel_short atomic_add_rel_16 -#define atomic_subtract_short atomic_subtract_16 -#define atomic_subtract_acq_short atomic_subtract_acq_16 -#define atomic_subtract_rel_short atomic_subtract_rel_16 - -/* Operations on ints. */ -#define atomic_set_int atomic_set_32 -#define atomic_set_acq_int atomic_set_acq_32 -#define atomic_set_rel_int atomic_set_rel_32 -#define atomic_clear_int atomic_clear_32 -#define atomic_clear_acq_int atomic_clear_acq_32 -#define atomic_clear_rel_int atomic_clear_rel_32 -#define atomic_add_int atomic_add_32 -#define atomic_add_acq_int atomic_add_acq_32 -#define atomic_add_rel_int atomic_add_rel_32 -#define atomic_subtract_int atomic_subtract_32 -#define atomic_subtract_acq_int atomic_subtract_acq_32 -#define atomic_subtract_rel_int atomic_subtract_rel_32 -#define atomic_cmpset_int atomic_cmpset_32 -#define atomic_cmpset_acq_int atomic_cmpset_acq_32 -#define atomic_cmpset_rel_int atomic_cmpset_rel_32 -#define atomic_load_acq_int atomic_load_acq_32 -#define atomic_store_rel_int atomic_store_rel_32 -#define atomic_readandclear_int atomic_readandclear_32 -#define atomic_fetchadd_int atomic_fetchadd_32 - -/* Operations on longs. */ -#define atomic_set_long atomic_set_64 -#define atomic_set_acq_long atomic_set_acq_64 -#define atomic_set_rel_long atomic_set_rel_64 -#define atomic_clear_long atomic_clear_64 -#define atomic_clear_acq_long atomic_clear_acq_64 -#define atomic_clear_rel_long atomic_clear_rel_64 -#define atomic_add_long atomic_add_64 -#define atomic_add_acq_long atomic_add_acq_64 -#define atomic_add_rel_long atomic_add_rel_64 -#define atomic_subtract_long atomic_subtract_64 -#define atomic_subtract_acq_long atomic_subtract_acq_64 -#define atomic_subtract_rel_long atomic_subtract_rel_64 -#define atomic_cmpset_long atomic_cmpset_64 -#define atomic_cmpset_acq_long atomic_cmpset_acq_64 -#define atomic_cmpset_rel_long atomic_cmpset_rel_64 -#define atomic_load_acq_long atomic_load_acq_64 -#define atomic_store_rel_long atomic_store_rel_64 -#define atomic_readandclear_long atomic_readandclear_64 - -/* Operations on pointers. */ -#define atomic_set_ptr atomic_set_64 -#define atomic_set_acq_ptr atomic_set_acq_64 -#define atomic_set_rel_ptr atomic_set_rel_64 -#define atomic_clear_ptr atomic_clear_64 -#define atomic_clear_acq_ptr atomic_clear_acq_64 -#define atomic_clear_rel_ptr atomic_clear_rel_64 -#define atomic_add_ptr atomic_add_64 -#define atomic_add_acq_ptr atomic_add_acq_64 -#define atomic_add_rel_ptr atomic_add_rel_64 -#define atomic_subtract_ptr atomic_subtract_64 -#define atomic_subtract_acq_ptr atomic_subtract_acq_64 -#define atomic_subtract_rel_ptr atomic_subtract_rel_64 -#define atomic_cmpset_ptr atomic_cmpset_64 -#define atomic_cmpset_acq_ptr atomic_cmpset_acq_64 -#define atomic_cmpset_rel_ptr atomic_cmpset_rel_64 -#define atomic_load_acq_ptr atomic_load_acq_64 -#define atomic_store_rel_ptr atomic_store_rel_64 -#define atomic_readandclear_ptr atomic_readandclear_64 - -#endif /* ! _MACHINE_ATOMIC_H_ */ diff --git a/sys/alpha/include/bootinfo.h b/sys/alpha/include/bootinfo.h deleted file mode 100644 index 1548cd0..0000000 --- a/sys/alpha/include/bootinfo.h +++ /dev/null @@ -1,86 +0,0 @@ -/* $FreeBSD$ */ -/*- - * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -/* - * The boot program passes a pointer (in the boot environment virtual - * address address space; "BEVA") to a bootinfo to the kernel using - * the following convention: - * - * a0 contains first free page frame number - * a1 contains page number of current level 1 page table - * if a2 contains BOOTINFO_MAGIC and a4 is nonzero: - * a3 contains pointer (BEVA) to bootinfo - * a4 contains bootinfo version number - * if a2 contains BOOTINFO_MAGIC and a4 contains 0 (backward compat): - * a3 contains pointer (BEVA) to bootinfo version - * (u_long), then the bootinfo - */ - -#define BOOTINFO_MAGIC 0xdeadbeeffeedface - -struct bootinfo_v1 { - u_long ssym; /* 0: start of kernel sym table */ - u_long esym; /* 8: end of kernel sym table */ - char boot_flags[64]; /* 16: boot flags */ - char booted_kernel[64]; /* 80: name of booted kernel */ - void *hwrpb; /* 144: hwrpb pointer (BEVA) */ - u_long hwrpbsize; /* 152: size of hwrpb data */ - int (*cngetc)(void); /* 160: console getc pointer */ - void (*cnputc)(int); /* 168: console putc pointer */ - void (*cnpollc)(int); /* 176: console pollc pointer */ - u_long pad[6]; /* 184: rsvd for future use */ - char *envp; /* 232: start of environment */ - u_long kernend; /* 240: end of kernel */ - u_long modptr; /* 248: FreeBSD module base */ - /* 256: total size */ -}; - -/* - * Kernel-internal structure used to hold important bits of boot - * information. NOT to be used by boot blocks. - * - * Note that not all of the fields from the bootinfo struct(s) - * passed by the boot blocks aren't here (because they're not currently - * used by the kernel!). Fields here which aren't supplied by the - * bootinfo structure passed by the boot blocks are supposed to be - * filled in at startup with sane contents. - */ -struct bootinfo_kernel { - u_long ssym; /* start of syms */ - u_long esym; /* end of syms */ - u_long modptr; /* FreeBSD module pointer */ - u_long kernend; /* "end of kernel" from boot code */ - char *envp; /* "end of kernel" from boot code */ - u_long hwrpb_phys; /* hwrpb physical address */ - u_long hwrpb_size; /* size of hwrpb data */ - char boot_flags[64]; /* boot flags */ - char booted_kernel[64]; /* name of booted kernel */ - char booted_dev[64]; /* name of booted device */ -}; - -extern struct bootinfo_kernel bootinfo; diff --git a/sys/alpha/include/bus.h b/sys/alpha/include/bus.h deleted file mode 100644 index bfd5c55..0000000 --- a/sys/alpha/include/bus.h +++ /dev/null @@ -1,480 +0,0 @@ -/* $NetBSD: bus.h,v 1.12 1997/10/01 08:25:15 fvdl Exp $ */ - -/*- - * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, - * NASA Ames Research Center. - * - * 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. - */ - -/*- - * Copyright (c) 1996 Charles M. Hannum. All rights reserved. - * Copyright (c) 1996 Christopher G. Demetriou. All rights reserved. - * - * 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 Christopher G. Demetriou - * for the NetBSD Project. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - */ -/* $FreeBSD$ */ - -#ifndef _ALPHA_BUS_H_ -#define _ALPHA_BUS_H_ - -#include <machine/_bus.h> - -#define BUS_SPACE_MAXSIZE_24BIT 0xFFFFFF -#define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFF -#define BUS_SPACE_MAXSIZE 0xFFFFFFFFFFFFFFFF -#define BUS_SPACE_MAXADDR_24BIT 0xFFFFFF -#define BUS_SPACE_MAXADDR_32BIT 0xFFFFFFFF -/* The largest address space known so far is 40 bits */ -#define BUS_SPACE_MAXADDR 0xFFFFFFFFFUL - -#define BUS_SPACE_UNRESTRICTED (~0) - -/* - * Map a region of device bus space into CPU virtual address space. - */ - -static __inline int bus_space_map(bus_space_tag_t t, bus_addr_t addr, - bus_size_t size, int flags, - bus_space_handle_t *bshp); - -static __inline int -bus_space_map(bus_space_tag_t t __unused, bus_addr_t addr, - bus_size_t size __unused, int flags __unused, - bus_space_handle_t *bshp) -{ - - *bshp = addr; - return (0); -} - -/* - * Unmap a region of device bus space. - */ - -static __inline void bus_space_unmap(bus_space_tag_t t, bus_space_handle_t bsh, - bus_size_t size); - -static __inline void -bus_space_unmap(bus_space_tag_t t __unused, bus_space_handle_t bsh __unused, - bus_size_t size __unused) -{ -} - - -/* - * Get a new handle for a subregion of an already-mapped area of bus space. - */ - -static __inline int bus_space_subregion(bus_space_tag_t t, - bus_space_handle_t bsh, - bus_size_t offset, bus_size_t size, - bus_space_handle_t *nbshp); - -static __inline int -bus_space_subregion(bus_space_tag_t t __unused, bus_space_handle_t bsh, - bus_size_t offset, bus_size_t size __unused, - bus_space_handle_t *nbshp) -{ - - *nbshp = bsh + offset; - return (0); -} - - -struct alpha_busspace; - -struct alpha_busspace_ops { - u_int8_t (*abo_read_1)(struct alpha_busspace *space, size_t offset); - u_int16_t (*abo_read_2)(struct alpha_busspace *space, size_t offset); - u_int32_t (*abo_read_4)(struct alpha_busspace *space, size_t offset); - - void (*abo_read_multi_1)(struct alpha_busspace *space, - size_t offset, - u_int8_t *addr, size_t count); - void (*abo_read_multi_2)(struct alpha_busspace *space, - size_t offset, - u_int16_t *addr, size_t count); - void (*abo_read_multi_4)(struct alpha_busspace *space, - size_t offset, - u_int32_t *addr, size_t count); - - void (*abo_read_region_1)(struct alpha_busspace *space, - size_t offset, - u_int8_t *addr, size_t count); - void (*abo_read_region_2)(struct alpha_busspace *space, - size_t offset, - u_int16_t *addr, size_t count); - void (*abo_read_region_4)(struct alpha_busspace *space, - size_t offset, - u_int32_t *addr, size_t count); - - void (*abo_write_1)(struct alpha_busspace *space, size_t offset, - u_int8_t value); - void (*abo_write_2)(struct alpha_busspace *space, size_t offset, - u_int16_t value); - void (*abo_write_4)(struct alpha_busspace *space, size_t offset, - u_int32_t value); - - void (*abo_write_multi_1)(struct alpha_busspace *space, - size_t offset, - const u_int8_t *addr, size_t count); - void (*abo_write_multi_2)(struct alpha_busspace *space, - size_t offset, - const u_int16_t *addr, size_t count); - void (*abo_write_multi_4)(struct alpha_busspace *space, - size_t offset, - const u_int32_t *addr, size_t count); - - void (*abo_write_region_1)(struct alpha_busspace *space, - size_t offset, - const u_int8_t *addr, size_t count); - void (*abo_write_region_2)(struct alpha_busspace *space, - size_t offset, - const u_int16_t *addr, size_t count); - void (*abo_write_region_4)(struct alpha_busspace *space, - size_t offset, - const u_int32_t *addr, size_t count); - - void (*abo_set_multi_1)(struct alpha_busspace *space, size_t offset, - u_int8_t value, size_t count); - void (*abo_set_multi_2)(struct alpha_busspace *space, size_t offset, - u_int16_t value, size_t count); - void (*abo_set_multi_4)(struct alpha_busspace *space, size_t offset, - u_int32_t value, size_t count); - - void (*abo_set_region_1)(struct alpha_busspace *space, - size_t offset, - u_int8_t value, size_t count); - void (*abo_set_region_2)(struct alpha_busspace *space, - size_t offset, - u_int16_t value, size_t count); - void (*abo_set_region_4)(struct alpha_busspace *space, - size_t offset, - u_int32_t value, size_t count); - - void (*abo_copy_region_1)(struct alpha_busspace *space, - size_t offset1, size_t offset2, - size_t count); - void (*abo_copy_region_2)(struct alpha_busspace *space, - size_t offset1, size_t offset2, - size_t count); - void (*abo_copy_region_4)(struct alpha_busspace *space, - size_t offset1, size_t offset2, - size_t count); - - void (*abo_barrier)(struct alpha_busspace *space, size_t offset, - size_t len, int flags); -}; - -struct alpha_busspace { - struct alpha_busspace_ops *ab_ops; -}; - -/* Back-compat functions for old ISA drivers */ - -extern struct alpha_busspace *busspace_isa_io; -extern struct alpha_busspace *busspace_isa_mem; - -#define inb(o) bus_space_read_1(busspace_isa_io, o, 0) -#define inw(o) bus_space_read_2(busspace_isa_io, o, 0) -#define inl(o) bus_space_read_4(busspace_isa_io, o, 0) -#define outb(o, v) bus_space_write_1(busspace_isa_io, o, 0, v) -#define outw(o, v) bus_space_write_2(busspace_isa_io, o, 0, v) -#define outl(o, v) bus_space_write_4(busspace_isa_io, o, 0, v) - -#define readb(o) bus_space_read_1(busspace_isa_mem, o, 0) -#define readw(o) bus_space_read_2(busspace_isa_mem, o, 0) -#define readl(o) bus_space_read_4(busspace_isa_mem, o, 0) -#define writeb(o, v) bus_space_write_1(busspace_isa_mem, o, 0, v) -#define writew(o, v) bus_space_write_2(busspace_isa_mem, o, 0, v) -#define writel(o, v) bus_space_write_4(busspace_isa_mem, o, 0, v) - -#define insb(o, a, c) bus_space_read_multi_1(busspace_isa_io, o, 0, \ - (void*)(a), c) -#define insw(o, a, c) bus_space_read_multi_2(busspace_isa_io, o, 0, \ - (void*)(a), c) -#define insl(o, a, c) bus_space_read_multi_4(busspace_isa_io, o, 0, \ - (void*)(a), c) - -#define outsb(o, a, c) bus_space_write_multi_1(busspace_isa_io, o, 0, \ - (void*)(a), c) -#define outsw(o, a, c) bus_space_write_multi_2(busspace_isa_io, o, 0, \ - (void*)(a), c) -#define outsl(o, a, c) bus_space_write_multi_4(busspace_isa_io, o, 0, \ - (void*)(a), c) - -#define memcpy_fromio(d, s, c) \ - bus_space_read_region_1(busspace_isa_mem, (uintptr_t)(s), 0, d, c) -#define memcpy_toio(d, s, c) \ - bus_space_write_region_1(busspace_isa_mem, (uintptr_t)(d), 0, s, c) -#define memcpy_io(d, s, c) \ - bus_space_copy_region_1(busspace_isa_mem, (uintptr_t)(s), 0, d, 0, c) -#define memset_io(d, v, c) \ - bus_space_set_region_1(busspace_isa_mem, (uintptr_t)(d), 0, v, c) -#define memsetw_io(d, v, c) \ - bus_space_set_region_2(busspace_isa_mem, (uintptr_t)(d), 0, v, c) - -static __inline void -memsetw(void *d, int val, size_t size) -{ - u_int16_t *sp = d; - - while (size--) - *sp++ = val; -} - -void busspace_generic_read_multi_1(struct alpha_busspace *space, - size_t offset, - u_int8_t *addr, size_t count); -void busspace_generic_read_multi_2(struct alpha_busspace *space, - size_t offset, - u_int16_t *addr, size_t count); -void busspace_generic_read_multi_4(struct alpha_busspace *space, - size_t offset, - u_int32_t *addr, size_t count); -void busspace_generic_read_region_1(struct alpha_busspace *space, - size_t offset, - u_int8_t *addr, size_t count); -void busspace_generic_read_region_2(struct alpha_busspace *space, - size_t offset, - u_int16_t *addr, size_t count); -void busspace_generic_read_region_4(struct alpha_busspace *space, - size_t offset, - u_int32_t *addr, size_t count); -void busspace_generic_write_multi_1(struct alpha_busspace *space, - size_t offset, - const u_int8_t *addr, size_t count); -void busspace_generic_write_multi_2(struct alpha_busspace *space, - size_t offset, - const u_int16_t *addr, size_t count); -void busspace_generic_write_multi_4(struct alpha_busspace *space, - size_t offset, - const u_int32_t *addr, size_t count); -void busspace_generic_write_region_1(struct alpha_busspace *space, - size_t offset, - const u_int8_t *addr, size_t count); -void busspace_generic_write_region_2(struct alpha_busspace *space, - size_t offset, - const u_int16_t *addr, size_t count); -void busspace_generic_write_region_4(struct alpha_busspace *space, - size_t offset, - const u_int32_t *addr, size_t count); -void busspace_generic_set_multi_1(struct alpha_busspace *space, - size_t offset, - u_int8_t value, size_t count); -void busspace_generic_set_multi_2(struct alpha_busspace *space, - size_t offset, - u_int16_t value, size_t count); -void busspace_generic_set_multi_4(struct alpha_busspace *space, - size_t offset, - u_int32_t value, size_t count); -void busspace_generic_set_region_1(struct alpha_busspace *space, - size_t offset, - u_int8_t value, size_t count); -void busspace_generic_set_region_2(struct alpha_busspace *space, - size_t offset, - u_int16_t value, size_t count); -void busspace_generic_set_region_4(struct alpha_busspace *space, - size_t offset, - u_int32_t value, size_t count); -void busspace_generic_copy_region_1(struct alpha_busspace *space, - size_t offset1, - size_t offset2, - size_t count); -void busspace_generic_copy_region_2(struct alpha_busspace *space, - size_t offset1, - size_t offset2, - size_t count); -void busspace_generic_copy_region_4(struct alpha_busspace *space, - size_t offset1, - size_t offset2, - size_t count); -void busspace_generic_barrier(struct alpha_busspace *space, - size_t offset, size_t len, - int flags); - -#define BUS_SPACE_BARRIER_READ 0x01 /* force read barrier */ -#define BUS_SPACE_BARRIER_WRITE 0x02 /* force write barrier */ - -#define bus_space_read_1(t, h, o) \ - (t)->ab_ops->abo_read_1(t, (h)+(o)) -#define bus_space_read_2(t, h, o) \ - (t)->ab_ops->abo_read_2(t, (h)+(o)) -#define bus_space_read_4(t, h, o) \ - (t)->ab_ops->abo_read_4(t, (h)+(o)) -#define bus_space_read_multi_1(t, h, o, a, c) \ - (t)->ab_ops->abo_read_multi_1(t, (h)+(o), a, c) -#define bus_space_read_multi_2(t, h, o, a, c) \ - (t)->ab_ops->abo_read_multi_2(t, (h)+(o), a, c) -#define bus_space_read_multi_4(t, h, o, a, c) \ - (t)->ab_ops->abo_read_multi_4(t, (h)+(o), a, c) -#define bus_space_read_region_1(t, h, o, a, c) \ - (t)->ab_ops->abo_read_region_1(t, (h)+(o), a, c) -#define bus_space_read_region_2(t, h, o, a, c) \ - (t)->ab_ops->abo_read_region_2(t, (h)+(o), a, c) -#define bus_space_read_region_4(t, h, o, a, c) \ - (t)->ab_ops->abo_read_region_4(t, (h)+(o), a, c) - -#define bus_space_write_1(t, h, o, v) \ - (t)->ab_ops->abo_write_1(t, (h)+(o), v) -#define bus_space_write_2(t, h, o, v) \ - (t)->ab_ops->abo_write_2(t, (h)+(o), v) -#define bus_space_write_4(t, h, o, v) \ - (t)->ab_ops->abo_write_4(t, (h)+(o), v) -#define bus_space_write_multi_1(t, h, o, a, c) \ - (t)->ab_ops->abo_write_multi_1(t, (h)+(o), a, c) -#define bus_space_write_multi_2(t, h, o, a, c) \ - (t)->ab_ops->abo_write_multi_2(t, (h)+(o), a, c) -#define bus_space_write_multi_4(t, h, o, a, c) \ - (t)->ab_ops->abo_write_multi_4(t, (h)+(o), a, c) -#define bus_space_write_region_1(t, h, o, a, c) \ - (t)->ab_ops->abo_write_region_1(t, (h)+(o), a, c) -#define bus_space_write_region_2(t, h, o, a, c) \ - (t)->ab_ops->abo_write_region_2(t, (h)+(o), a, c) -#define bus_space_write_region_4(t, h, o, a, c) \ - (t)->ab_ops->abo_write_region_4(t, (h)+(o), a, c) -#define bus_space_set_multi_1(t, h, o, v, c) \ - (t)->ab_ops->abo_set_multi_1(t, (h)+(o), v, c) -#define bus_space_set_multi_2(t, h, o, v, c) \ - (t)->ab_ops->abo_set_multi_2(t, (h)+(o), v, c) -#define bus_space_set_multi_4(t, h, o, v, c) \ - (t)->ab_ops->abo_set_multi_4(t, (h)+(o), v, c) -#define bus_space_set_region_1(t, h, o, v, c) \ - (t)->ab_ops->abo_set_region_1(t, (h)+(o), v, c) -#define bus_space_set_region_2(t, h, o, v, c) \ - (t)->ab_ops->abo_set_region_2(t, (h)+(o), v, c) -#define bus_space_set_region_4(t, h, o, v, c) \ - (t)->ab_ops->abo_set_region_4(t, (h)+(o), v, c) - -#define bus_space_copy_region_1(t, h1, o1, h2, o2, c) \ - (t)->ab_ops->abo_copy_region_1(t, (h1)+(o1), (h2)+(o2), c) -#define bus_space_copy_region_2(t, h1, o1, h2, o2, c) \ - (t)->ab_ops->abo_copy_region_2(t, (h1)+(o1), (h2)+(o2), c) -#define bus_space_copy_region_4(t, h1, o1, h2, o2, c) \ - (t)->ab_ops->abo_copy_region_4(t, (h1)+(o1), (h2)+(o2), c) - -#define bus_space_barrier(t, h, o, l, f) \ - (t)->ab_ops->abo_barrier(t, (h)+(o), l, f) - -/* - * Stream accesses are the same as normal accesses on alpha; there are no - * supported bus systems with an endianess different from the host one. - */ -#define bus_space_read_stream_1(t, h, o) bus_space_read_1((t), (h), (o)) -#define bus_space_read_stream_2(t, h, o) bus_space_read_2((t), (h), (o)) -#define bus_space_read_stream_4(t, h, o) bus_space_read_4((t), (h), (o)) - -#define bus_space_read_multi_stream_1(t, h, o, a, c) \ - bus_space_read_multi_1((t), (h), (o), (a), (c)) -#define bus_space_read_multi_stream_2(t, h, o, a, c) \ - bus_space_read_multi_2((t), (h), (o), (a), (c)) -#define bus_space_read_multi_stream_4(t, h, o, a, c) \ - bus_space_read_multi_4((t), (h), (o), (a), (c)) - -#define bus_space_write_stream_1(t, h, o, v) \ - bus_space_write_1((t), (h), (o), (v)) -#define bus_space_write_stream_2(t, h, o, v) \ - bus_space_write_2((t), (h), (o), (v)) -#define bus_space_write_stream_4(t, h, o, v) \ - bus_space_write_4((t), (h), (o), (v)) - -#define bus_space_write_multi_stream_1(t, h, o, a, c) \ - bus_space_write_multi_1((t), (h), (o), (a), (c)) -#define bus_space_write_multi_stream_2(t, h, o, a, c) \ - bus_space_write_multi_2((t), (h), (o), (a), (c)) -#define bus_space_write_multi_stream_4(t, h, o, a, c) \ - bus_space_write_multi_4((t), (h), (o), (a), (c)) - -#define bus_space_set_multi_stream_1(t, h, o, v, c) \ - bus_space_set_multi_1((t), (h), (o), (v), (c)) -#define bus_space_set_multi_stream_2(t, h, o, v, c) \ - bus_space_set_multi_2((t), (h), (o), (v), (c)) -#define bus_space_set_multi_stream_4(t, h, o, v, c) \ - bus_space_set_multi_4((t), (h), (o), (v), (c)) - -#define bus_space_read_region_stream_1(t, h, o, a, c) \ - bus_space_read_region_1((t), (h), (o), (a), (c)) -#define bus_space_read_region_stream_2(t, h, o, a, c) \ - bus_space_read_region_2((t), (h), (o), (a), (c)) -#define bus_space_read_region_stream_4(t, h, o, a, c) \ - bus_space_read_region_4((t), (h), (o), (a), (c)) - -#define bus_space_write_region_stream_1(t, h, o, a, c) \ - bus_space_write_region_1((t), (h), (o), (a), (c)) -#define bus_space_write_region_stream_2(t, h, o, a, c) \ - bus_space_write_region_2((t), (h), (o), (a), (c)) -#define bus_space_write_region_stream_4(t, h, o, a, c) \ - bus_space_write_region_4((t), (h), (o), (a), (c)) - -#define bus_space_set_region_stream_1(t, h, o, v, c) \ - bus_space_set_region_1((t), (h), (o), (v), (c)) -#define bus_space_set_region_stream_2(t, h, o, v, c) \ - bus_space_set_region_2((t), (h), (o), (v), (c)) -#define bus_space_set_region_stream_4(t, h, o, v, c) \ - bus_space_set_region_4((t), (h), (o), (v), (c)) - -#define bus_space_copy_region_stream_1(t, h1, o1, h2, o2, c) \ - bus_space_copy_region_1((t), (h1), (o1), (h2), (o2), (c)) -#define bus_space_copy_region_stream_2(t, h1, o1, h2, o2, c) \ - bus_space_copy_region_2((t), (h1), (o1), (h2), (o2), (c)) -#define bus_space_copy_region_stream_4(t, h1, o1, h2, o2, c) \ - bus_space_copy_region_4((t), (h1), (o1), (h2), (o2), (c)) - -#include <machine/bus_dma.h> - -#endif /* _ALPHA_BUS_H_ */ diff --git a/sys/alpha/include/bus_dma.h b/sys/alpha/include/bus_dma.h deleted file mode 100644 index 141fff0..0000000 --- a/sys/alpha/include/bus_dma.h +++ /dev/null @@ -1,33 +0,0 @@ -/*- - * Copyright (c) 2005 Scott Long - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - */ -/* $FreeBSD$ */ - -#ifndef _ALPHA_BUS_DMA_H_ -#define _ALPHA_BUS_DMA_H_ - -#include <sys/bus_dma.h> - -#endif /* _ALPHA_BUS_DMA_H_ */ diff --git a/sys/alpha/include/bwx.h b/sys/alpha/include/bwx.h deleted file mode 100644 index bb2866b..0000000 --- a/sys/alpha/include/bwx.h +++ /dev/null @@ -1,117 +0,0 @@ -/*- - * Copyright (c) 1998 Doug Rabson - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_BWX_H_ -#define _MACHINE_BWX_H_ - -/* - * Byte/word accesses must be made with particular values for addr<37,38> - */ -#define BWX_EV56_INT8 (0L << 37) -#define BWX_EV56_INT4 (1L << 37) -#define BWX_EV56_INT2 (2L << 37) -#define BWX_EV56_INT1 (3L << 37) - -static __inline u_int8_t -ldbu(vm_offset_t va) -{ - u_int64_t r; - __asm__ __volatile__ ("ldbu %0,%1" : "=r"(r) : "m"(*(u_int8_t*)va)); - return r; -} - -static __inline u_int16_t -ldwu(vm_offset_t va) -{ - u_int64_t r; - __asm__ __volatile__ ("ldwu %0,%1" : "=r"(r) : "m"(*(u_int16_t*)va)); - return r; -} - -static __inline u_int32_t -ldl(vm_offset_t va) -{ - return *(u_int32_t*) va; -} - -static __inline void -stb(vm_offset_t va, u_int64_t r) -{ - __asm__ __volatile__ ("stb %1,%0" : "=m"(*(u_int8_t*)va) : "r"(r)); - __asm__ __volatile__ ("mb"); -} - -static __inline void -stw(vm_offset_t va, u_int64_t r) -{ - __asm__ __volatile__ ("stw %1,%0" : "=m"(*(u_int16_t*)va) : "r"(r)); - __asm__ __volatile__ ("mb"); -} - - -static __inline void -stl(vm_offset_t va, u_int64_t r) -{ - __asm__ __volatile__ ("stl %1,%0" : "=m"(*(u_int32_t*)va) : "r"(r)); - __asm__ __volatile__ ("mb"); -} - -static __inline void -stb_nb(vm_offset_t va, u_int64_t r) -{ - __asm__ __volatile__ ("stb %1,%0" : "=m"(*(u_int8_t*)va) : "r"(r)); -} - -static __inline void -stw_nb(vm_offset_t va, u_int64_t r) -{ - __asm__ __volatile__ ("stw %1,%0" : "=m"(*(u_int16_t*)va) : "r"(r)); -} - -static __inline void -stl_nb(vm_offset_t va, u_int64_t r) -{ - __asm__ __volatile__ ("stl %1,%0" : "=m"(*(u_int32_t*)va) : "r"(r)); -} - -#ifdef _KERNEL - -/* - * A kernel object for accessing memory-like spaces (port and - * memory spaces) using BWX instructions. - */ -struct bwx_space { - struct alpha_busspace_ops *ops; - u_int64_t base; /* base address of space */ -}; - -void bwx_init_space(struct bwx_space *bwx, u_int64_t base); - -#endif /* _KERNEL */ - -#endif /* !_MACHINE_BWX_H_ */ diff --git a/sys/alpha/include/chipset.h b/sys/alpha/include/chipset.h deleted file mode 100644 index 54031a5..0000000 --- a/sys/alpha/include/chipset.h +++ /dev/null @@ -1,73 +0,0 @@ -/*- - * Copyright (c) 1998 Doug Rabson - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_CHIPSET_H_ -#define _MACHINE_CHIPSET_H_ - -typedef u_int64_t alpha_chipset_read_hae_t(void); -typedef void alpha_chipset_write_hae_t(u_int64_t); - -struct sgmap; - -typedef struct alpha_chipset { - /* - * Access the HAE register - */ - alpha_chipset_read_hae_t* read_hae; - alpha_chipset_write_hae_t* write_hae; - - /* - * Scatter-Gather map for ISA dma. - */ - struct sgmap* sgmap; - - /* - * Scatter-Gather map for PCI dma. - */ - struct sgmap* pci_sgmap; - - /* - * direct map - */ - long dmsize; - long dmoffset; -} alpha_chipset_t; - -extern alpha_chipset_t chipset; - -/* - * Exported sysctl variables describing the PCI chipset. - */ -extern char chipset_type[10]; -extern int chipset_bwx; -extern long chipset_ports; -extern long chipset_memory; -extern long chipset_dense; -extern long chipset_hae_mask; - -#endif /* !_MACHINE_CHIPSET_H_ */ diff --git a/sys/alpha/include/clock.h b/sys/alpha/include/clock.h deleted file mode 100644 index 31eca15..0000000 --- a/sys/alpha/include/clock.h +++ /dev/null @@ -1,24 +0,0 @@ -/*- - * Kernel interface to machine-dependent clock driver. - * Garrett Wollman, September 1994. - * This file is in the public domain. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_CLOCK_H_ -#define _MACHINE_CLOCK_H_ - -#ifdef _KERNEL - -extern int disable_rtc_set; -extern int wall_cmos_clock; -extern int adjkerntz; - -int sysbeep(int pitch, int period); -int acquire_timer2(int mode); -int release_timer2(void); - -#endif - -#endif /* !_MACHINE_CLOCK_H_ */ diff --git a/sys/alpha/include/clockvar.h b/sys/alpha/include/clockvar.h deleted file mode 100644 index 89b3619..0000000 --- a/sys/alpha/include/clockvar.h +++ /dev/null @@ -1,53 +0,0 @@ -/* $FreeBSD$ */ -/* $NetBSD: clockvar.h,v 1.4 1997/06/22 08:02:18 jonathan Exp $ */ - -/*- - * Copyright (c) 1994, 1995 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -/* - * Definitions for cpu-independent clock handling for the alpha and pmax. - */ - -/* - * clocktime structure: - * - * structure passed to TOY clocks when setting them. broken out this - * way, so that the time_t -> field conversion can be shared. - */ -struct clocktime { - int year; /* year - 1900 */ - int mon; /* month (1 - 12) */ - int day; /* day (1 - 31) */ - int hour; /* hour (0 - 23) */ - int min; /* minute (0 - 59) */ - int sec; /* second (0 - 59) */ - int dow; /* day of week (0 - 6; 0 = Sunday) */ -}; - -#include "clock_if.h" - -void clockattach(device_t); diff --git a/sys/alpha/include/cpu.h b/sys/alpha/include/cpu.h deleted file mode 100644 index f881915..0000000 --- a/sys/alpha/include/cpu.h +++ /dev/null @@ -1,83 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: cpu.h,v 1.18 1997/09/23 23:17:49 mjacob Exp */ - -/*- - * Copyright (c) 1988 University of Utah. - * Copyright (c) 1982, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * the Systems Programming Group of the University of Utah Computer - * Science Department. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * from: Utah $Hdr: cpu.h 1.16 91/03/25$ - * - * @(#)cpu.h 8.4 (Berkeley) 1/5/94 - */ - -#ifndef _ALPHA_CPU_H_ -#define _ALPHA_CPU_H_ - -/* - * Exported definitions unique to Alpha cpu support. - */ - -#include <machine/frame.h> - -#define TRAPF_USERMODE(framep) \ - (((framep)->tf_regs[FRAME_PS] & ALPHA_PSL_USERMODE) != 0) -#define TRAPF_PC(framep) ((framep)->tf_regs[FRAME_PC]) - -/* - * CTL_MACHDEP definitions. - */ -#define CPU_ROOT_DEVICE 2 /* string: root device name */ -#define CPU_UNALIGNED_PRINT 3 /* int: print unaligned accesses */ -#define CPU_UNALIGNED_FIX 4 /* int: fix unaligned accesses */ -#define CPU_UNALIGNED_SIGBUS 5 /* int: SIGBUS unaligned accesses */ -#define CPU_BOOTED_KERNEL 6 /* string: booted kernel name */ - -#ifdef _KERNEL - -#ifdef GPROF -extern char btext[]; -extern char etext[]; -#endif - -#define cpu_getstack(td) (alpha_pal_rdusp()) -#define cpu_spinwait() /* nothing */ -#define get_cyclecount() read_cycle_count() - -void cpu_halt(void); -void cpu_reset(void); -void fork_trampoline(void); /* MAGIC */ -uint64_t read_cycle_count(void); -void swi_vm(void *); - -#endif /* _KERNEL */ - -#endif /* _ALPHA_CPU_H_ */ diff --git a/sys/alpha/include/cpuconf.h b/sys/alpha/include/cpuconf.h deleted file mode 100644 index 6f1ccc3..0000000 --- a/sys/alpha/include/cpuconf.h +++ /dev/null @@ -1,135 +0,0 @@ -/* $FreeBSD$ */ -/* $NetBSD: cpuconf.h,v 1.7 1997/11/06 00:42:03 thorpej Exp $ */ -#ifndef _ALPHA_CPUCONF_H -#define _ALPHA_CPUCONF_H -/*- - * Copyright (c) 1996 Christopher G. Demetriou. All rights reserved. - * - * 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 Christopher G. Demetriou - * for the NetBSD Project. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - */ -/*- - * Additional reworking by Matthew Jacob for NASA/Ames Research Center. - * Copyright (c) 1997 - */ -#ifdef _KERNEL -/* - * Platform Specific Information and Function Hooks. - * - * The tags family and model information are strings describing the platform. - * - * The tag iobus describes the primary iobus for the platform- primarily - * to give a hint as to where to start configuring. The likely choices - * are one of tcasic, lca, apecs, cia, or tlsb. - * - */ -struct device; /* XXX */ -struct resource; /* XXX */ - -extern struct platform { - /* - * Platform Information. - */ - const char *family; /* Family Name */ - const char *model; /* Model (variant) Name */ - const char *iobus; /* Primary iobus name */ - - /* - * Platform Specific Function Hooks - * cons_init - console initialization - * device_register - boot configuration aid - * iointr - I/O interrupt handler - * clockintr - Clock Interrupt Handler - * mcheck_handler - Platform Specific Machine Check Handler - */ - void (*cons_init)(void); - void (*device_register)(struct device *, void *); - void (*iointr)(void *, unsigned long); - void (*clockintr)(int, uintfptr_t); - void (*mcheck_handler)(unsigned long, struct trapframe *, - unsigned long, unsigned long); - void (*cpu_idle)(void); - void (*pci_intr_init)(void); - void (*pci_intr_map)(void *); - int (*pci_intr_route)(struct device *, struct device *, int); - void (*pci_intr_disable)(int); - void (*pci_intr_enable)(int); - int (*pci_setup_ide_intr)(struct device *dev, - struct device *child, - int chan, void (*fn)(void*), void *arg); - int (*isa_setup_intr)(struct device *, struct device *, - struct resource *, int, void *, void *, void **); - int (*isa_teardown_intr)(struct device *, struct device *, - struct resource *, void *); -} platform; - -/* - * Lookup table entry for Alpha system variations. - */ -struct alpha_variation_table { - u_int64_t avt_variation; /* variation, from HWRPB */ - const char *avt_model; /* model string */ -}; - -/* - * There is an array of functions to initialize the platform structure. - * - * It's responsible for filling in the family, model_name and iobus - * tags. It may optionally fill in the cons_init, device_register and - * mcheck_handler tags. - * - * The iointr tag is filled in by set_iointr (in interrupt.c). - * The clockintr tag is filled in by cpu_initclocks (in clock.c). - * - * nocpu is function to call when you can't figure what platform you're on. - * There's no return from this function. - */ - -struct cpuinit { - void (*init)(int); - const char *option; -}; - -#define cpu_notsupp(st) { platform_not_supported, st } -#define cpu_init(fn, opt) { fn, opt } - -/* - * Misc. support routines. - */ -const char *alpha_dsr_sysname(void); -const char *alpha_variation_name(u_int64_t variation, - const struct alpha_variation_table *avtp); -const char *alpha_unknown_sysname(void); - -extern struct cpuinit cpuinit[]; -extern struct cpuinit api_cpuinit[]; -extern int ncpuinit; -extern int napi_cpuinit; -extern void platform_not_configured(int); -extern void platform_not_supported(int); - -#endif /* _KERNEL */ -#endif /* !_ALPHA_CPUCONF_H */ diff --git a/sys/alpha/include/cpufunc.h b/sys/alpha/include/cpufunc.h deleted file mode 100644 index 5979987..0000000 --- a/sys/alpha/include/cpufunc.h +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * Copyright (c) 1998 Doug Rabson - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_CPUFUNC_H_ -#define _MACHINE_CPUFUNC_H_ - -#ifdef _KERNEL - -#include <sys/types.h> -#include <machine/chipset.h> -#include <machine/alpha_cpu.h> - -#ifndef _SYS_CDEFS_H_ -#error this file needs sys/cdefs.h as a prerequisite -#endif - -struct thread; - -#if defined(__GNUCLIKE_ASM) - -static __inline void -breakpoint(void) -{ - __asm __volatile("call_pal 0x81"); /* XXX bugchk */ -} - -#endif - -static __inline register_t -intr_disable(void) -{ - return (alpha_pal_swpipl(ALPHA_PSL_IPL_MCES)); -} - -static __inline void -intr_restore(register_t ipl) -{ - alpha_pal_swpipl(ipl); -} - -#endif /* _KERNEL */ - -#endif /* !_MACHINE_CPUFUNC_H_ */ diff --git a/sys/alpha/include/db_machdep.h b/sys/alpha/include/db_machdep.h deleted file mode 100644 index f72b2b0..0000000 --- a/sys/alpha/include/db_machdep.h +++ /dev/null @@ -1,100 +0,0 @@ -/* $FreeBSD$ */ -/* $NetBSD: db_machdep.h,v 1.6 1997/09/06 02:02:25 thorpej Exp $ */ - -/*- - * Copyright (c) 1995 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -#ifndef _ALPHA_DB_MACHDEP_H_ -#define _ALPHA_DB_MACHDEP_H_ - -#include <sys/param.h> -#include <vm/vm.h> -#include <machine/frame.h> - -#define DB_NO_AOUT - -typedef vm_offset_t db_addr_t; /* address - unsigned */ -typedef long db_expr_t; /* expression - signed */ - -#define PC_REGS() ((db_addr_t)kdb_thrctx->pcb_context[7]) - -#define BKPT_INST 0x00000080 /* breakpoint instruction */ -#define BKPT_SIZE (4) /* size of breakpoint inst */ -#define BKPT_SET(inst) (BKPT_INST) - -#define FIXUP_PC_AFTER_BREAK (kdb_frame->tf_regs[FRAME_PC] -= BKPT_SIZE); - -#define SOFTWARE_SSTEP 1 /* no hardware support */ - -#define IS_BREAKPOINT_TRAP(type, code) \ - ((type) == ALPHA_KENTRY_IF && (code) == ALPHA_IF_CODE_BPT) -#define IS_WATCHPOINT_TRAP(type, code) 0 - -/* - * Functions needed for software single-stepping. - */ -boolean_t db_inst_trap_return(int inst); -boolean_t db_inst_return(int inst); -boolean_t db_inst_call(int inst); -boolean_t db_inst_branch(int inst); -boolean_t db_inst_load(int inst); -boolean_t db_inst_store(int inst); -boolean_t db_inst_unconditional_flow_transfer(int inst); -db_addr_t db_branch_taken(int inst, db_addr_t pc); - -#define inst_trap_return(ins) db_inst_trap_return(ins) -#define inst_return(ins) db_inst_return(ins) -#define inst_call(ins) db_inst_call(ins) -#define inst_branch(ins) db_inst_branch(ins) -#define inst_load(ins) db_inst_load(ins) -#define inst_store(ins) db_inst_store(ins) -#define inst_unconditional_flow_transfer(ins) \ - db_inst_unconditional_flow_transfer(ins) -#define branch_taken(ins, pc) db_branch_taken(ins, pc) - -/* No delay slots on Alpha. */ -#define next_instr_address(v, b) ((db_addr_t) ((b) ? (v) : ((v) + 4))) - -u_long db_register_value(int); - -/* - * Pretty arbitrary - */ -#define DB_SMALL_VALUE_MAX 0x7fffffff -#define DB_SMALL_VALUE_MIN (-0x400001) - -/* - * We define some of our own commands. - */ -#define DB_MACHINE_COMMANDS - -/* - * We use Elf64 symbols in DDB. - */ -#define DB_ELFSIZE 64 - -#endif /* _ALPHA_DB_MACHDEP_H_ */ diff --git a/sys/alpha/include/elf.h b/sys/alpha/include/elf.h deleted file mode 100644 index a0fb706..0000000 --- a/sys/alpha/include/elf.h +++ /dev/null @@ -1,138 +0,0 @@ -/*- - * Copyright (c) 1996-1997 John D. Polstra. - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_ELF_H_ -#define _MACHINE_ELF_H_ 1 - -/* - * ELF definitions for the alpha architecture. - */ - -#include <sys/elf64.h> /* Definitions common to all 64 bit architectures. */ - -#define __ELF_WORD_SIZE 64 /* Used by <sys/elf_generic.h> */ -#include <sys/elf_generic.h> - -#define ELF_ARCH EM_ALPHA - -#define ELF_MACHINE_OK(x) ((x) == EM_ALPHA) - -/* - * Auxiliary vector entries for passing information to the interpreter. - * - * The i386 supplement to the SVR4 ABI specification names this "auxv_t", - * but POSIX lays claim to all symbols ending with "_t". - */ - -typedef struct { /* Auxiliary vector entry on initial stack */ - long a_type; /* Entry type. */ - union { - long a_val; /* Integer value. */ - void *a_ptr; /* Address. */ - void (*a_fcn)(void); /* Function pointer (not used). */ - } a_un; -} Elf64_Auxinfo; - -__ElfType(Auxinfo); - -/* Values for a_type. */ -#define AT_NULL 0 /* Terminates the vector. */ -#define AT_IGNORE 1 /* Ignored entry. */ -#define AT_EXECFD 2 /* File descriptor of program to load. */ -#define AT_PHDR 3 /* Program header of program already loaded. */ -#define AT_PHENT 4 /* Size of each program header entry. */ -#define AT_PHNUM 5 /* Number of program header entries. */ -#define AT_PAGESZ 6 /* Page size in bytes. */ -#define AT_BASE 7 /* Interpreter's base address. */ -#define AT_FLAGS 8 /* Flags (unused for i386). */ -#define AT_ENTRY 9 /* Where interpreter should transfer control. */ - -/* - * The following non-standard values are used for passing information - * from John Polstra's testbed program to the dynamic linker. These - * are expected to go away soon. - * - * Unfortunately, these overlap the Linux non-standard values, so they - * must not be used in the same context. - */ -#define AT_BRK 10 /* Starting point for sbrk and brk. */ -#define AT_DEBUG 11 /* Debugging level. */ - -/* - * The following non-standard values are used in Linux ELF binaries. - */ -#define AT_NOTELF 10 /* Program is not ELF ?? */ -#define AT_UID 11 /* Real uid. */ -#define AT_EUID 12 /* Effective uid. */ -#define AT_GID 13 /* Real gid. */ -#define AT_EGID 14 /* Effective gid. */ - -#define AT_COUNT 15 /* Count of defined aux entry types. */ - -/* - * Relocation types. - */ - -#define R_ALPHA_NONE 0 /* No reloc */ -#define R_ALPHA_REFLONG 1 /* Direct 32 bit */ -#define R_ALPHA_REFQUAD 2 /* Direct 64 bit */ -#define R_ALPHA_GPREL32 3 /* GP relative 32 bit */ -#define R_ALPHA_LITERAL 4 /* GP relative 16 bit w/optimization */ -#define R_ALPHA_LITUSE 5 /* Optimization hint for LITERAL */ -#define R_ALPHA_GPDISP 6 /* Add displacement to GP */ -#define R_ALPHA_BRADDR 7 /* PC+4 relative 23 bit shifted */ -#define R_ALPHA_HINT 8 /* PC+4 relative 16 bit shifted */ -#define R_ALPHA_SREL16 9 /* PC relative 16 bit */ -#define R_ALPHA_SREL32 10 /* PC relative 32 bit */ -#define R_ALPHA_SREL64 11 /* PC relative 64 bit */ -#define R_ALPHA_OP_PUSH 12 /* OP stack push */ -#define R_ALPHA_OP_STORE 13 /* OP stack pop and store */ -#define R_ALPHA_OP_PSUB 14 /* OP stack subtract */ -#define R_ALPHA_OP_PRSHIFT 15 /* OP stack right shift */ -#define R_ALPHA_GPVALUE 16 -#define R_ALPHA_GPRELHIGH 17 -#define R_ALPHA_GPRELLOW 18 -#define R_ALPHA_IMMED_GP_16 19 -#define R_ALPHA_IMMED_GP_HI32 20 -#define R_ALPHA_IMMED_SCN_HI32 21 -#define R_ALPHA_IMMED_BR_HI32 22 -#define R_ALPHA_IMMED_LO32 23 -#define R_ALPHA_COPY 24 /* Copy symbol at runtime */ -#define R_ALPHA_GLOB_DAT 25 /* Create GOT entry */ -#define R_ALPHA_JMP_SLOT 26 /* Create PLT entry */ -#define R_ALPHA_RELATIVE 27 /* Adjust by program base */ - -#define R_ALPHA_COUNT 28 - -/* Define "machine" characteristics */ -#define ELF_TARG_CLASS ELFCLASS64 -#define ELF_TARG_DATA ELFDATA2LSB -#define ELF_TARG_MACH EM_ALPHA -#define ELF_TARG_VER 1 - -#endif /* !_MACHINE_ELF_H_ */ diff --git a/sys/alpha/include/endian.h b/sys/alpha/include/endian.h deleted file mode 100644 index 974ce16..0000000 --- a/sys/alpha/include/endian.h +++ /dev/null @@ -1,127 +0,0 @@ -/*- - * Copyright (c) 1987, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * @(#)endian.h 8.1 (Berkeley) 6/10/93 - * $NetBSD: endian.h,v 1.5 1997/10/09 15:42:19 bouyer Exp $ - * $FreeBSD$ - */ - -#ifndef _MACHINE_ENDIAN_H_ -#define _MACHINE_ENDIAN_H_ - -#include <sys/cdefs.h> -#include <sys/_types.h> - -/* - * Define the order of 32-bit words in 64-bit words. - */ -#define _QUAD_HIGHWORD 1 -#define _QUAD_LOWWORD 0 - -/* - * Definitions for byte order, according to byte significance from low - * address to high. - */ -#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ -#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ -#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ - -#define _BYTE_ORDER _LITTLE_ENDIAN - -/* - * Deprecated variants that don't have enough underscores to be useful in more - * strict namespaces. - */ -#if __BSD_VISIBLE -#define LITTLE_ENDIAN _LITTLE_ENDIAN -#define BIG_ENDIAN _BIG_ENDIAN -#define PDP_ENDIAN _PDP_ENDIAN -#define BYTE_ORDER _BYTE_ORDER -#endif - -#if defined(__CC_SUPPORTS___INLINE) && defined(__GNUCLIKE_ASM) - -static __inline __uint64_t -__bswap64(__uint64_t _x) -{ - - return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) | - ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) | - ((_x << 24) & ((__uint64_t)0xff << 40)) | - ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56))); -} - -static __inline __uint32_t -__bswap32(__uint32_t _x) -{ - __uint32_t __r; - - __asm __volatile__ ( - "insbl %1, 3, $1\n\t" - "extbl %1, 1, $2\n\t" - "extbl %1, 2, $3\n\t" - "extbl %1, 3, $4\n\t" - "sll $2, 16, $2\n\t" - "sll $3, 8, $3\n\t" - "or $4, $1, %0\n\t" - "or $2, $3, $2\n\t" - "or $2, %0, %0" - : "=r" (__r) : "r" (_x) : "$1", "$2", "$3", "$4"); - return (__r); -} - -static __inline __uint16_t -__bswap16(__uint16_t _x) -{ - __uint16_t __r; - - __asm __volatile__ ( - "insbl %1, 1, $1\n\t" - "extbl %1, 1, $2\n\t" - "or $1, $2, %0" - : "=r" (__r) : "r" (_x) : "$1", "$2"); - return (__r); -} - -#define __htonl(x) __bswap32(x) -#define __htons(x) __bswap16(x) -#define __ntohl(x) __bswap32(x) -#define __ntohs(x) __bswap16(x) - -#else /* !(__CC_SUPPORTS___INLINE && __GNUCLIKE_ASM) */ - -/* - * No optimizations are available for this compiler. Fall back to - * non-optimized functions by defining the constant usually used to prevent - * redefinition. - */ -#define _BYTEORDER_FUNC_DEFINED - -#endif /* __CC_SUPPORTS___INLINE && __GNUCLIKE_ASM */ - -#endif /* !_MACHINE_ENDIAN_H_ */ diff --git a/sys/alpha/include/exec.h b/sys/alpha/include/exec.h deleted file mode 100644 index e3aa1fe..0000000 --- a/sys/alpha/include/exec.h +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * Copyright (c) 1998 John Birrell <jb@cimlogic.com.au>. - * All rights reserved. - * - * 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 John Birrell. - * 4. Neither the name of the author nor the names of any co-contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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 REGENTS 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_EXEC_H_ -#define _MACHINE_EXEC_H_ - -#define __LDPGSZ 8192 - -#endif /* !_MACHINE_EXEC_H_ */ diff --git a/sys/alpha/include/float.h b/sys/alpha/include/float.h deleted file mode 100644 index e2fb31d..0000000 --- a/sys/alpha/include/float.h +++ /dev/null @@ -1,79 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: float.h,v 1.6 1997/07/17 21:36:03 thorpej Exp */ - -/*- - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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_FLOAT_H_ -#define _ALPHA_FLOAT_H_ - -#include <sys/cdefs.h> - -__BEGIN_DECLS -int __flt_rounds(void); -__END_DECLS - -#define FLT_RADIX 2 /* b */ -#define FLT_ROUNDS __flt_rounds() -#if __ISO_C_VISIBLE >= 1999 -#define FLT_EVAL_METHOD 0 /* no promotions */ -#define DECIMAL_DIG 17 /* max precision in decimal digits */ -#endif - -#define FLT_MANT_DIG 24 /* p */ -#define FLT_EPSILON 1.19209290E-07F /* b**(1-p) */ -#define FLT_DIG 6 /* floor((p-1)*log10(b))+(b == 10) */ -#define FLT_MIN_EXP -125 /* emin */ -#define FLT_MIN 1.17549435E-38F /* b**(emin-1) */ -#define FLT_MIN_10_EXP -37 /* ceil(log10(b**(emin-1))) */ -#define FLT_MAX_EXP 128 /* emax */ -#define FLT_MAX 3.40282347E+38F /* (1-b**(-p))*b**emax */ -#define FLT_MAX_10_EXP 38 /* floor(log10((1-b**(-p))*b**emax)) */ - -#define DBL_MANT_DIG 53 -#define DBL_EPSILON 2.2204460492503131E-16 -#define DBL_DIG 15 -#define DBL_MIN_EXP -1021 -#define DBL_MIN 2.2250738585072014E-308 -#define DBL_MIN_10_EXP -307 -#define DBL_MAX_EXP 1024 -#define DBL_MAX 1.7976931348623157E+308 -#define DBL_MAX_10_EXP 308 - -#define LDBL_MANT_DIG DBL_MANT_DIG -#define LDBL_EPSILON DBL_EPSILON -#define LDBL_DIG DBL_DIG -#define LDBL_MIN_EXP DBL_MIN_EXP -#define LDBL_MIN DBL_MIN -#define LDBL_MIN_10_EXP DBL_MIN_10_EXP -#define LDBL_MAX_EXP DBL_MAX_EXP -#define LDBL_MAX DBL_MAX -#define LDBL_MAX_10_EXP DBL_MAX_10_EXP - -#endif /* _ALPHA_FLOAT_H_ */ diff --git a/sys/alpha/include/floatingpoint.h b/sys/alpha/include/floatingpoint.h deleted file mode 100644 index 22a9f48..0000000 --- a/sys/alpha/include/floatingpoint.h +++ /dev/null @@ -1,35 +0,0 @@ -/*- - * Copyright (c) 1998 John Birrell <jb@cimlogic.com.au>. - * All rights reserved. - * - * 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 John Birrell. - * 4. Neither the name of the author nor the names of any co-contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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 REGENTS 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. - * - * $FreeBSD$ - */ - -#include <machine/ieeefp.h> diff --git a/sys/alpha/include/fpu.h b/sys/alpha/include/fpu.h deleted file mode 100644 index ad539e9..0000000 --- a/sys/alpha/include/fpu.h +++ /dev/null @@ -1,124 +0,0 @@ -/*- - * Copyright (c) 1998 Doug Rabson - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_FPU_H_ -#define _MACHINE_FPU_H_ - -/* - * Floating point control register bits. - * - * From Alpha AXP Architecture Reference Manual, Instruction - * Descriptions (I) PP 4-69. - */ - -#define FPCR_INVD (1LL << 49) /* Invalid Operation DIsable */ -#define FPCR_DZED (1LL << 50) /* Division by Zero Disable */ -#define FPCR_OVFD (1LL << 51) /* Overflow Disable */ -#define FPCR_INV (1LL << 52) /* Invalid Operation */ -#define FPCR_DZE (1LL << 53) /* Division by Zero */ -#define FPCR_OVF (1LL << 54) /* Overflow */ -#define FPCR_UNF (1LL << 55) /* Underflow */ -#define FPCR_INE (1LL << 56) /* Inexact Result */ -#define FPCR_IOV (1LL << 57) /* Integer Overflow */ -#define FPCR_DYN_CHOPPED (0LL << 58) /* Chopped rounding mode */ -#define FPCR_DYN_MINUS (1LL << 58) /* Minus infinity */ -#define FPCR_DYN_NORMAL (2LL << 58) /* Normal rounding */ -#define FPCR_DYN_PLUS (3LL << 58) /* Plus infinity */ -#define FPCR_DYN_MASK (3LL << 58) /* Rounding mode mask */ -#define FPCR_DYN_SHIFT 58 -#define FPCR_UNDZ (1LL << 60) /* Underflow to Zero */ -#define FPCR_UNFD (1LL << 61) /* Underflow Disable */ -#define FPCR_INED (1LL << 62) /* Inexact Disable */ -#define FPCR_SUM (1LL << 63) /* Summary Bit */ -#define FPCR_MASK (~0LL << 49) -#define FPCR_STATUS_MASK (FPCR_INV | FPCR_DZE | FPCR_OVF | \ - FPCR_UNF | FPCR_INE | FPCR_IOV) - -/* - * Exception summary bits. - * - * From Alpha AXP Architecture Reference Manual, DEC OSF/1 Exceptions - * and Interrupts (II-B) PP 5-5. - */ - -#define EXCSUM_SWC (1LL << 0) /* Software completion */ -#define EXCSUM_INV (1LL << 1) /* Invalid operation */ -#define EXCSUM_DZE (1LL << 2) /* Division by zero */ -#define EXCSUM_OVF (1LL << 3) /* Overflow */ -#define EXCSUM_UNF (1LL << 4) /* Underflow */ -#define EXCSUM_INE (1LL << 5) /* Inexact result */ -#define EXCSUM_IOV (1LL << 6) /* Integer overflow */ - -/* - * Definitions for IEEE trap enables. These are implemented in - * software and should be compatible with OSF/1 and Linux. - */ - -/* read/write flags */ -#define IEEE_TRAP_ENABLE_INV (1LL << 1) /* Invalid operation */ -#define IEEE_TRAP_ENABLE_DZE (1LL << 2) /* Division by zero */ -#define IEEE_TRAP_ENABLE_OVF (1LL << 3) /* Overflow */ -#define IEEE_TRAP_ENABLE_UNF (1LL << 4) /* Underflow */ -#define IEEE_TRAP_ENABLE_INE (1LL << 5) /* Inexact result */ -#define IEEE_TRAP_ENABLE_MASK (IEEE_TRAP_ENABLE_INV \ - | IEEE_TRAP_ENABLE_DZE \ - | IEEE_TRAP_ENABLE_OVF \ - | IEEE_TRAP_ENABLE_UNF \ - | IEEE_TRAP_ENABLE_INE) - -/* read only flags */ -#define IEEE_STATUS_INV (1LL << 17) /* Invalid operation */ -#define IEEE_STATUS_DZE (1LL << 18) /* Division by zero */ -#define IEEE_STATUS_OVF (1LL << 19) /* Overflow */ -#define IEEE_STATUS_UNF (1LL << 20) /* Underflow */ -#define IEEE_STATUS_INE (1LL << 21) /* Inexact result */ -#define IEEE_STATUS_MASK (IEEE_STATUS_INV \ - | IEEE_STATUS_DZE \ - | IEEE_STATUS_OVF \ - | IEEE_STATUS_UNF \ - | IEEE_STATUS_INE) -#define IEEE_STATUS_TO_EXCSUM_SHIFT 16 /* convert to excsum */ -#define IEEE_STATUS_TO_FPCR_SHIFT 35 /* convert to fpcr */ - -#define IEEE_INHERIT (1LL << 63) /* inherit on fork */ - -/* read and write floating point control register */ -#define GET_FPCR(x) \ - __asm__("trapb"); \ - __asm__("mf_fpcr %0" : "=f" (x)); \ - __asm__("trapb") -#define SET_FPCR(x) \ - __asm__("trapb"); \ - __asm__("mt_fpcr %0" : : "f" (x)); \ - __asm__("trapb") - -#ifdef _KERNEL -extern int fp_software_completion(u_int64_t regmask, struct thread *td); -#endif - -#endif /* ! _MACHINE_FPU_H_ */ diff --git a/sys/alpha/include/frame.h b/sys/alpha/include/frame.h deleted file mode 100644 index 050f383..0000000 --- a/sys/alpha/include/frame.h +++ /dev/null @@ -1,101 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: frame.h,v 1.4 1997/04/06 08:47:27 cgd Exp */ - -/*- - * Copyright (c) 1994, 1995 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -#ifndef _ALPHA_FRAME_H_ -#define _ALPHA_FRAME_H_ - -#include <machine/alpha_cpu.h> - -/* - * Software trap, exception, and syscall frame. - * - * Includes "hardware" (PALcode) frame. - * - * PALcode puts ALPHA_HWFRAME_* fields on stack. We have to add - * all of the general-purpose registers except for zero, for sp - * (which is automatically saved in the PCB's USP field for entries - * from user mode, and which is implicitly saved and restored by the - * calling conventions for entries from kernel mode), and (on traps - * and exceptions) for a0, a1, and a2 (which are saved by PALcode). - */ - -/* Quadword offsets of the registers to be saved. */ -#define FRAME_V0 0 -#define FRAME_T0 1 -#define FRAME_T1 2 -#define FRAME_T2 3 -#define FRAME_T3 4 -#define FRAME_T4 5 -#define FRAME_T5 6 -#define FRAME_T6 7 -#define FRAME_T7 8 -#define FRAME_S0 9 -#define FRAME_S1 10 -#define FRAME_S2 11 -#define FRAME_S3 12 -#define FRAME_S4 13 -#define FRAME_S5 14 -#define FRAME_S6 15 -#define FRAME_A3 16 -#define FRAME_A4 17 -#define FRAME_A5 18 -#define FRAME_T8 19 -#define FRAME_T9 20 -#define FRAME_T10 21 -#define FRAME_T11 22 -#define FRAME_RA 23 -#define FRAME_T12 24 -#define FRAME_AT 25 -#define FRAME_SP 26 -#define FRAME_FLAGS 27 -#define FRAME_FLAGS_SYSCALL 1 /* partial frame for syscalls */ -/* The following are set only when a signal is to be delivered to a process. */ -#define FRAME_TRAPARG_A0 28 -#define FRAME_TRAPARG_A1 29 -#define FRAME_TRAPARG_A2 30 - -#define FRAME_SW_SIZE (FRAME_TRAPARG_A2 + 1) -#define FRAME_HW_OFFSET FRAME_SW_SIZE - -#define FRAME_PS (FRAME_HW_OFFSET + ALPHA_HWFRAME_PS) -#define FRAME_PC (FRAME_HW_OFFSET + ALPHA_HWFRAME_PC) -#define FRAME_GP (FRAME_HW_OFFSET + ALPHA_HWFRAME_GP) -#define FRAME_A0 (FRAME_HW_OFFSET + ALPHA_HWFRAME_A0) -#define FRAME_A1 (FRAME_HW_OFFSET + ALPHA_HWFRAME_A1) -#define FRAME_A2 (FRAME_HW_OFFSET + ALPHA_HWFRAME_A2) - -#define FRAME_HW_SIZE ALPHA_HWFRAME_SIZE -#define FRAME_SIZE (FRAME_HW_OFFSET + FRAME_HW_SIZE) - -struct trapframe { - unsigned long tf_regs[FRAME_SIZE]; /* See above */ -}; - -#endif /* _ALPHA_FRAME_H_ */ diff --git a/sys/alpha/include/gdb_machdep.h b/sys/alpha/include/gdb_machdep.h deleted file mode 100644 index 7518bd5..0000000 --- a/sys/alpha/include/gdb_machdep.h +++ /dev/null @@ -1,52 +0,0 @@ -/*- - * Copyright (c) 2004 Marcel Moolenaar - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_GDB_MACHDEP_H_ -#define _MACHINE_GDB_MACHDEP_H_ - -#define GDB_BUFSZ 600 -#define GDB_NREGS 67 -#define GDB_REG_PC 64 - -static __inline size_t -gdb_cpu_regsz(int regnum) -{ - return (sizeof(long)); -} - -static __inline int -gdb_cpu_query(void) -{ - return (0); -} - -void *gdb_cpu_getreg(int, size_t *); -void gdb_cpu_setreg(int, void *); -int gdb_cpu_signal(int, int); - -#endif /* !_MACHINE_GDB_MACHDEP_H_ */ diff --git a/sys/alpha/include/ieee.h b/sys/alpha/include/ieee.h deleted file mode 100644 index 0b1f631..0000000 --- a/sys/alpha/include/ieee.h +++ /dev/null @@ -1,115 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: ieee.h,v 1.2 1997/04/06 08:47:27 cgd Exp */ - -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * @(#)ieee.h 8.1 (Berkeley) 6/11/93 - * - * from: Header: ieee.h,v 1.7 92/11/26 02:04:37 torek Exp - */ - -/* - * ieee.h defines the machine-dependent layout of the machine's IEEE - * floating point. It does *not* define (yet?) any of the rounding - * mode bits, exceptions, and so forth. - */ - -/* - * Define the number of bits in each fraction and exponent. - * - * k k+1 - * Note that 1.0 x 2 == 0.1 x 2 and that denorms are represented - * - * (-exp_bias+1) - * as fractions that look like 0.fffff x 2 . This means that - * - * -126 - * the number 0.10000 x 2 , for instance, is the same as the normalized - * - * -127 -128 - * float 1.0 x 2 . Thus, to represent 2 , we need one leading zero - * - * -129 - * in the fraction; to represent 2 , we need two, and so on. This - * - * (-exp_bias-fracbits+1) - * implies that the smallest denormalized number is 2 - * - * for whichever format we are talking about: for single precision, for - * - * -126 -149 - * instance, we get .00000000000000000000001 x 2 , or 1.0 x 2 , and - * - * -149 == -127 - 23 + 1. - */ -#define SNG_EXPBITS 8 -#define SNG_FRACBITS 23 - -#define DBL_EXPBITS 11 -#define DBL_FRACBITS 52 - -struct ieee_single { - u_int sng_frac:23; - u_int sng_exp:8; - u_int sng_sign:1; -}; - -struct ieee_double { - u_int dbl_fracl; - u_int dbl_frach:20; - u_int dbl_exp:11; - u_int dbl_sign:1; -}; - -/* - * Floats whose exponent is in [1..INFNAN) (of whatever type) are - * `normal'. Floats whose exponent is INFNAN are either Inf or NaN. - * Floats whose exponent is zero are either zero (iff all fraction - * bits are zero) or subnormal values. - * - * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its - * high fraction; if the bit is set, it is a `quiet NaN'. - */ -#define SNG_EXP_INFNAN 255 -#define DBL_EXP_INFNAN 2047 - -#if 0 -#define SNG_QUIETNAN (1 << 22) -#define DBL_QUIETNAN (1 << 19) -#endif - -/* - * Exponent biases. - */ -#define SNG_EXP_BIAS 127 -#define DBL_EXP_BIAS 1023 diff --git a/sys/alpha/include/ieeefp.h b/sys/alpha/include/ieeefp.h deleted file mode 100644 index 6fb419e..0000000 --- a/sys/alpha/include/ieeefp.h +++ /dev/null @@ -1,29 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: ieeefp.h,v 1.2 1997/04/06 08:47:28 cgd Exp */ - -/*- - * Written by J.T. Conklin, Apr 28, 1995 - * Public domain. - */ - -#ifndef _ALPHA_IEEEFP_H_ -#define _ALPHA_IEEEFP_H_ - -typedef int fp_except_t; -#define FP_X_INV (1LL << 1) /* invalid operation exception */ -#define FP_X_DZ (1LL << 2) /* divide-by-zero exception */ -#define FP_X_OFL (1LL << 3) /* overflow exception */ -#define FP_X_UFL (1LL << 4) /* underflow exception */ -#define FP_X_IMP (1LL << 5) /* imprecise(inexact) exception */ -#if 0 -#define FP_X_IOV (1LL << 6) /* integer overflow XXX? */ -#endif - -typedef enum { - FP_RZ=0, /* round to zero (truncate) */ - FP_RM=1, /* round toward negative infinity */ - FP_RN=2, /* round to nearest representable number */ - FP_RP=3 /* round toward positive infinity */ -} fp_rnd_t; - -#endif /* _ALPHA_IEEEFP_H_ */ diff --git a/sys/alpha/include/in_cksum.h b/sys/alpha/include/in_cksum.h deleted file mode 100644 index 0992006..0000000 --- a/sys/alpha/include/in_cksum.h +++ /dev/null @@ -1,76 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * from tahoe: in_cksum.c 1.2 86/01/05 - * from: @(#)in_cksum.c 1.3 (Berkeley) 1/19/91 - * from: Id: in_cksum.c,v 1.8 1995/12/03 18:35:19 bde Exp - * $FreeBSD$ - */ - -#ifndef _MACHINE_IN_CKSUM_H_ -#define _MACHINE_IN_CKSUM_H_ 1 - -#include <sys/cdefs.h> - -#define in_cksum(m, len) in_cksum_skip(m, len, 0) - -/* - * It it useful to have an Internet checksum routine which is inlineable - * and optimized specifically for the task of computing IP header checksums - * in the normal case (where there are no options and the header length is - * therefore always exactly five 32-bit words. - */ -#ifdef __CC_SUPPORTS___INLINE - -static __inline void -in_cksum_update(struct ip *ip) -{ - int __tmpsum; - __tmpsum = (int)ntohs(ip->ip_sum) + 256; - ip->ip_sum = htons(__tmpsum + (__tmpsum >> 16)); -} - -#else - -#define in_cksum_update(ip) \ - do { \ - int __tmpsum; \ - __tmpsum = (int)ntohs(ip->ip_sum) + 256; \ - ip->ip_sum = htons(__tmpsum + (__tmpsum >> 16)); \ - } while(0) - -#endif - -#ifdef _KERNEL -u_int in_cksum_hdr(const struct ip *ip); -u_short in_addword(u_short sum, u_short b); -u_short in_pseudo(u_int sum, u_int b, u_int c); -u_short in_cksum_skip(struct mbuf *m, int len, int skip); -#endif - -#endif /* _MACHINE_IN_CKSUM_H_ */ diff --git a/sys/alpha/include/inst.h b/sys/alpha/include/inst.h deleted file mode 100644 index b4088bc..0000000 --- a/sys/alpha/include/inst.h +++ /dev/null @@ -1,462 +0,0 @@ -/*- - * Copyright (c) 1998 Doug Rabson - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_INST_H_ -#define _MACHINE_INST_H_ - -union alpha_instruction { - u_int32_t word; - struct { - u_int32_t argument : 26; - u_int32_t opcode : 6; -#define op_call_pal 0x00 -#define op_lda 0x08 -#define op_ldah 0x09 -#define op_ldbu 0x0a -#define op_unop 0x0b -#define op_ldq_u 0x0b -#define op_ldwu 0x0c -#define op_stw 0x0d -#define op_stb 0x0e -#define op_stq_u 0x0f -#define op_inta 0x10 -#define inta_addl 0x00 -#define inta_s4addl 0x02 -#define inta_subl 0x09 -#define inta_s4subl 0x0b -#define inta_cmpbge 0x0f -#define inta_s8addl 0x12 -#define inta_s8subl 0x1b -#define inta_cmpult 0x1d -#define inta_addq 0x20 -#define inta_s4addq 0x22 -#define inta_subq 0x29 -#define inta_s4subq 0x2b -#define inta_cmpeq 0x2d -#define inta_s8addq 0x32 -#define inta_s8subq 0x3b -#define inta_cmpule 0x3d -#define inta_addlv 0x40 -#define inta_sublv 0x49 -#define inta_cmplt 0x4d -#define inta_addqv 0x60 -#define inta_subqv 0x69 -#define inta_cmple 0x6d -#define op_intl 0x11 -#define intl_and 0x00 -#define intl_andnot 0x08 -#define intl_bic 0x08 -#define intl_cmovlbs 0x14 -#define intl_cmovlbc 0x16 -#define intl_or 0x20 -#define intl_bis 0x20 -#define intl_cmoveq 0x24 -#define intl_cmovne 0x26 -#define intl_ornot 0x28 -#define intl_xor 0x40 -#define intl_cmovlt 0x44 -#define intl_cmovge 0x46 -#define intl_eqv 0x48 -#define intl_amask 0x61 -#define intl_cmovle 0x64 -#define intl_cmovgt 0x66 -#define intl_implver 0x6c -#define op_ints 0x12 -#define ints_mskbl 0x02 -#define ints_extbl 0x06 -#define ints_insbl 0x0b -#define ints_mskwl 0x12 -#define ints_extwl 0x16 -#define ints_inswl 0x1b -#define ints_mskll 0x22 -#define ints_extll 0x26 -#define ints_insll 0x2b -#define ints_zap 0x30 -#define ints_zapnot 0x31 -#define ints_mskql 0x32 -#define ints_srl 0x34 -#define ints_extql 0x36 -#define ints_sll 0x39 -#define ints_insql 0x3b -#define ints_sra 0x3c -#define ints_mskwh 0x52 -#define ints_inswh 0x57 -#define ints_extwh 0x5a -#define ints_msklh 0x62 -#define ints_inslh 0x67 -#define ints_extlh 0x6a -#define ints_mskqh 0x72 -#define ints_insqh 0x77 -#define ints_extqh 0x7a -#define op_intm 0x13 -#define intm_mull 0x00 -#define intm_mulq 0x20 -#define intm_umulh 0x30 -#define intm_mullv 0x40 -#define intm_mulqv 0x60 -#define op_opc14 0x14 -#define op_fltv 0x15 -#define op_flti 0x16 -#define flti_addsc 0x000 -#define flti_subsc 0x001 -#define flti_mulsc 0x002 -#define flti_divsc 0x003 -#define flti_addtc 0x020 -#define flti_subtc 0x021 -#define flti_multc 0x022 -#define flti_divtc 0x023 -#define flti_cvttsc 0x02c -#define flti_cvttqc 0x02f -#define flti_cvtqsc 0x03c -#define flti_cvtqtc 0x03e - -#define flti_addsm 0x040 -#define flti_subsm 0x041 -#define flti_mulsm 0x042 -#define flti_divsm 0x043 -#define flti_addtm 0x060 -#define flti_subtm 0x061 -#define flti_multm 0x062 -#define flti_divtm 0x063 -#define flti_cvttsm 0x06c -#define flti_cvttqm 0x06f -#define flti_cvtqsm 0x07c -#define flti_cvtqtm 0x07e - -#define flti_adds 0x080 -#define flti_subs 0x081 -#define flti_muls 0x082 -#define flti_divs 0x083 - -#define flti_addt 0x0a0 -#define flti_subt 0x0a1 -#define flti_mult 0x0a2 -#define flti_divt 0x0a3 -#define flti_cmptun 0x0a4 -#define flti_cmpteq 0x0a5 -#define flti_cmptlt 0x0a6 -#define flti_cmptle 0x0a7 -#define flti_cvtts 0x0ac -#define flti_cvttq 0x0af -#define flti_cvtqs 0x0bc -#define flti_cvtqt 0x0be - -#define flti_addsd 0x0c0 -#define flti_subsd 0x0c1 -#define flti_mulsd 0x0c2 -#define flti_divsd 0x0c3 -#define flti_addtd 0x0e0 -#define flti_subtd 0x0e1 -#define flti_multd 0x0e2 -#define flti_divtd 0x0e3 -#define flti_cvttsd 0x0ec -#define flti_cvttqd 0x0ef -#define flti_cvtqsd 0x0fc -#define flti_cvtqtd 0x0fe - -#define flti_addsuc 0x100 -#define flti_subsuc 0x101 -#define flti_mulsuc 0x102 -#define flti_divsuc 0x103 -#define flti_addtuc 0x120 -#define flti_subtuc 0x121 -#define flti_multuc 0x122 -#define flti_divtuc 0x123 -#define flti_cvttsuc 0x12c -#define flti_cvttqvc 0x12f - -#define flti_addsum 0x140 -#define flti_subsum 0x141 -#define flti_mulsum 0x142 -#define flti_divsum 0x143 -#define flti_addtum 0x160 -#define flti_subtum 0x161 -#define flti_multum 0x162 -#define flti_divtum 0x163 -#define flti_cvttsum 0x16c -#define flti_cvttqvm 0x16f - -#define flti_addsu 0x180 -#define flti_subsu 0x181 -#define flti_mulsu 0x182 -#define flti_divsu 0x183 -#define flti_addtu 0x1a0 -#define flti_subtu 0x1a1 -#define flti_multu 0x1a2 -#define flti_divtu 0x1a3 -#define flti_cvttsu 0x1ac -#define flti_cvttqv 0x1af - -#define flti_addsud 0x1c0 -#define flti_subsud 0x1c1 -#define flti_mulsud 0x1c2 -#define flti_divsud 0x1c3 -#define flti_addtud 0x1e0 -#define flti_subtud 0x1e1 -#define flti_multud 0x1e2 -#define flti_divtud 0x1e3 -#define flti_cvttsud 0x1ec -#define flti_cvttqvd 0x1ef - -#define flti_cvtst 0x2ac - -#define flti_addssuc 0x500 -#define flti_subssuc 0x501 -#define flti_mulssuc 0x502 -#define flti_divssuc 0x503 -#define flti_addtsuc 0x520 -#define flti_subtsuc 0x521 -#define flti_multsuc 0x522 -#define flti_divtsuc 0x523 -#define flti_cvttssuc 0x52c -#define flti_cvttqsvc 0x52f - -#define flti_addssum 0x540 -#define flti_subssum 0x541 -#define flti_mulssum 0x542 -#define flti_divssum 0x543 -#define flti_addtsum 0x560 -#define flti_subtsum 0x561 -#define flti_multsum 0x562 -#define flti_divtsum 0x563 -#define flti_cvttssum 0x56c -#define flti_cvttqsvm 0x56f - -#define flti_addssu 0x580 -#define flti_subssu 0x581 -#define flti_mulssu 0x582 -#define flti_divssu 0x583 -#define flti_addtsu 0x5a0 -#define flti_subtsu 0x5a1 -#define flti_multsu 0x5a2 -#define flti_divtsu 0x5a3 -#define flti_cmptunsu 0x5a4 -#define flti_cmpteqsu 0x5a5 -#define flti_cmptltsu 0x5a6 -#define flti_cmptlesu 0x5a7 -#define flti_cvttssu 0x5ac -#define flti_cvttqsv 0x5af - -#define flti_addssud 0x5c0 -#define flti_subssud 0x5c1 -#define flti_mulssud 0x5c2 -#define flti_divssud 0x5c3 -#define flti_addtsud 0x5e0 -#define flti_subtsud 0x5e1 -#define flti_multsud 0x5e2 -#define flti_divtsud 0x5e3 -#define flti_cvttssud 0x5ec -#define flti_cvttqsvd 0x5ef - -#define flti_cvtsts 0x6ac - -#define flti_addssuic 0x700 -#define flti_subssuic 0x701 -#define flti_mulssuic 0x702 -#define flti_divssuic 0x703 -#define flti_addtsuic 0x720 -#define flti_subtsuic 0x721 -#define flti_multsuic 0x722 -#define flti_divtsuic 0x723 -#define flti_cvttssuic 0x72c -#define flti_cvttqsvic 0x72f -#define flti_cvtqssuic 0x73c -#define flti_cvtqtsuic 0x73e - -#define flti_addssuim 0x740 -#define flti_subssuim 0x741 -#define flti_mulssuim 0x742 -#define flti_divssuim 0x743 -#define flti_addtsuim 0x760 -#define flti_subtsuim 0x761 -#define flti_multsuim 0x762 -#define flti_divtsuim 0x763 -#define flti_cvttssuim 0x76c -#define flti_cvttqsvim 0x76f -#define flti_cvtqssuim 0x77c -#define flti_cvtqtsuim 0x77e - -#define flti_addssui 0x780 -#define flti_subssui 0x781 -#define flti_mulssui 0x782 -#define flti_divssui 0x783 -#define flti_addtsui 0x7a0 -#define flti_subtsui 0x7a1 -#define flti_multsui 0x7a2 -#define flti_divtsui 0x7a3 -#define flti_cmptunsui 0x7a4 -#define flti_cmpteqsui 0x7a5 -#define flti_cmptltsui 0x7a6 -#define flti_cmptlesui 0x7a7 -#define flti_cvttssui 0x7ac -#define flti_cvttqsvi 0x7af -#define flti_cvtqssui 0x7bc -#define flti_cvtqtsui 0x7bc - -#define flti_addssuid 0x7c0 -#define flti_subssuid 0x7c1 -#define flti_mulssuid 0x7c2 -#define flti_divssuid 0x7c3 -#define flti_addtsuid 0x7e0 -#define flti_subtsuid 0x7e1 -#define flti_multsuid 0x7e2 -#define flti_divtsuid 0x7e3 -#define flti_cvttssuid 0x7ec -#define flti_cvttqsvid 0x7ef -#define flti_cvtqssuid 0x7fc -#define flti_cvtqtsuid 0x7fc - -#define op_fltl 0x17 -#define fltl_cvtlq 0x010 -#define fltl_cpys 0x020 -#define fltl_cpysn 0x021 -#define fltl_cpyse 0x022 -#define fltl_mt_fpcr 0x024 -#define fltl_mf_fpcr 0x025 -#define fltl_fcmoveq 0x02a -#define fltl_fcmovne 0x02b -#define fltl_fcmovlt 0x02c -#define fltl_fcmovge 0x02d -#define fltl_fcmovle 0x02e -#define fltl_fcmovgt 0x02f -#define fltl_cvtql 0x030 -#define fltl_cvtqlv 0x130 -#define fltl_cvtqlsv 0x530 - -#define op_misc 0x18 -#define misc_trapb 0x0000 -#define misc_excb 0x0400 -#define misc_mb 0x4000 -#define misc_wmb 0x4400 -#define misc_fetch 0x8000 -#define misc_fetch_m 0xa000 -#define misc_rpcc 0xc000 -#define misc_rc 0xe000 -#define misc_ecb 0xe800 -#define misc_rs 0xf000 -#define misc_wh64 0xf800 - -#define op_pal19 0x19 -#define op_jsr 0x1a -#define op_pal1b 0x1b -#define op_pal1c 0x1c -#define op_pal1d 0x1d -#define op_pal1e 0x1e -#define op_pal1f 0x1f -#define op_ldf 0x20 -#define op_ldg 0x21 -#define op_lds 0x22 -#define op_ldt 0x23 -#define op_stf 0x24 -#define op_stg 0x25 -#define op_sts 0x26 -#define op_stt 0x27 -#define op_ldl 0x28 -#define op_ldq 0x29 -#define op_ldl_l 0x2a -#define op_ldq_l 0x2b -#define op_stl 0x2c -#define op_stq 0x2d -#define op_stl_c 0x2e -#define op_stq_c 0x2f -#define op_br 0x30 -#define op_fbeq 0x31 -#define op_fblt 0x32 -#define op_fble 0x33 -#define op_bsr 0x34 -#define op_fbne 0x35 -#define op_fbge 0x36 -#define op_fbgt 0x37 -#define op_blbc 0x38 -#define op_beq 0x39 -#define op_blt 0x3a -#define op_ble 0x3b -#define op_blbs 0x3c -#define op_bne 0x3d -#define op_bge 0x3e -#define op_bgt 0x3f - } common; - struct { - u_int32_t function : 16; - u_int32_t rb : 5; - u_int32_t ra : 5; - u_int32_t opcode : 6; - } memory_format; - struct { - u_int32_t hint : 14; - u_int32_t function : 2; -#define jsr_jmp 0 -#define jsr_jsr 1 -#define jsr_ret 2 -#define jsr_jsr_coroutine 3 - u_int32_t rb : 5; - u_int32_t ra : 5; - u_int32_t opcode : 6; - } j_format; - struct { - int32_t memory_displacement : 16; - u_int32_t rb : 5; - u_int32_t ra : 5; - u_int32_t opcode : 6; - } m_format; - struct { - u_int32_t rc : 5; - u_int32_t function : 7; - u_int32_t form : 1; - u_int32_t sbz : 3; - u_int32_t rb : 5; - u_int32_t ra : 5; - u_int32_t opcode : 6; - } o_format; - struct { - u_int32_t rc : 5; - u_int32_t function : 7; - u_int32_t form : 1; - u_int32_t literal : 8; - u_int32_t ra : 5; - u_int32_t opcode : 6; - } l_format; - struct { - u_int32_t fc : 5; - u_int32_t function : 11; - u_int32_t fb : 5; - u_int32_t fa : 5; - u_int32_t opcode : 6; - } f_format; - struct { - u_int32_t function : 26; - u_int32_t opcode : 6; - } pal_format; - struct { - int32_t branch_displacement : 21; - u_int32_t ra : 5; - u_int32_t opcode : 6; - } b_format; -}; - -#endif /* _MACHINE_INST_H_ */ diff --git a/sys/alpha/include/intr.h b/sys/alpha/include/intr.h deleted file mode 100644 index 90a0bbf..0000000 --- a/sys/alpha/include/intr.h +++ /dev/null @@ -1,41 +0,0 @@ -/*- - * Copyright (c) 1998 Doug Rabson - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_INTR_H_ -#define _MACHINE_INTR_H_ - -extern struct mtx icu_lock; - -int alpha_setup_intr(const char *name, uintptr_t vector, - driver_intr_t handler, void *arg, enum intr_type flags, - void **cookiep, volatile long *cntp, - void (*disable)(uintptr_t), void (*enable)(uintptr_t)); -int alpha_teardown_intr(void *cookie); -void alpha_dispatch_intr(void *frame, unsigned long vector); - -#endif /* !_MACHINE_INTR_H_ */ diff --git a/sys/alpha/include/intrcnt.h b/sys/alpha/include/intrcnt.h deleted file mode 100644 index 2c1b897..0000000 --- a/sys/alpha/include/intrcnt.h +++ /dev/null @@ -1,73 +0,0 @@ -/* $FreeBSD$ */ -/* $NetBSD: intrcnt.h,v 1.17 1998/11/19 01:48:04 ross Exp $ */ - -/*- - * Copyright (c) 1995, 1996 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -#define INTRCNT_CLOCK 0 -#define INTRCNT_ISA_IRQ (INTRCNT_CLOCK + 1) -#define INTRCNT_ISA_IRQ_LEN 16 -#define INTRCNT_OTHER_BASE (INTRCNT_ISA_IRQ + INTRCNT_ISA_IRQ_LEN) -#define INTRCNT_OTHER_LEN 48 -#define INTRCNT_COUNT (INTRCNT_OTHER_BASE + INTRCNT_OTHER_LEN) - -#define INTRCNT_A12_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_DEC_1000A_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_DEC_1000_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_DEC_2100_A500_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_DEC_550_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_EB164_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_EB64PLUS_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_EB66_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_IOASIC INTRCNT_OTHER_BASE -#define INTRCNT_KN15 INTRCNT_OTHER_BASE -#define INTRCNT_KN16 INTRCNT_OTHER_BASE -#define INTRCNT_KN20AA_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_KN300_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_KN8AE_IRQ INTRCNT_OTHER_BASE -#define INTRCNT_TCDS INTRCNT_OTHER_BASE - -#define INTRCNT_A12_IRQ_LEN 10 -#define INTRCNT_DEC_1000A_IRQ_LEN 32 -#define INTRCNT_DEC_1000_IRQ_LEN 16 -#define INTRCNT_DEC_2100_A500_IRQ_LEN 16 -#define INTRCNT_DEC_550_IRQ_LEN 48 -#define INTRCNT_EB164_IRQ_LEN 24 -#define INTRCNT_EB64PLUS_IRQ_LEN 32 -#define INTRCNT_EB66_IRQ_LEN 32 -#define INTRCNT_IOASIC_LEN 4 -#define INTRCNT_ISA_IRQ_LEN 16 -#define INTRCNT_KN15_LEN 9 -#define INTRCNT_KN16_LEN 5 -#define INTRCNT_KN20AA_IRQ_LEN 32 -#define INTRCNT_KN300_LEN 19 -#define INTRCNT_KN8AE_IRQ_LEN 2 -#define INTRCNT_TCDS_LEN 2 - -# define INTRCNT_KN300_NCR810 INTRCNT_KN300_IRQ + 16 -# define INTRCNT_KN300_I2C_CTRL INTRCNT_KN300_IRQ + 17 -# define INTRCNT_KN300_I2C_BUS INTRCNT_KN300_IRQ + 18 diff --git a/sys/alpha/include/ioctl_bt848.h b/sys/alpha/include/ioctl_bt848.h deleted file mode 100644 index ca83a36..0000000 --- a/sys/alpha/include/ioctl_bt848.h +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * Copyright (c) 2003 David O'Brien - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_IOCTL_BT848_H_ -#define _MACHINE_IOCTL_BT848_H_ - -#include <sys/cdefs.h> - -#ifdef __CC_SUPPORTS_WARNING -#warning Include dev/bktr/ioctl_bt848.h instead of this header. -#endif - -#include <dev/bktr/ioctl_bt848.h> - -#endif /* _MACHINE_IOCTL_BT848_H_ */ diff --git a/sys/alpha/include/ioctl_meteor.h b/sys/alpha/include/ioctl_meteor.h deleted file mode 100644 index 0322f1e..0000000 --- a/sys/alpha/include/ioctl_meteor.h +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * Copyright (c) 2003 David O'Brien - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_IOCTL_METEOR_H_ -#define _MACHINE_IOCTL_METEOR_H_ - -#include <sys/cdefs.h> - -#ifdef __CC_SUPPORTS_WARNING -#warning Include dev/bktr/ioctl_meteor.h instead of this header. -#endif - -#include <dev/bktr/ioctl_meteor.h> - -#endif /* _MACHINE_IOCTL_METEOR_H_ */ diff --git a/sys/alpha/include/kdb.h b/sys/alpha/include/kdb.h deleted file mode 100644 index fb08d4b..0000000 --- a/sys/alpha/include/kdb.h +++ /dev/null @@ -1,51 +0,0 @@ -/*- - * Copyright (c) 2004 Marcel Moolenaar - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_KDB_H_ -#define _MACHINE_KDB_H_ - -#include <machine/frame.h> - -#define KDB_STOPPEDPCB(pc) &stoppcbs[pc->pc_cpuid] - -static __inline void -kdb_cpu_clear_singlestep(void) -{ -} - -static __inline void -kdb_cpu_set_singlestep(void) -{ -} - -static __inline void -kdb_cpu_trap(int vector, int _) -{ -} - -#endif /* _MACHINE_KDB_H_ */ diff --git a/sys/alpha/include/limits.h b/sys/alpha/include/limits.h deleted file mode 100644 index 9444760..0000000 --- a/sys/alpha/include/limits.h +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * @(#)limits.h 8.3 (Berkeley) 1/4/94 - * From: NetBSD: limits.h,v 1.3 1997/04/06 08:47:31 cgd Exp - * $FreeBSD$ - */ - -#ifndef _MACHINE_LIMITS_H_ -#define _MACHINE_LIMITS_H_ - -#include <sys/cdefs.h> - -#ifdef __CC_SUPPORTS_WARNING -#warning "machine/limits.h is deprecated. Include sys/limits.h instead." -#endif - -#include <sys/limits.h> - -#endif /* !_MACHINE_LIMITS_H_ */ diff --git a/sys/alpha/include/md_var.h b/sys/alpha/include/md_var.h deleted file mode 100644 index d576647..0000000 --- a/sys/alpha/include/md_var.h +++ /dev/null @@ -1,110 +0,0 @@ -/*- - * Copyright (c) 1998 Doug Rabson - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_MD_VAR_H_ -#define _MACHINE_MD_VAR_H_ - -/* - * Miscellaneous machine-dependent declarations. - */ - -struct cam_sim; -struct reg; -struct rpb; -struct thread; -struct trapframe; - -extern char sigcode[]; -extern char esigcode[]; -extern int szsigcode; -#ifdef COMPAT_43 -extern int szosigcode; -#endif -#ifdef COMPAT_FREEBSD4 -extern int szfreebsd4_sigcode; -#endif -extern long Maxmem; -extern int busdma_swi_pending; -extern struct rpb *hwrpb; -extern volatile int mc_expected; -extern volatile int mc_received; - -void XentArith(u_int64_t, u_int64_t, u_int64_t); /* MAGIC */ -void XentIF(u_int64_t, u_int64_t, u_int64_t); /* MAGIC */ -void XentInt(u_int64_t, u_int64_t, u_int64_t); /* MAGIC */ -void XentMM(u_int64_t, u_int64_t, u_int64_t); /* MAGIC */ -void XentRestart(void); /* MAGIC */ -void XentSys(u_int64_t, u_int64_t, u_int64_t); /* MAGIC */ -void XentUna(u_int64_t, u_int64_t, u_int64_t); /* MAGIC */ -void alpha_fpstate_check(struct thread *td); -void alpha_fpstate_drop(struct thread *td); -void alpha_fpstate_save(struct thread *td, int write); -void alpha_fpstate_switch(struct thread *td); -void alpha_init(u_long, u_long, u_long, u_long, u_long); -int alpha_pa_access(u_long); -void alpha_register_pci_scsi(int bus, int slot, struct cam_sim *sim); -int badaddr(void *, size_t); -int badaddr_read(void *, size_t, void *); -void busdma_swi(void); -u_int64_t console_restart(u_int64_t, u_int64_t, u_int64_t); -void dumpconf(void); -void exception_return(void); /* MAGIC */ -void frametoreg(struct trapframe *, struct reg *); -long fswintrberr(void); /* MAGIC */ -u_int64_t hwrpb_checksum(void); -void hwrpb_restart_setup(void); -void init_prom_interface(struct rpb*); -void interrupt(unsigned long, unsigned long, unsigned long, - struct trapframe *); -int is_physical_memory(vm_offset_t addr); -void machine_check(unsigned long, struct trapframe *, unsigned long, - unsigned long); -void regdump(struct trapframe *); -void regtoframe(struct reg *, struct trapframe *); -void set_iointr(void (*)(void *, unsigned long)); -void switch_exit(struct thread *); /* MAGIC */ -void syscall(u_int64_t, struct trapframe *); -void trap(unsigned long, unsigned long, unsigned long, unsigned long, - struct trapframe *); - -#ifdef _SYS_BUS_H_ -struct resource *alpha_platform_alloc_ide_intr(int chan); -int alpha_platform_release_ide_intr(int chan, struct resource *res); -int alpha_platform_setup_ide_intr(struct device *dev, struct resource *res, - driver_intr_t *fn, void *arg, void **cookiep); -int alpha_platform_teardown_ide_intr(struct device *dev, - struct resource *res, void *cookie); -int alpha_platform_pci_setup_intr(device_t dev, device_t child, - struct resource *irq, int flags, driver_intr_t *intr, void *arg, - void **cookiep); -int alpha_platform_pci_teardown_intr(device_t dev, device_t child, - struct resource *irq, void *cookie); -int alpha_pci_route_interrupt(device_t bus, device_t dev, int pin); -#endif - -#endif /* !_MACHINE_MD_VAR_H_ */ diff --git a/sys/alpha/include/memdev.h b/sys/alpha/include/memdev.h deleted file mode 100644 index 32cc1fc..0000000 --- a/sys/alpha/include/memdev.h +++ /dev/null @@ -1,38 +0,0 @@ -/*- - * Copyright (c) 2004 Mark R V Murray - * All rights reserved. - * - * 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 - * in this position and unchanged. - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#define CDEV_MAJOR 2 -#define CDEV_MINOR_MEM 0 -#define CDEV_MINOR_KMEM 1 - -d_open_t memopen; -d_read_t memrw; -#define memioctl (d_ioctl_t *)NULL -d_mmap_t memmmap; - -void dev_mem_md_init(void); diff --git a/sys/alpha/include/mutex.h b/sys/alpha/include/mutex.h deleted file mode 100644 index 7300c08..0000000 --- a/sys/alpha/include/mutex.h +++ /dev/null @@ -1,74 +0,0 @@ -/*- - * Copyright (c) 1997 Berkeley Software Design, Inc. All rights reserved. - * - * 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. Berkeley Software Design Inc's name may not be used to endorse or - * promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY BERKELEY SOFTWARE DESIGN INC ``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 BERKELEY SOFTWARE DESIGN INC 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. - * - * from BSDI $Id: mutex.h,v 2.7.2.35 2000/04/27 03:10:26 cp Exp $ - * $FreeBSD$ - */ - -#ifndef _MACHINE_MUTEX_H_ -#define _MACHINE_MUTEX_H_ - -#ifndef LOCORE - -#ifdef _KERNEL - -/* Global locks */ -extern struct mtx clock_lock; - -#endif /* _KERNEL */ - -#else /* !LOCORE */ - -/* - * Simple assembly macros to get and release non-recursive spin locks - * - * XXX: These are presently unused and cannot be used right now. Need to be - * re-written (they are wrong). If you plan to use this and still see - * this message, know not to unless you fix them first! :-) - */ -#define MTX_ENTER(lck) \ - ldiq a0, ALPHA_PSL_IPL_HIGH; \ - call_pal PAL_OSF1_swpipl; \ -1: ldq_l a0, lck+MTX_LOCK; \ - cmpeq a0, MTX_UNOWNED, a1; \ - beq a1, 1b; \ - ldq a0, PC_CURTHREAD(pcpup); \ - stq_c a0, lck+MTX_LOCK; \ - beq a0, 1b; \ - mb; \ - stl v0, lck+MTX_SAVEINTR - -#define MTX_EXIT(lck) \ - mb; \ - ldiq a0, MTX_UNOWNED; \ - stq a0, lck+MTX_LOCK; \ - ldl a0, lck+MTX_SAVEINTR; \ - call_pal PAL_OSF1_swpipl - -#endif /* !LOCORE */ - -#endif /* __MACHINE_MUTEX_H */ diff --git a/sys/alpha/include/pal.h b/sys/alpha/include/pal.h deleted file mode 100644 index 73426af..0000000 --- a/sys/alpha/include/pal.h +++ /dev/null @@ -1,93 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: pal.h,v 1.1 1997/09/06 01:23:53 thorpej Exp */ - -/*- - * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ - -/* - * PAL "function" codes (used as arguments to call_pal instructions). - * - * Those marked with "P" are privileged, and those marked with "U" - * are unprivileged. - */ - -/* Common PAL function codes. */ -#define PAL_halt 0x0000 /* P */ -#define PAL_cflush 0x0001 /* P */ -#define PAL_draina 0x0002 /* P */ -#define PAL_cserve 0x0009 /* P */ -#define PAL_swppal 0x000a /* P */ -#define PAL_ipir 0x000d /* P */ -#define PAL_bpt 0x0080 /* U */ -#define PAL_bugchk 0x0081 /* U */ -#define PAL_imb 0x0086 /* U */ -#define PAL_rdunique 0x009e /* U */ -#define PAL_wrunique 0x009f /* U */ -#define PAL_gentrap 0x00aa /* U */ - -/* VMS PAL function codes. */ -#define PAL_VMS_ldqp 0x0003 /* P */ -#define PAL_VMS_stqp 0x0004 /* P */ -#define PAL_VMS_mtpr_fen 0x000c /* P */ -#define PAL_VMS_mtpr_ipir 0x000d /* P */ -#define PAL_VMS_mfpr_ipl 0x000e /* P */ -#define PAL_VMS_mtpr_ipl 0x000f /* P */ -#define PAL_VMS_mfpr_mces 0x0010 /* P */ -#define PAL_VMS_mtpr_mces 0x0011 /* P */ -#define PAL_VMS_mfpr_prbr 0x0013 /* P */ -#define PAL_VMS_mtpr_prbr 0x0014 /* P */ -#define PAL_VMS_mfpr_ptbr 0x0015 /* P */ -#define PAL_VMS_mtpr_scbb 0x0017 /* P */ -#define PAL_VMS_mtpr_sirr 0x0018 /* P */ -#define PAL_VMS_mtpr_tbia 0x001b /* P */ -#define PAL_VMS_mtpr_tbiap 0x001c /* P */ -#define PAL_VMS_mtpr_tbis 0x001d /* P */ -#define PAL_VMS_mfpr_usp 0x0022 /* P */ -#define PAL_VMS_mtpr_usp 0x0023 /* P */ -#define PAL_VMS_mfpr_vptb 0x0029 /* P */ -#define PAL_VMS_mfpr_whami 0x003f /* P */ -#define PAL_VMS_rei 0x0092 /* U */ - -/* OSF/1 PAL function codes. */ -#define PAL_OSF1_rdmces 0x0010 /* P */ -#define PAL_OSF1_wrmces 0x0011 /* P */ -#define PAL_OSF1_wrfen 0x002b /* P */ -#define PAL_OSF1_wrvptptr 0x002d /* P */ -#define PAL_OSF1_swpctx 0x0030 /* P */ -#define PAL_OSF1_wrval 0x0031 /* P */ -#define PAL_OSF1_rdval 0x0032 /* P */ -#define PAL_OSF1_tbi 0x0033 /* P */ -#define PAL_OSF1_wrent 0x0034 /* P */ -#define PAL_OSF1_swpipl 0x0035 /* P */ -#define PAL_OSF1_rdps 0x0036 /* P */ -#define PAL_OSF1_wrkgp 0x0037 /* P */ -#define PAL_OSF1_wrusp 0x0038 /* P */ -#define PAL_OSF1_wrperfmon 0x0039 /* P */ -#define PAL_OSF1_rdusp 0x003a /* P */ -#define PAL_OSF1_whami 0x003c /* P */ -#define PAL_OSF1_retsys 0x003d /* P */ -#define PAL_OSF1_rti 0x003f /* P */ -#define PAL_OSF1_callsys 0x0083 /* U */ -#define PAL_OSF1_imb 0x0086 /* U */ diff --git a/sys/alpha/include/param.h b/sys/alpha/include/param.h deleted file mode 100644 index 56c5a84..0000000 --- a/sys/alpha/include/param.h +++ /dev/null @@ -1,125 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: param.h,v 1.20 1997/09/19 13:52:53 leo Exp */ - -/*- - * Copyright (c) 1988 University of Utah. - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * the Systems Programming Group of the University of Utah Computer - * Science Department and Ralph Campbell. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * from: Utah $Hdr: machparam.h 1.11 89/08/14$ - * - * @(#)param.h 8.1 (Berkeley) 6/10/93 - */ - -/* - * Machine dependent constants for the Alpha. - */ - -/* - * Round p (pointer or byte index) up to a correctly-aligned value for all - * data types (int, long, ...). The result is u_long and must be cast to - * any desired pointer type. - * - * ALIGNED_POINTER is a boolean macro that checks whether an address - * is valid to fetch data elements of type t from on this architecture. - * This does not reflect the optimal alignment, just the possibility - * (within reasonable limits). - * - */ -#ifndef _ALIGNBYTES -#define _ALIGNBYTES 7 -#endif -#ifndef _ALIGN -#define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) -#endif -#ifndef _ALIGNED_POINTER -#define _ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t)-1)) == 0) -#endif - -#ifndef _NO_NAMESPACE_POLLUTION - -#define __PCI_REROUTE_INTERRUPT - -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - -#ifndef MACHINE -#define MACHINE "alpha" -#endif -#ifndef MACHINE_ARCH -#define MACHINE_ARCH "alpha" -#endif -#define MID_MACHINE MID_ALPHA - -#include <machine/alpha_cpu.h> -#include <machine/cpu.h> - -#define MAXSMPCPU 8 -#ifdef SMP -#define MAXCPU MAXSMPCPU -#else -#define MAXCPU 1 -#endif - -#define ALIGNBYTES _ALIGNBYTES -#define ALIGN(p) _ALIGN(p) -#define ALIGNED_POINTER(p,t) _ALIGNED_POINTER(p,t) - -#define PAGE_SIZE (1 << ALPHA_PGSHIFT) /* bytes/page */ -#define PAGE_SHIFT ALPHA_PGSHIFT -#define PAGE_MASK (PAGE_SIZE-1) -#define NPTEPG (PAGE_SIZE/(sizeof (pt_entry_t))) - -#define KERNBASE 0xfffffc0000300000LL /* start of kernel virtual */ -#define BTOPKERNBASE ((u_long)KERNBASE >> PGSHIFT) - -#ifndef KSTACK_PAGES -#define KSTACK_PAGES 2 /* pages of kstack (with pcb) */ -#endif -#define KSTACK_GUARD_PAGES 1 /* pages of kstack guard; 0 disables */ - - -/* - * Mach derived conversion macros - */ -#define round_page(x) ((((unsigned long)(x)) + PAGE_MASK) & ~(PAGE_MASK)) -#define trunc_page(x) ((unsigned long)(x) & ~(PAGE_MASK)) - -#define atop(x) ((unsigned long)(x) >> PAGE_SHIFT) -#define ptoa(x) ((unsigned long)(x) << PAGE_SHIFT) - -#define alpha_btop(x) ((unsigned long)(x) >> PAGE_SHIFT) -#define alpha_ptob(x) ((unsigned long)(x) << PAGE_SHIFT) - -#define pgtok(x) ((x) * (PAGE_SIZE / 1024)) - -#endif /* !_MACHINE_PARAM_H_ */ -#endif /* !_NO_NAMESPACE_POLLUTION */ diff --git a/sys/alpha/include/pc/bios.h b/sys/alpha/include/pc/bios.h deleted file mode 100644 index ff5edd6..0000000 --- a/sys/alpha/include/pc/bios.h +++ /dev/null @@ -1,112 +0,0 @@ -/*- - * Copyright (c) 1997 Michael Smith - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - * from: i386/include/pc bios.h,v 1.2 - */ - -/* - * Signature structure for the BIOS32 Service Directory header - */ -struct bios32_SDheader -{ - u_int8_t sig[4]; - u_int32_t entry; - u_int8_t revision; - u_int8_t len; - u_int8_t cksum; - u_int8_t pad[5]; -}; - -/* - * BIOS32 Service Directory entry. Caller supplies name, bios32_SDlookup - * fills in the rest of the details. - */ -struct bios32_SDentry -{ - union - { - u_int8_t name[4]; /* service identifier */ - u_int32_t id; /* as a 32-bit value */ - } ident; - u_int32_t base; /* base of service */ - u_int32_t len; /* service length */ - u_int32_t entry; /* entrypoint offset from base */ -}; - -extern int bios32_SDlookup(struct bios32_SDentry *ent); -extern u_int32_t bios_sigsearch(u_int32_t start, u_char *sig, int siglen, - int paralen, int sigofs); - -/* - * Call a 32-bit BIOS function - */ -struct bios32_args { - u_long eax; - u_long ebx; - u_long ecx; - u_long edx; -}; -extern void bios32(caddr_t func_addr, struct bios32_args *args); - -#define BIOS_PADDRTOVADDR(x) (x) -#define BIOS_VADDRTOPADDR(x) (x) - -/* - * System Management BIOS / Desktop Management Interface tables - */ - -struct DMI_table -{ - u_int8_t sig[5]; /* "_DMI_" */ - u_int8_t cksum; /* checksum */ - u_int16_t st_size; /* total length of SMBIOS table (bytes)*/ - u_int32_t st_base; /* base address of the SMBIOS table (physical) */ - u_int16_t st_entries; /* total number of structures present in the table */ - u_int8_t bcd_revision; /* interface revision number */ -}; - -struct SMBIOS_table -{ - u_int8_t sig[4]; /* "_SM_" */ - u_int8_t cksum; /* checksum */ - u_int8_t len; /* structure length */ - u_int8_t major, minor; /* major/minor revision numbers */ - u_int16_t st_maxsize; /* largest structure size (bytes) */ - u_int8_t revision; /* entrypoint revision */ - u_int8_t pad[5]; - struct DMI_table dmi; /* follows immediately */ -}; - - -/* - * Exported lookup results - */ -extern struct bios32_SDentry PCIbios; -extern struct SMBIOS_table *SMBIOS_table; -extern struct DMI_table *DMI_table; - - - diff --git a/sys/alpha/include/pc/display.h b/sys/alpha/include/pc/display.h deleted file mode 100644 index fad568c..0000000 --- a/sys/alpha/include/pc/display.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * IBM PC display definitions - * - * $FreeBSD$ - * from: i386/include/pc display.h,v 1.4 - */ - -/* Color attributes for foreground text */ - -#define FG_BLACK 0 -#define FG_BLUE 1 -#define FG_GREEN 2 -#define FG_CYAN 3 -#define FG_RED 4 -#define FG_MAGENTA 5 -#define FG_BROWN 6 -#define FG_LIGHTGREY 7 -#define FG_DARKGREY 8 -#define FG_LIGHTBLUE 9 -#define FG_LIGHTGREEN 10 -#define FG_LIGHTCYAN 11 -#define FG_LIGHTRED 12 -#define FG_LIGHTMAGENTA 13 -#define FG_YELLOW 14 -#define FG_WHITE 15 -#define FG_BLINK 0x80 - -/* Color attributes for text background */ - -#define BG_BLACK 0x00 -#define BG_BLUE 0x10 -#define BG_GREEN 0x20 -#define BG_CYAN 0x30 -#define BG_RED 0x40 -#define BG_MAGENTA 0x50 -#define BG_BROWN 0x60 -#define BG_LIGHTGREY 0x70 - -/* Monochrome attributes for foreground text */ - -#define FG_UNDERLINE 0x01 -#define FG_INTENSE 0x08 - -/* Monochrome attributes for text background */ - -#define BG_INTENSE 0x10 diff --git a/sys/alpha/include/pc/vesa.h b/sys/alpha/include/pc/vesa.h deleted file mode 100644 index c2c2b16..0000000 --- a/sys/alpha/include/pc/vesa.h +++ /dev/null @@ -1,128 +0,0 @@ -/*- - * Copyright (c) 1998 Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp) - * All rights reserved. - * - * 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. The name of the author may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. - * - * $FreeBSD$ - * from: i386/include/pc vesa.h,v 1.1 - */ - -#ifndef _MACHINE_PC_VESA_H -#define _MACHINE_PC_VESA_H - -struct vesa_info -{ - /* mandatory fields */ - u_int8_t v_sig[4] __packed; /* VESA */ - u_int16_t v_version __packed; /* ver in BCD */ - u_int32_t v_oemstr __packed; /* OEM string */ - u_int32_t v_flags __packed; /* flags */ -#define V_DAC8 (1<<0) -#define V_NONVGA (1<<1) -#define V_SNOW (1<<2) - u_int32_t v_modetable __packed; /* modes */ - u_int16_t v_memsize __packed; /* in 64K */ - /* 2.0 */ - u_int16_t v_revision __packed; /* software rev */ - u_int32_t v_venderstr __packed; /* vender */ - u_int32_t v_prodstr __packed; /* product name */ - u_int32_t v_revstr __packed; /* product rev */ -}; - -struct vesa_mode -{ - /* mandatory fields */ - u_int16_t v_modeattr; -#define V_MODESUPP (1<<0) /* VESA mode attributes */ -#define V_MODEOPTINFO (1<<1) -#define V_MODEBIOSOUT (1<<2) -#define V_MODECOLOR (1<<3) -#define V_MODEGRAPHICS (1<<4) -#define V_MODENONVGA (1<<5) -#define V_MODENONBANK (1<<6) -#define V_MODELFB (1<<7) -#define V_MODEVESA (1<<16) /* Private attributes */ - u_int8_t v_waattr; - u_int8_t v_wbattr; -#define V_WATTREXIST (1<<0) -#define V_WATTRREAD (1<<1) -#define V_WATTRWRITE (1<<2) - u_int16_t v_wgran; - u_int16_t v_wsize; - u_int16_t v_waseg; - u_int16_t v_wbseg; - u_int32_t v_posfunc; - u_int16_t v_bpscanline; - /* fields optional for 1.0/1.1 implementations */ - u_int16_t v_width; - u_int16_t v_height; - u_int8_t v_cwidth; - u_int8_t v_cheight; - u_int8_t v_planes; - u_int8_t v_bpp; - u_int8_t v_banks; - u_int8_t v_memmodel; -#define V_MMTEXT 0 -#define V_MMCGA 1 -#define V_MMHGC 2 -#define V_MMEGA 3 -#define V_MMPACKED 4 -#define V_MMSEQU256 5 -#define V_MMDIRCOLOR 6 -#define V_MMYUV 7 - u_int8_t v_banksize; - u_int8_t v_ipages; - u_int8_t v_reserved0; - /* fields for 1.2+ implementations */ - u_int8_t v_redmasksize; - u_int8_t v_redfieldpos; - u_int8_t v_greenmasksize; - u_int8_t v_greenfieldpos; - u_int8_t v_bluemasksize; - u_int8_t v_bluefieldpos; - u_int8_t v_resmasksize; - u_int8_t v_resfieldpos; - u_int8_t v_dircolormode; - /* 2.0 implementations */ - u_int32_t v_lfb; - u_int32_t v_offscreen; - u_int8_t v_offscreensize; -}; - -#ifdef _KERNEL - -#define VESA_MODE(x) ((x) >= M_VESA_BASE) - -int vesa_load_ioctl(void); -int vesa_unload_ioctl(void); - -#ifndef VESA_MODULE -int vesa_load(void); -#endif - -#endif /* _KERNEL */ - -#endif /* !_MACHINE_PC_VESA_H */ diff --git a/sys/alpha/include/pcb.h b/sys/alpha/include/pcb.h deleted file mode 100644 index 70646c8..0000000 --- a/sys/alpha/include/pcb.h +++ /dev/null @@ -1,65 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: pcb.h,v 1.6 1997/04/06 08:47:33 cgd Exp */ - -/*- - * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -#ifndef _MACHINE_PCB_H_ -#define _MACHINE_PCB_H_ - -#include <machine/frame.h> -#include <machine/reg.h> -#include <machine/alpha_cpu.h> - -/* - * PCB: process control block - * - * In this case, the hardware structure that is the defining element - * for a process, and the additional state that must be saved by software - * on a context switch. Fields marked [HW] are mandated by hardware; fields - * marked [SW] are for the software. - * - * It's said in the VMS PALcode section of the AARM that the pcb address - * passed to the swpctx PALcode call has to be a physical address. Not - * knowing this (and trying a virtual) address proved this correct. - * So we cache the physical address of the pcb in the md_proc struct. - */ -struct pcb { - struct alpha_pcb pcb_hw; /* PALcode defined */ - unsigned long pcb_context[9]; /* s[0-6], ra, ps [SW] */ - struct fpreg pcb_fp; /* FP registers [SW] */ - u_int64_t pcb_fp_control; /* IEEE control word [SW] */ - unsigned long pcb_onfault; /* for copy faults [SW] */ - unsigned long pcb_accessaddr; /* for [fs]uswintr [SW] */ -}; - -#ifdef _KERNEL -void makectx(struct trapframe *, struct pcb *); -void savectx(struct pcb *); -#endif - -#endif /* _MACHINE_PCB_H */ diff --git a/sys/alpha/include/pcpu.h b/sys/alpha/include/pcpu.h deleted file mode 100644 index eb04362..0000000 --- a/sys/alpha/include/pcpu.h +++ /dev/null @@ -1,55 +0,0 @@ -/*- - * Copyright (c) 1999 Luoqi Chen <luoqi@freebsd.org> - * Copyright (c) Peter Wemm <peter@netplex.com.au> - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_PCPU_H_ -#define _MACHINE_PCPU_H_ - -#ifdef _KERNEL - -#define PCPU_MD_FIELDS \ - struct alpha_pcb pc_idlepcb; /* pcb for idling */ \ - u_int64_t pc_pal_id; /* physical CPU ID */ \ - u_int64_t pc_idlepcbphys; /* pa of pc_idlepcb */ \ - u_int64_t pc_pending_ipis; /* pending IPI's */ \ - u_int32_t pc_next_asn; /* next ASN to alloc */ \ - u_int32_t pc_current_asngen; /* ASN rollover check */ \ - u_int32_t pc_last_pcc_cnt; /* Previous PCC_CNT value */ \ - u_int32_t pc_pcc_base /* Hi word of cycle count. */ - -struct pcpu; - -register struct pcpu *pcpup __asm__("$8"); - -#define PCPU_GET(member) (pcpup->pc_ ## member) -#define PCPU_PTR(member) (&pcpup->pc_ ## member) -#define PCPU_SET(member,value) (pcpup->pc_ ## member = (value)) - -#endif /* _KERNEL */ - -#endif /* !_MACHINE_PCPU_H_ */ diff --git a/sys/alpha/include/pmap.h b/sys/alpha/include/pmap.h deleted file mode 100644 index 9dca988..0000000 --- a/sys/alpha/include/pmap.h +++ /dev/null @@ -1,250 +0,0 @@ -/*- - * Copyright (c) 1991 Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * the Systems Programming Group of the University of Utah Computer - * Science Department and William Jolitz of UUNET Technologies Inc. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * Derived from hp300 version by Mike Hibler, this version by William - * Jolitz uses a recursive map [a pde points to the page directory] to - * map the page tables using the pagetables themselves. This is done to - * reduce the impact on kernel virtual memory for lots of sparse address - * space, and to reduce the cost of memory to each process. - * - * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 - * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp - * $FreeBSD$ - */ - -#ifndef _MACHINE_PMAP_H_ -#define _MACHINE_PMAP_H_ - -#ifdef _KERNEL -#include <machine/chipset.h> -#include <sys/systm.h> -#endif - -/* - * Define meanings for a few software bits in the pte - */ -#define PG_V ALPHA_PTE_VALID -#define PG_FOR ALPHA_PTE_FAULT_ON_READ -#define PG_FOW ALPHA_PTE_FAULT_ON_WRITE -#define PG_FOE ALPHA_PTE_FAULT_ON_EXECUTE -#define PG_ASM ALPHA_PTE_ASM -#define PG_GH ALPHA_PTE_GRANULARITY -#define PG_KRE ALPHA_PTE_KR -#define PG_URE ALPHA_PTE_UR -#define PG_KWE ALPHA_PTE_KW -#define PG_UWE ALPHA_PTE_UW -#define PG_PROT ALPHA_PTE_PROT -#define PG_SHIFT 32 - -#define PG_W 0x00010000 /* software wired */ -#define PG_MANAGED 0x00020000 /* software managed */ - -/* - * Pte related macros - */ -#define VADDR(l1, l2, l3) (((l1) << ALPHA_L1SHIFT) \ - + ((l2) << ALPHA_L2SHIFT) \ - + ((l3) << ALPHA_L3SHIFT) - -#ifndef NKPT -#define NKPT 9 /* initial number of kernel page tables */ -#endif -#define NKLEV2MAPS 255 /* max number of lev2 page tables */ -#define NKLEV3MAPS (NKLEV2MAPS << ALPHA_PTSHIFT) /* max number of lev3 page tables */ - -/* - * The *PTDI values control the layout of virtual memory - * - * XXX This works for now, but I am not real happy with it, I'll fix it - * right after I fix locore.s and the magic 28K hole - * - * SMP_PRIVPAGES: The per-cpu address space is 0xff80000 -> 0xffbfffff - */ -#define PTLEV1I (NPTEPG-1) /* Lev0 entry that points to Lev0 */ -#define K0SEGLEV1I (NPTEPG/2) -#define K1SEGLEV1I (K0SEGLEV1I+(NPTEPG/4)) - -#define NUSERLEV2MAPS (NPTEPG/2) -#define NUSERLEV3MAPS (NUSERLEV2MAPS << ALPHA_PTSHIFT) - -#ifndef LOCORE - -#include <sys/queue.h> -#include <sys/_lock.h> -#include <sys/_mutex.h> - -typedef alpha_pt_entry_t pt_entry_t; - -#define PTESIZE sizeof(pt_entry_t) /* for assembly files */ - -/* - * Address of current address space page table maps - */ -#ifdef _KERNEL -extern pt_entry_t PTmap[]; /* lev3 page tables */ -extern pt_entry_t PTlev2[]; /* lev2 page tables */ -extern pt_entry_t PTlev1[]; /* lev1 page table */ -extern pt_entry_t PTlev1pte; /* pte that maps lev1 page table */ -#endif - -#ifdef _KERNEL -/* - * virtual address to page table entry and - * to physical address. - * Note: this work recursively, thus vtopte of a pte will give - * the corresponding lev1 that in turn maps it. - */ -#define vtopte(va) (PTmap + (alpha_btop(va) \ - & ((1 << 3*ALPHA_PTSHIFT)-1))) -#define vtophys(va) pmap_kextract((vm_offset_t)(va)) - -/* - * Routine: pmap_kextract - * Function: - * Extract the physical page address associated - * kernel virtual address. - */ -static __inline vm_offset_t -pmap_kextract(vm_offset_t va) -{ - vm_offset_t pa; - if (va >= ALPHA_K0SEG_BASE && va <= ALPHA_K0SEG_END) - pa = ALPHA_K0SEG_TO_PHYS(va); - else - pa = alpha_ptob(ALPHA_PTE_TO_PFN(*vtopte(va))) - | (va & PAGE_MASK); - return pa; -} - -static __inline vm_offset_t -alpha_XXX_dmamap(vm_offset_t va) -{ - vm_offset_t pa = pmap_kextract(va); - if (pa >= chipset.dmsize) - panic ("driver uses alpha_XXX_dmamap() for an address that" - "is not within direct map"); - if (chipset.pci_sgmap != NULL) - panic ("driver uses alpha_XXX_dmamap() on largemem system"); - return (pa + chipset.dmoffset); -} - -#endif /* _KERNEL */ - -/* - * Pmap stuff - */ -struct pv_entry; - -struct md_page { - int pv_list_count; - TAILQ_HEAD(,pv_entry) pv_list; -}; - -#define ASN_BITS 8 -#define ASNGEN_BITS (32 - ASN_BITS) -#define ASNGEN_MASK ((1 << ASNGEN_BITS) - 1) - -struct pmap { - struct mtx pm_mtx; - pt_entry_t *pm_lev1; /* KVA of lev0map */ - TAILQ_HEAD(,pv_entry) pm_pvlist; /* list of mappings in pmap */ - u_int32_t pm_active; /* active cpus */ - struct { - u_int32_t asn:ASN_BITS; /* address space number */ - u_int32_t gen:ASNGEN_BITS; /* generation number */ - } pm_asn[MAXSMPCPU]; - struct pmap_statistics pm_stats; /* pmap statistics */ - struct vm_page *pm_ptphint; /* pmap ptp hint */ - LIST_ENTRY(pmap) pm_list; /* list of all pmaps. */ -}; - -typedef struct pmap *pmap_t; - -#ifdef _KERNEL -extern struct pmap kernel_pmap_store; -#define kernel_pmap (&kernel_pmap_store) - -#define PMAP_LOCK(pmap) mtx_lock(&(pmap)->pm_mtx) -#define PMAP_LOCK_ASSERT(pmap, type) \ - mtx_assert(&(pmap)->pm_mtx, (type)) -#define PMAP_LOCK_DESTROY(pmap) mtx_destroy(&(pmap)->pm_mtx) -#define PMAP_LOCK_INIT(pmap) mtx_init(&(pmap)->pm_mtx, "pmap", \ - NULL, MTX_DEF) -#define PMAP_LOCKED(pmap) mtx_owned(&(pmap)->pm_mtx) -#define PMAP_MTX(pmap) (&(pmap)->pm_mtx) -#define PMAP_TRYLOCK(pmap) mtx_trylock(&(pmap)->pm_mtx) -#define PMAP_UNLOCK(pmap) mtx_unlock(&(pmap)->pm_mtx) -#endif - -/* - * For each vm_page_t, there is a list of all currently valid virtual - * mappings of that page. An entry is a pv_entry_t, the list is pv_table. - */ -typedef struct pv_entry { - pmap_t pv_pmap; /* pmap where mapping lies */ - vm_offset_t pv_va; /* virtual address for mapping */ - TAILQ_ENTRY(pv_entry) pv_list; - TAILQ_ENTRY(pv_entry) pv_plist; - vm_page_t pv_ptem; /* VM page for pte */ -} *pv_entry_t; - -#ifdef _KERNEL - -extern vm_offset_t phys_avail[]; -extern vm_offset_t virtual_avail; -extern vm_offset_t virtual_end; - -struct vmspace; - -#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) - -vm_offset_t pmap_steal_memory(vm_size_t); -void pmap_bootstrap(vm_offset_t, u_int); -void pmap_kenter(vm_offset_t va, vm_offset_t pa); -void *pmap_kenter_temporary(vm_offset_t pa, int i); -void pmap_kremove(vm_offset_t); -void pmap_setdevram(unsigned long long basea, vm_offset_t sizea); -int pmap_uses_prom_console(void); -void *pmap_mapdev(vm_offset_t, vm_size_t); -void pmap_unmapdev(vm_offset_t, vm_size_t); -unsigned *pmap_pte(pmap_t, vm_offset_t) __pure2; -void pmap_set_opt (unsigned *); -void pmap_set_opt_bsp (void); -void pmap_deactivate(struct thread *td); -void pmap_emulate_reference(struct vmspace *vm, vm_offset_t v, int user, int write); - -#endif /* _KERNEL */ - -#endif /* !LOCORE */ - -#endif /* !_MACHINE_PMAP_H_ */ diff --git a/sys/alpha/include/pmc_mdep.h b/sys/alpha/include/pmc_mdep.h deleted file mode 100644 index 7fc48f5..0000000 --- a/sys/alpha/include/pmc_mdep.h +++ /dev/null @@ -1,23 +0,0 @@ -/*- - * This file is in the public domain. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_PMC_MDEP_H_ -#define _MACHINE_PMC_MDEP_H_ - -union pmc_md_op_pmcallocate { - uint64_t __pad[4]; -}; - -/* Logging */ -#define PMCLOG_READADDR PMCLOG_READ64 -#define PMCLOG_EMITADDR PMCLOG_EMIT64 - -#if _KERNEL -union pmc_md_pmc { -}; - -#endif -#endif /* !_MACHINE_PMC_MDEP_H_ */ diff --git a/sys/alpha/include/ppireg.h b/sys/alpha/include/ppireg.h deleted file mode 100644 index 5774757..0000000 --- a/sys/alpha/include/ppireg.h +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * Copyright (C) 2005 TAKAHASHI Yoshihiro. All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_PPIREG_H_ -#define _MACHINE_PPIREG_H_ - -#ifdef _KERNEL - -#define IO_PPI 0x61 /* Programmable Peripheral Interface */ - -/* - * PPI speaker control values - */ - -#define PIT_ENABLETMR2 0x01 /* Enable timer/counter 2 */ -#define PIT_SPKRDATA 0x02 /* Direct to speaker */ - -#define PIT_SPKR (PIT_ENABLETMR2 | PIT_SPKRDATA) - -#define ppi_spkr_on() outb(IO_PPI, inb(IO_PPI) | PIT_SPKR) -#define ppi_spkr_off() outb(IO_PPI, inb(IO_PPI) & ~PIT_SPKR) - -#endif /* _KERNEL */ - -#endif /* _MACHINE_PPIREG_H_ */ diff --git a/sys/alpha/include/proc.h b/sys/alpha/include/proc.h deleted file mode 100644 index 174e64b..0000000 --- a/sys/alpha/include/proc.h +++ /dev/null @@ -1,69 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: proc.h,v 1.3 1997/04/06 08:47:36 cgd Exp */ - -/*- - * Copyright (c) 1994, 1995 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -#ifndef _MACHINE_PROC_H_ -#define _MACHINE_PROC_H_ - -/* - * Machine-dependent part of the proc struct for the Alpha. - */ - -struct mdbpt { - vm_offset_t addr; - u_int32_t contents; -}; - -#define MDTD_FPUSED 0x0001 /* Process used the FPU */ -#define MDTD_STEP1 0x0002 /* Single step normal instruction */ -#define MDTD_STEP2 0x0004 /* Single step branch instruction */ -#define MDTD_HAEUSED 0x0008 /* Process used the HAE */ - -struct mdthread { - u_long md_flags; - struct pcb *md_pcbpaddr; /* phys addr of the pcb */ - struct mdbpt md_sstep[2]; /* two single step breakpoints */ - u_int64_t md_hae; /* user HAE register value */ - void *osf_sigtramp; /* user-level signal trampoline */ - u_int md_kernnest; /* nesting level in the kernel */ - register_t md_saved_ipl; /* save IPL for critical section */ - u_int md_spinlock_count; -}; - -#define MDP_UAC_NOPRINT 0x0010 /* Don't print unaligned traps */ -#define MDP_UAC_NOFIX 0x0020 /* Don't fixup unaligned traps */ -#define MDP_UAC_SIGBUS 0x0040 /* Deliver SIGBUS upon - unaligned access */ -#define MDP_UAC_MASK (MDP_UAC_NOPRINT | MDP_UAC_NOFIX | MDP_UAC_SIGBUS) - -struct mdproc { - u_int md_uac; /* (c) Unaligned Access Check flags. */ -}; - -#endif /* !_MACHINE_PROC_H_ */ diff --git a/sys/alpha/include/profile.h b/sys/alpha/include/profile.h deleted file mode 100644 index 47f45eb..0000000 --- a/sys/alpha/include/profile.h +++ /dev/null @@ -1,241 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: profile.h,v 1.9 1997/04/06 08:47:37 cgd Exp */ - -/*- - * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -#define _MCOUNT_DECL void mcount - -#define FUNCTION_ALIGNMENT 32 - -typedef u_long fptrdiff_t; - -#if 0 -/* - * XXX The definition of MCOUNT below is really the following code, run - * XXX through cpp, since the inline assembly isn't preprocessed. - */ -#define OFFSET_AT 0 -#define OFFSET_V0 8 -#define OFFSET_T0 16 -#define OFFSET_T1 24 -#define OFFSET_T2 32 -#define OFFSET_T3 40 -#define OFFSET_T4 48 -#define OFFSET_T5 56 -#define OFFSET_T6 64 -#define OFFSET_T7 72 -#define OFFSET_S6 80 -#define OFFSET_A0 88 -#define OFFSET_A1 96 -#define OFFSET_A2 104 -#define OFFSET_A3 112 -#define OFFSET_A4 120 -#define OFFSET_A5 128 -#define OFFSET_T8 136 -#define OFFSET_T9 144 -#define OFFSET_T10 152 -#define OFFSET_T11 160 -#define OFFSET_RA 168 -#define OFFSET_T12 176 -#define OFFSET_GP 184 -#define FRAME_SIZE 192 - -LEAF(_mcount,0) /* XXX */ - .set noat - .set noreorder - - lda sp, -FRAME_SIZE(sp) - - stq at_reg, OFFSET_AT(sp) - stq v0, OFFSET_V0(sp) - stq t0, OFFSET_T0(sp) - stq t1, OFFSET_T1(sp) - stq t2, OFFSET_T2(sp) - stq t3, OFFSET_T3(sp) - stq t4, OFFSET_T4(sp) - stq t5, OFFSET_T5(sp) - stq t6, OFFSET_T6(sp) - stq t7, OFFSET_T7(sp) - stq s6, OFFSET_S6(sp) /* XXX because run _after_ prologue. */ - stq a0, OFFSET_A0(sp) - stq a1, OFFSET_A1(sp) - stq a2, OFFSET_A2(sp) - stq a3, OFFSET_A3(sp) - stq a4, OFFSET_A4(sp) - stq a5, OFFSET_A5(sp) - stq t8, OFFSET_T8(sp) - stq t9, OFFSET_T9(sp) - stq t10, OFFSET_T10(sp) - stq t11, OFFSET_T11(sp) - stq ra, OFFSET_RA(sp) - stq t12, OFFSET_T12(sp) - stq gp, OFFSET_GP(sp) - - br pv, LX99 -LX99: SETGP(pv) - mov ra, a0 - mov at_reg, a1 - CALL(mcount) - - ldq v0, OFFSET_V0(sp) - ldq t0, OFFSET_T0(sp) - ldq t1, OFFSET_T1(sp) - ldq t2, OFFSET_T2(sp) - ldq t3, OFFSET_T3(sp) - ldq t4, OFFSET_T4(sp) - ldq t5, OFFSET_T5(sp) - ldq t6, OFFSET_T6(sp) - ldq t7, OFFSET_T7(sp) - ldq s6, OFFSET_S6(sp) /* XXX because run _after_ prologue. */ - ldq a0, OFFSET_A0(sp) - ldq a1, OFFSET_A1(sp) - ldq a2, OFFSET_A2(sp) - ldq a3, OFFSET_A3(sp) - ldq a4, OFFSET_A4(sp) - ldq a5, OFFSET_A5(sp) - ldq t8, OFFSET_T8(sp) - ldq t9, OFFSET_T9(sp) - ldq t10, OFFSET_T10(sp) - ldq t11, OFFSET_T11(sp) - ldq ra, OFFSET_RA(sp) - stq t12, OFFSET_T12(sp) - ldq gp, OFFSET_GP(sp) - - ldq at_reg, OFFSET_AT(sp) - - lda sp, FRAME_SIZE(sp) - ret zero, (at_reg), 1 - - END(_mcount) -#endif /* 0 */ - -#define MCOUNT __asm (" \ - .globl _mcount; \ - .ent _mcount 0; \ -_mcount:; \ - .frame $30,0,$26; \ - .set noat; \ - .set noreorder; \ - \ - lda $30, -192($30); \ - \ - stq $28, 0($30); \ - stq $0, 8($30); \ - stq $1, 16($30); \ - stq $2, 24($30); \ - stq $3, 32($30); \ - stq $4, 40($30); \ - stq $5, 48($30); \ - stq $6, 56($30); \ - stq $7, 64($30); \ - stq $8, 72($30); \ - stq $15, 80($30); \ - stq $16, 88($30); \ - stq $17, 96($30); \ - stq $18, 104($30); \ - stq $19, 112($30); \ - stq $20, 120($30); \ - stq $21, 128($30); \ - stq $22, 136($30); \ - stq $23, 144($30); \ - stq $24, 152($30); \ - stq $25, 160($30); \ - stq $26, 168($30); \ - stq $27, 176($30); \ - stq $29, 184($30); \ - \ - br $27, LX98; \ -LX98: ldgp $29,0($27); \ - mov $26, $16; \ - mov $28, $17; \ - jsr $26,mcount; \ - ldgp $29,0($26); \ - \ - ldq $0, 8($30); \ - ldq $1, 16($30); \ - ldq $2, 24($30); \ - ldq $3, 32($30); \ - ldq $4, 40($30); \ - ldq $5, 48($30); \ - ldq $6, 56($30); \ - ldq $7, 64($30); \ - ldq $8, 72($30); \ - ldq $15, 80($30); \ - ldq $16, 88($30); \ - ldq $17, 96($30); \ - ldq $18, 104($30); \ - ldq $19, 112($30); \ - ldq $20, 120($30); \ - ldq $21, 128($30); \ - ldq $22, 136($30); \ - ldq $23, 144($30); \ - ldq $24, 152($30); \ - ldq $25, 160($30); \ - ldq $26, 168($30); \ - ldq $27, 176($30); \ - ldq $29, 184($30); \ - \ - ldq $28, 0($30); \ - \ - lda $30, 192($30); \ - ret $31, ($28), 1; \ - \ - .end _mcount"); - -#ifdef _KERNEL -/* - * The following two macros do splhigh and splx respectively. - * _alpha_pal_swpipl is a special version of alpha_pal_swpipl which - * doesn't include profiling support. - * - * XXX These macros should probably use inline assembly. - */ -u_long _alpha_pal_swpipl(u_long); - -#define MCOUNT_ENTER(s) s = _alpha_pal_swpipl(ALPHA_PSL_IPL_HIGH) -#define MCOUNT_EXIT(s) (void)_alpha_pal_swpipl(s) -#define MCOUNT_DECL(s) u_long s; - -void bintr(void); -void btrap(void); -void eintr(void); -void user(void); - -#define MCOUNT_FROMPC_USER(pc) \ - ((pc < (uintfptr_t)VM_MAXUSER_ADDRESS) ? (uintfptr_t)user : pc) - -#define MCOUNT_FROMPC_INTR(pc) \ - ((pc >= (uintfptr_t)btrap && pc < (uintfptr_t)eintr) ? \ - ((pc >= (uintfptr_t)bintr) ? (uintfptr_t)bintr : \ - (uintfptr_t)btrap) : ~0UL) - -_MCOUNT_DECL(uintfptr_t, uintfptr_t); - -#else /* !_KERNEL */ -typedef u_long uintfptr_t; -#endif diff --git a/sys/alpha/include/prom.h b/sys/alpha/include/prom.h deleted file mode 100644 index a3ce282..0000000 --- a/sys/alpha/include/prom.h +++ /dev/null @@ -1,108 +0,0 @@ -/* $NetBSD: prom.h,v 1.7 1997/04/06 08:47:37 cgd Exp $ */ - -/*- - * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Keith Bostic, Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - * - * $FreeBSD$ - */ - -#ifndef ASSEMBLER -struct prom_vec { - u_int64_t routine; - void *routine_arg; -}; - -/* The return value from a prom call. */ -typedef union { - struct { - u_int64_t - retval : 32, /* return value. */ - unit : 8, - mbz : 8, - error : 13, - status : 3; - } u; - u_int64_t bits; -} prom_return_t; - -#ifdef STANDALONE -int getchar(void); -int prom_open(char *, int); -void putchar(int); -#endif - -void prom_halt(int) __attribute__((__noreturn__)); -int prom_getenv(int, char *, int); - -#endif - -/* Prom operation values. */ -#define PROM_R_CLOSE 0x11 -#define PROM_R_GETC 0x01 -#define PROM_R_GETENV 0x22 -#define PROM_R_OPEN 0x10 -#define PROM_R_PUTS 0x02 -#define PROM_R_READ 0x13 -#define PROM_R_WRITE 0x14 - -/* Environment variable values. */ -#define PROM_E_BOOTED_DEV 0x4 -#define PROM_E_BOOTED_FILE 0x6 -#define PROM_E_BOOTED_OSFLAGS 0x8 -#define PROM_E_TTY_DEV 0xf - -/* - * There have to be stub routines to do the copying that ensures that the - * PROM doesn't get called with an address larger than 32 bits. Calls that - * either don't need to copy anything, or don't need the copy because it's - * already being done elsewhere, are defined here. - */ -#define prom_close(chan) \ - prom_dispatch(PROM_R_CLOSE, chan, 0, 0, 0) -#define prom_read(chan, len, buf, blkno) \ - prom_dispatch(PROM_R_READ, chan, len, (u_int64_t)buf, blkno) -#define prom_write(chan, len, buf, blkno) \ - prom_dispatch(PROM_R_WRITE, chan, len, (u_int64_t)buf, blkno) -#define prom_putstr(chan, str, len) \ - prom_dispatch(PROM_R_PUTS, chan, (u_int64_t)str, len, 0) -#define prom_getc(chan) \ - prom_dispatch(PROM_R_GETC, chan, 0, 0, 0) -#define prom_getenv_disp(id, buf, len) \ - prom_dispatch(PROM_R_GETENV, id, (u_int64_t)buf, len, 0) - -#ifndef ASSEMBLER -#ifdef _KERNEL -void promcnattach(int); -void promcndetach(void); -cn_putc_t promcnputc; -cn_getc_t promcngetc; -cn_checkc_t promcncheckc; - -u_int64_t prom_dispatch(u_int64_t, u_int64_t, u_int64_t, u_int64_t, - u_int64_t); -void init_bootstrap_console(void); -#endif /* _KERNEL */ -#endif /* ASSEMBLER */ diff --git a/sys/alpha/include/pte.h b/sys/alpha/include/pte.h deleted file mode 100644 index 1ac4e94..0000000 --- a/sys/alpha/include/pte.h +++ /dev/null @@ -1,97 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: pte.h,v 1.10 1997/09/02 19:07:22 thorpej Exp */ - -/*- - * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -/* - * Alpha page table entry. - * Things which are in the VMS PALcode but not in the OSF PALcode - * are marked with "(VMS)". - * - * This information derived from pp. (II) 3-3 - (II) 3-6 and - * (III) 3-3 - (III) 3-5 of the "Alpha Architecture Reference Manual" by - * Richard L. Sites. - */ - -/* - * Alpha Page Table Entry - */ - -#include <machine/alpha_cpu.h> - -typedef alpha_pt_entry_t pt_entry_t; - -#define PT_ENTRY_NULL ((pt_entry_t *) 0) -#define PTESHIFT 3 /* pte size == 1 << PTESHIFT */ - -#define PG_V ALPHA_PTE_VALID -#define PG_NV 0 -#define PG_FOR ALPHA_PTE_FAULT_ON_READ -#define PG_FOW ALPHA_PTE_FAULT_ON_WRITE -#define PG_FOE ALPHA_PTE_FAULT_ON_EXECUTE -#define PG_ASM ALPHA_PTE_ASM -#define PG_GH ALPHA_PTE_GRANULARITY -#define PG_KRE ALPHA_PTE_KR -#define PG_URE ALPHA_PTE_UR -#define PG_KWE ALPHA_PTE_KW -#define PG_UWE ALPHA_PTE_UW -#define PG_PROT ALPHA_PTE_PROT -#define PG_RSVD 0x000000000000cc80 /* Reserved fpr hardware */ -#define PG_WIRED 0x0000000000010000 /* Wired. [SOFTWARE] */ -#define PG_FRAME ALPHA_PTE_RAME -#define PG_SHIFT 32 -#define PG_PFNUM(x) ALPHA_PTE_TO_PFN(x) - -#if 0 /* XXX NOT HERE */ -#define K0SEG_BEGIN 0xfffffc0000000000 /* unmapped, cached */ -#define K0SEG_END 0xfffffe0000000000 -#define PHYS_UNCACHED 0x0000000040000000 -#endif - -#ifndef _LOCORE -#if 0 /* XXX NOT HERE */ -#define k0segtophys(x) ((vm_offset_t)(x) & 0x00000003ffffffff) -#define phystok0seg(x) ((vm_offset_t)(x) | K0SEG_BEGIN) - -#define phystouncached(x) ((vm_offset_t)(x) | PHYS_UNCACHED) -#define uncachedtophys(x) ((vm_offset_t)(x) & ~PHYS_UNCACHED) -#endif - -#define PTEMASK (NPTEPG - 1) -#define vatopte(va) (((va) >> PGSHIFT) & PTEMASK) -#define vatoste(va) (((va) >> SEGSHIFT) & PTEMASK) -#define kvtol1pte(va) \ - (((vm_offset_t)(va) >> (PGSHIFT + 2*(PGSHIFT-PTESHIFT))) & PTEMASK) - -#define vatopa(va) \ - ((PG_PFNUM(*kvtopte(va)) << PGSHIFT) | ((vm_offset_t)(va) & PGOFSET)) - -#define ALPHA_STSIZE ((u_long)PAGE_SIZE) /* 8k */ -#define ALPHA_MAX_PTSIZE ((u_long)(NPTEPG * NBPG)) /* 8M */ - -#endif diff --git a/sys/alpha/include/ptrace.h b/sys/alpha/include/ptrace.h deleted file mode 100644 index 657800c..0000000 --- a/sys/alpha/include/ptrace.h +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * @(#)ptrace.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD$ - */ - -#ifndef _MACHINE_PTRACE_H_ -#define _MACHINE_PTRACE_H_ - -#ifdef _KERNEL -#define FIX_SSTEP(p) ptrace_clear_single_step(p) -#endif - -#endif diff --git a/sys/alpha/include/reg.h b/sys/alpha/include/reg.h deleted file mode 100644 index 573f825..0000000 --- a/sys/alpha/include/reg.h +++ /dev/null @@ -1,125 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: reg.h,v 1.3 1997/04/06 08:47:40 cgd Exp */ - -/*- - * Copyright (c) 1994, 1995 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -#ifndef _ALPHA_REG_H_ -#define _ALPHA_REG_H_ - -/* - * XXX where did this info come from? - */ - -/* - * Struct reg, used for procfs and in signal contexts - * Note that in signal contexts, it's represented as an array. - * That array has to look exactly like 'struct reg' though. - */ -#define R_V0 0 -#define R_T0 1 -#define R_T1 2 -#define R_T2 3 -#define R_T3 4 -#define R_T4 5 -#define R_T5 6 -#define R_T6 7 -#define R_T7 8 -#define R_S0 9 -#define R_S1 10 -#define R_S2 11 -#define R_S3 12 -#define R_S4 13 -#define R_S5 14 -#define R_S6 15 -#define R_A0 16 -#define R_A1 17 -#define R_A2 18 -#define R_A3 19 -#define R_A4 20 -#define R_A5 21 -#define R_T8 22 -#define R_T9 23 -#define R_T10 24 -#define R_T11 25 -#define R_RA 26 -#define R_T12 27 -#define R_AT 28 -#define R_GP 29 -#define R_SP 30 -#define R_ZERO 31 - -/* - * Register extensions used in mcontext_t - */ -#define R_PS 32 -#define R_PC 33 -#define R_TRAPARG_A0 34 -#define R_TRAPARG_A1 35 -#define R_TRAPARG_A2 36 - -struct reg { - u_int64_t r_regs[32]; -}; - -/* - * Floating point unit state. (also, register set used for ptrace.) - * - * The floating point registers for a process, saved only when - * necessary. - * - * Note that in signal contexts, it's represented as an array. - * That array has to look exactly like 'struct reg' though. - */ -struct fpreg { - u_int64_t fpr_regs[32]; - u_int64_t fpr_cr; -}; - -/* - * Placeholder. - */ -struct dbreg { - unsigned long junk; -}; - -#ifdef _KERNEL -void restorefpstate(struct fpreg *); -void savefpstate(struct fpreg *); - -/* - * XXX these interfaces are MI, so they should be declared in a MI place. - */ -int fill_regs(struct thread *, struct reg *); -int set_regs(struct thread *, struct reg *); -int fill_fpregs(struct thread *, struct fpreg *); -int set_fpregs(struct thread *, struct fpreg *); -int fill_dbregs(struct thread *, struct dbreg *); -int set_dbregs(struct thread *, struct dbreg *); -#endif - -#endif /* _ALPHA_REG_H_ */ diff --git a/sys/alpha/include/reloc.h b/sys/alpha/include/reloc.h deleted file mode 100644 index 6e50536..0000000 --- a/sys/alpha/include/reloc.h +++ /dev/null @@ -1,33 +0,0 @@ -/*- - * Copyright (c) 1998 John Birrell <jb@cimlogic.com.au>. - * All rights reserved. - * - * 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 John Birrell. - * 4. Neither the name of the author nor the names of any co-contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL 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 REGENTS 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. - * - * $FreeBSD$ - */ diff --git a/sys/alpha/include/resource.h b/sys/alpha/include/resource.h deleted file mode 100644 index edde5eb..0000000 --- a/sys/alpha/include/resource.h +++ /dev/null @@ -1,44 +0,0 @@ -/* $FreeBSD$ */ -/*- - * Copyright 1998 Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby - * granted, provided that both the above copyright notice and this - * permission notice appear in all copies, that both the above - * copyright notice and this permission notice appear in all - * supporting documentation, and that the name of M.I.T. not be used - * in advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. M.I.T. makes - * no representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied - * warranty. - * - * THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS - * ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT - * SHALL M.I.T. 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 _MACHINE_RESOURCE_H_ -#define _MACHINE_RESOURCE_H_ 1 - -/* - * Definitions of resource types for Intel Architecture machines - * with support for legacy ISA devices and drivers. - */ - -#define SYS_RES_IRQ 1 /* interrupt lines */ -#define SYS_RES_DRQ 2 /* isa dma lines */ -#define SYS_RES_MEMORY 3 /* i/o memory */ -#define SYS_RES_IOPORT 4 /* i/o ports */ - -#endif /* !_MACHINE_RESOURCE_H_ */ diff --git a/sys/alpha/include/rpb.h b/sys/alpha/include/rpb.h deleted file mode 100644 index 0dd4481..0000000 --- a/sys/alpha/include/rpb.h +++ /dev/null @@ -1,463 +0,0 @@ -/* $NetBSD: rpb.h,v 1.20 1998/04/15 00:47:33 mjacob Exp $ */ -/* $FreeBSD$ */ - -/*- - * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Keith Bostic, Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -/* - * From DEC 3000 300/400/500/600/700/800/900 System Programmer's Manual, - * EK-D3SYS-PM.B01. - */ - -/* - * HWRPB (Hardware Restart Parameter Block). - */ -#define HWRPB_ADDR 0x10000000 /* virtual address, at boot */ - -#ifndef ASSEMBLER -struct rpb { - u_int64_t rpb_phys; /* 0: HWRPB phys. address. */ - char rpb_magic[8]; /* 8: "HWRPB" (in ASCII) */ - u_int64_t rpb_version; /* 10 */ - u_int64_t rpb_size; /* 18: HWRPB size in bytes */ - u_int64_t rpb_primary_cpu_id; /* 20 */ - u_int64_t rpb_page_size; /* 28: (8192) */ - u_int64_t rpb_phys_addr_size; /* 30: (34) */ - u_int64_t rpb_max_asn; /* 38: (16) */ - char rpb_ssn[16]; /* 40: only first 10 valid */ - -#define ST_ADU 1 /* Alpha Demo. Unit */ -#define ST_DEC_4000 2 /* "Cobra/Fang" (?) */ -#define ST_DEC_7000 3 /* "Ruby/Laser" (?) */ -#define ST_DEC_3000_500 4 /* "Flamingo" family (TC) */ - /* 5 = "Mannequin" simulator */ -#define ST_DEC_2000_300 6 /* "Jensen" (EISA/ISA) */ -#define ST_DEC_3000_300 7 /* "Pelican" (TC) */ -#define ST_AVALON_A12 8 /* XXX Avalon Multicomputer */ -#define ST_DEC_2100_A500 9 /* "Sable" (EISA/PCI) */ -#define ST_DEC_APXVME_64 10 /* "AXPvme" (VME) */ -#define ST_DEC_AXPPCI_33 11 /* "NoName" (PCI/ISA/PCMCIA) */ -#define ST_DEC_21000 12 /* "TurboLaser" (PCI/EISA) */ -#define ST_DEC_2100_A50 13 /* "Avanti" (PCI/ISA) */ -#define ST_DEC_MUSTANG 14 /* "Mustang" (?) */ -#define ST_DEC_KN20AA 15 /* "Alcor" (PCI/EISA) */ - /* 16 = cancelled */ -#define ST_DEC_1000 17 /* "Mikasa" (PCI/EISA) */ -#define ST_DEC_EB64 18 /* EB64 (PCI/ISA?) */ -#define ST_EB66 19 /* EB66 (PCI/ISA?) */ -#define ST_EB64P 20 /* EB64+ (PCI/ISA?) */ -#define ST_ALPHABOOK1 21 /* Alphabook (?) */ -#define ST_DEC_4100 22 /* "Rawhide" (PCI/EISA) */ -#define ST_DEC_EV45_PBP 23 /* "K2" (PCI/ISA) */ -#define ST_DEC_2100A_A500 24 /* "Lynx" (EISA/PCI) */ -#define ST_DEC_ALPHAXL 25 /* AlphaXL (PCI/ISA) */ -#define ST_EB164 26 /* EB164 (PCI/ISA) */ -#define ST_DEC_1000A 27 /* "Noritake" (PCI/EISA) */ -#define ST_DEC_ALPHAVME_224 28 /* "Cortex" (VME) */ - /* 29 = unused */ -#define ST_DEC_550 30 /* "Miata" (PCI/ISA) */ -#define ST_DEC_XXM 31 /* "XXM" ?? */ -#define ST_DEC_EV56_PBP 32 /* "Takara" (PCI/ISA) */ -#define ST_DEC_ALPHAVME_320 33 /* "Yukon" (VME) */ -#define ST_DEC_6600 34 /* "Tsunami/Typhoon" (PCI) */ -#define ST_DEC_WILDFIRE 35 /* "Wildfire" (PCI)" */ -#define ST_DEC_CUSCO 36 /* "Cusco" */ -#define ST_DEC_EIGER 37 /* "Eiger" */ -#define ST_DEC_TITAN 38 /* "Titan" ES45 (PCI) */ -#define ST_DEC_MARVEL 39 /* "Marvel" (PCI) */ - /* 40 = "Phoenix" (cPCI) */ - -/* - * System types for Alpha Processor Inc. machines - */ - -#define API_ST_BASE 200 -#define ST_API_UP1000 201 /* "Nautilus" */ - - u_int64_t rpb_type; /* 50: */ - -#define SV_MPCAP 0x00000001 /* multiprocessor capable */ - -#define SV_CONSOLE 0x0000001e /* console hardware mask */ -#define SV_CONSOLE_DETACHED 0x00000002 -#define SV_CONSOLE_EMBEDDED 0x00000004 - -#define SV_POWERFAIL 0x000000e0 /* powerfail mask */ -#define SV_PF_UNITED 0x00000020 -#define SV_PF_SEPARATE 0x00000040 -#define SV_PF_BBACKUP 0x00000060 -#define SV_PF_ACTION 0x00000100 /* powerfail restart */ - -#define SV_GRAPHICS 0x00000200 /* graphic engine present */ - -#define SV_ST_MASK 0x0000fc00 /* system type mask */ -#define SV_ST_RESERVED 0x00000000 /* RESERVED */ - -/* - * System types for the DEC 3000/500 (Flamingo) Family - */ -#define SV_ST_SANDPIPER 0x00000400 /* Sandpiper; 3000/400 */ -#define SV_ST_FLAMINGO 0x00000800 /* Flamingo; 3000/500 */ -#define SV_ST_HOTPINK 0x00000c00 /* "Hot Pink"; 3000/500X */ -#define SV_ST_FLAMINGOPLUS 0x00001000 /* Flamingo+; 3000/800 */ -#define SV_ST_ULTRA 0x00001400 /* "Ultra", aka Flamingo+ */ -#define SV_ST_SANDPLUS 0x00001800 /* Sandpiper+; 3000/600 */ -#define SV_ST_SANDPIPER45 0x00001c00 /* Sandpiper45; 3000/700 */ -#define SV_ST_FLAMINGO45 0x00002000 /* Flamingo45; 3000/900 */ - -/* - * System types for ? - */ -#define SV_ST_SABLE 0x00000400 /* Sable (?) */ - -/* - * System types for the DEC 3000/300 (Pelican) Family - */ -#define SV_ST_PELICAN 0x00000000 /* Pelican; 3000/300 */ -#define SV_ST_PELICA 0x00000400 /* Pelica; 3000/300L */ -#define SV_ST_PELICANPLUS 0x00000800 /* Pelican+; 3000/300X */ -#define SV_ST_PELICAPLUS 0x00000c00 /* Pelica+; 3000/300LX */ - -/* - * System types for the AlphaStation Family - */ -#define SV_ST_AVANTI 0x00000000 /* Avanti; 400 4/233 */ -#define SV_ST_MUSTANG2_4_166 0x00000800 /* Mustang II; 200 4/166 */ -#define SV_ST_MUSTANG2_4_233 0x00001000 /* Mustang II; 200 4/233 */ -#define SV_ST_AVANTI_XXX 0x00001400 /* also Avanti; 400 4/233 */ -#define SV_ST_AVANTI_4_266 0x00002000 -#define SV_ST_MUSTANG2_4_100 0x00002400 /* Mustang II; 200 4/100 */ -#define SV_ST_AVANTI_4_233 0x0000a800 /* AlphaStation 255/233 */ - -#define SV_ST_KN20AA 0x00000400 /* AlphaStation 500/600 */ - -/* - * System types for the AXPvme Family - */ -#define SV_ST_AXPVME_64 0x00000000 /* 21068, 64MHz */ -#define SV_ST_AXPVME_160 0x00000400 /* 21066, 160MHz */ -#define SV_ST_AXPVME_100 0x00000c00 /* 21066A, 99MHz */ -#define SV_ST_AXPVME_230 0x00001000 /* 21066A, 231MHz */ -#define SV_ST_AXPVME_66 0x00001400 /* 21066A, 66MHz */ -#define SV_ST_AXPVME_166 0x00001800 /* 21066A, 165MHz */ -#define SV_ST_AXPVME_264 0x00001c00 /* 21066A, 264MHz */ - -/* - * System types for the EB164 Family - */ -#define SV_ST_EB164_266 0x00000400 /* EB164, 266MHz */ -#define SV_ST_EB164_300 0x00000800 /* EB164, 300MHz */ -#define SV_ST_ALPHAPC164_366 0x00000c00 /* AlphaPC164, 366MHz */ -#define SV_ST_ALPHAPC164_400 0x00001000 /* AlphaPC164, 400MHz */ -#define SV_ST_ALPHAPC164_433 0x00001400 /* AlphaPC164, 433MHz */ -#define SV_ST_ALPHAPC164_466 0x00001800 /* AlphaPC164, 466MHz */ -#define SV_ST_ALPHAPC164_500 0x00001c00 /* AlphaPC164, 500MHz */ -#define SV_ST_ALPHAPC164LX_400 0x00002000 /* AlphaPC164LX, 400MHz */ -#define SV_ST_ALPHAPC164LX_466 0x00002400 /* AlphaPC164LX, 466MHz */ -#define SV_ST_ALPHAPC164LX_533 0x00002800 /* AlphaPC164LX, 533MHz */ -#define SV_ST_ALPHAPC164LX_600 0x00002c00 /* AlphaPC164LX, 600MHz */ -#define SV_ST_ALPHAPC164SX_400 0x00003000 /* AlphaPC164SX, 400MHz */ -#define SV_ST_ALPHAPC164SX_466 0x00003400 /* AlphaPC164SX, 433MHz */ -#define SV_ST_ALPHAPC164SX_533 0x00003800 /* AlphaPC164SX, 533MHz */ -#define SV_ST_ALPHAPC164SX_600 0x00003c00 /* AlphaPC164SX, 600MHz */ - -/* - * System types for the Digital Personal Workstation (Miata) Family - * XXX These are not very complete! - */ -#define SV_ST_MIATA_1_5 0x00004c00 /* Miata 1.5 */ - - u_int64_t rpb_variation; /* 58 */ - - char rpb_revision[8]; /* 60; only first 4 valid */ - u_int64_t rpb_intr_freq; /* 68; scaled by 4096 */ - u_int64_t rpb_cc_freq; /* 70: cycle cntr frequency */ - vm_offset_t rpb_vptb; /* 78: */ - u_int64_t rpb_reserved_arch; /* 80: */ - vm_offset_t rpb_tbhint_off; /* 88: */ - u_int64_t rpb_pcs_cnt; /* 90: */ - u_int64_t rpb_pcs_size; /* 98; pcs size in bytes */ - vm_offset_t rpb_pcs_off; /* A0: offset to pcs info */ - u_int64_t rpb_ctb_cnt; /* A8: console terminal */ - u_int64_t rpb_ctb_size; /* B0: ctb size in bytes */ - vm_offset_t rpb_ctb_off; /* B8: offset to ctb */ - vm_offset_t rpb_crb_off; /* C0: offset to crb */ - vm_offset_t rpb_memdat_off; /* C8: memory data offset */ - vm_offset_t rpb_condat_off; /* D0: config data offset */ - vm_offset_t rpb_fru_off; /* D8: FRU table offset */ - u_int64_t rpb_save_term; /* E0: terminal save */ - u_int64_t rpb_save_term_val; /* E8: */ - u_int64_t rpb_rest_term; /* F0: terminal restore */ - u_int64_t rpb_rest_term_val; /* F8: */ - u_int64_t rpb_restart; /* 100: restart */ - u_int64_t rpb_restart_val; /* 108: */ - u_int64_t rpb_reserve_os; /* 110: */ - u_int64_t rpb_reserve_hw; /* 118: */ - u_int64_t rpb_checksum; /* 120: HWRPB checksum */ - u_int64_t rpb_rxrdy; /* 128: receive ready */ - u_int64_t rpb_txrdy; /* 130: transmit ready */ - vm_offset_t rpb_dsrdb_off; /* 138: HWRPB + DSRDB offset */ - u_int64_t rpb_tbhint[8]; /* 149: TB hint block */ -}; - -#define LOCATE_PCS(h,cpunumber) ((struct pcs *) \ - ((char *)(h) + (h)->rpb_pcs_off + ((cpunumber) * (h)->rpb_pcs_size))) - -/* - * PCS: Per-CPU information. - */ -struct pcs { - - u_int64_t pcs_hwpcb[16]; /* 0: PAL dependent */ - -#define PCS_BIP 0x000001 /* boot in progress */ -#define PCS_RC 0x000002 /* restart possible */ -#define PCS_PA 0x000004 /* processor available */ -#define PCS_PP 0x000008 /* processor present */ -#define PCS_OH 0x000010 /* user halted */ -#define PCS_CV 0x000020 /* context valid */ -#define PCS_PV 0x000040 /* PALcode valid */ -#define PCS_PMV 0x000080 /* PALcode memory valid */ -#define PCS_PL 0x000100 /* PALcode loaded */ - -#define PCS_HALT_REQ 0xff0000 /* halt request mask */ -#define PCS_HALT_DEFAULT 0x000000 -#define PCS_HALT_SAVE_EXIT 0x010000 -#define PCS_HALT_COLD_BOOT 0x020000 -#define PCS_HALT_WARM_BOOT 0x030000 -#define PCS_HALT_STAY_HALTED 0x040000 -#define PCS_mbz 0xffffffffff000000 /* 24:63 -- must be zero */ - u_int64_t pcs_flags; /* 128: */ - - u_int64_t pcs_pal_memsize; /* 136: PAL memory size */ - u_int64_t pcs_pal_scrsize; /* 144: PAL scratch size */ - vm_offset_t pcs_pal_memaddr; /* 152: PAL memory addr */ - vm_offset_t pcs_pal_scraddr; /* 160: PAL scratch addr */ - struct { - u_int64_t - minorrev : 8, /* alphabetic char 'a' - 'z' */ - majorrev : 8, /* alphabetic char 'a' - 'z' */ -#define PAL_TYPE_STANDARD 0 -#define PAL_TYPE_VMS 1 -#define PAL_TYPE_OSF1 2 - pal_type : 8, /* PALcode type: - * 0 == standard - * 1 == OpenVMS - * 2 == OSF/1 - * 3-127 DIGITAL reserv. - * 128-255 non-DIGITAL reserv. - */ - sbz1 : 8, - compatibility : 16, /* Compatibility revision */ - proc_cnt : 16; /* Processor count */ - } pcs_pal_rev; /* 168: */ -#define pcs_minorrev pcs_pal_rev.minorrev -#define pcs_majorrev pcs_pal_rev.majorrev -#define pcs_pal_type pcs_pal_rev.pal_type -#define pcs_compatibility pcs_pal_rev.compatibility -#define pcs_proc_cnt pcs_pal_rev.proc_cnt - - u_int64_t pcs_proc_type; /* 176: processor type */ - -#define PCS_PROC_MAJOR 0x00000000ffffffff -#define PCS_PROC_MAJORSHIFT 0 - -#define PCS_PROC_EV3 1 /* EV3 */ -#define PCS_PROC_EV4 2 /* EV4: 21064 */ -#define PCS_PROC_SIMULATION 3 /* Simulation */ -#define PCS_PROC_LCA4 4 /* LCA4: 2106[68] */ -#define PCS_PROC_EV5 5 /* EV5: 21164 */ -#define PCS_PROC_EV45 6 /* EV45: 21064A */ -#define PCS_PROC_EV56 7 /* EV56: 21164A */ -#define PCS_PROC_EV6 8 /* EV6: 21264 */ -#define PCS_PROC_PCA56 9 /* PCA256: 21164PC */ -#define PCS_PROC_PCA57 10 /* PCA257: 21164PC */ -#define PCS_PROC_EV67 11 /* EV67: 21264A */ -#define PCS_PROC_EV68CB 12 /* EV68CB: 21264C */ -#define PCS_PROC_EV68AL 13 /* EV6AL: 21264B */ -#define PCS_PROC_EV68CX 14 /* EV6CX: 21264D */ - -#define PCS_PROC_MINOR 0xffffffff00000000 -#define PCS_PROC_MINORSHIFT 32 - - /* Minor number interpretation is processor specific. See cpu.c. */ - - u_int64_t pcs_proc_var; /* 184: processor variation. */ - -#define PCS_VAR_VAXFP 0x0000000000000001 /* VAX FP support */ -#define PCS_VAR_IEEEFP 0x0000000000000002 /* IEEE FP support */ -#define PCS_VAR_PE 0x0000000000000004 /* Primary Eligible */ -#define PCS_VAR_RESERVED 0xfffffffffffffff8 /* Reserved */ - - char pcs_proc_revision[8]; /* 192: only first 4 valid */ - char pcs_proc_sn[16]; /* 200: only first 10 valid */ - vm_offset_t pcs_machcheck; /* 216: mach chk phys addr. */ - u_int64_t pcs_machcheck_len; /* 224: length in bytes */ - vm_offset_t pcs_halt_pcbb; /* 232: pa of halt PCB */ - vm_offset_t pcs_halt_pc; /* 240: halt PC */ - u_int64_t pcs_halt_ps; /* 248: halt PS */ - u_int64_t pcs_halt_r25; /* 256: halt argument list */ - u_int64_t pcs_halt_r26; /* 264: halt ra list */ - u_int64_t pcs_halt_r27; /* 272: halt procedure value */ - -#define PCS_HALT_RESERVED 0 -#define PCS_HALT_POWERUP 1 -#define PCS_HALT_CONSOLE_HALT 2 -#define PCS_HALT_CONSOLE_CRASH 3 -#define PCS_HALT_KERNEL_MODE 4 -#define PCS_HALT_KERNEL_STACK_INVALID 5 -#define PCS_HALT_DOUBLE_ERROR_ABORT 6 -#define PCS_HALT_SCBB 7 -#define PCS_HALT_PTBR 8 /* 9-FF: reserved */ - u_int64_t pcs_halt_reason; /* 280: */ - - u_int64_t pcs_reserved_soft; /* 288: preserved software */ - struct { - u_int32_t rxlen; - u_int32_t txlen; - char rxbuf[80]; - char txbuf[80]; - } pcs_buffer; /* 296: console buffers */ - -#define PALvar_reserved 0 -#define PALvar_OpenVMS 1 -#define PALvar_OSF1 2 - u_int64_t pcs_palrevisions[16]; /* 464: PALcode revisions */ - - u_int64_t pcs_reserved_arch[6]; /* 592: reserved arch */ -}; - -/* - * CTB: Console Terminal Block - */ -struct ctb { - u_int64_t ctb_type; /* 0: always 4 */ - u_int64_t ctb_unit; /* 8: */ - u_int64_t ctb_reserved; /* 16: */ - u_int64_t ctb_len; /* 24: bytes of info */ - u_int64_t ctb_ipl; /* 32: console ipl level */ - vm_offset_t ctb_tintr_vec; /* 40: transmit vec (0x800) */ - vm_offset_t ctb_rintr_vec; /* 48: receive vec (0x800) */ - -#define CTB_GRAPHICS 3 /* graphics device */ -#define CTB_NETWORK 0xC0 /* network device */ -#define CTB_PRINTERPORT 2 /* printer port on the SCC */ - u_int64_t ctb_term_type; /* 56: terminal type */ - - u_int64_t ctb_keybd_type; /* 64: keyboard nationality */ - vm_offset_t ctb_keybd_trans; /* 72: trans. table addr */ - vm_offset_t ctb_keybd_map; /* 80: map table addr */ - u_int64_t ctb_keybd_state; /* 88: keyboard flags */ - u_int64_t ctb_keybd_last; /* 96: last key entered */ - vm_offset_t ctb_font_us; /* 104: US font table addr */ - vm_offset_t ctb_font_mcs; /* 112: MCS font table addr */ - u_int64_t ctb_font_width; /* 120: font width, height */ - u_int64_t ctb_font_height; /* 128: in pixels */ - u_int64_t ctb_mon_width; /* 136: monitor width, height */ - u_int64_t ctb_mon_height; /* 144: in pixels */ - u_int64_t ctb_dpi; /* 152: monitor dots per inch */ - u_int64_t ctb_planes; /* 160: # of planes */ - u_int64_t ctb_cur_width; /* 168: cursor width, height */ - u_int64_t ctb_cur_height; /* 176: in pixels */ - u_int64_t ctb_head_cnt; /* 184: # of heads */ - u_int64_t ctb_opwindow; /* 192: opwindow on screen */ - vm_offset_t ctb_head_offset; /* 200: offset to head info */ - vm_offset_t ctb_putchar; /* 208: output char to TURBO */ - u_int64_t ctb_io_state; /* 216: I/O flags */ - u_int64_t ctb_listen_state; /* 224: listener flags */ - vm_offset_t ctb_xaddr; /* 232: extended info addr */ - u_int64_t ctb_turboslot; /* 248: TURBOchannel slot # */ - u_int64_t ctb_server_off; /* 256: offset to server info */ - u_int64_t ctb_line_off; /* 264: line parameter offset */ - u_int8_t ctb_csd; /* 272: console specific data */ -}; - -/* - * CRD: Console Routine Descriptor - */ -struct crd { - int64_t descriptor; - u_int64_t entry_va; -}; - -/* - * CRB: Console Routine Block - */ -struct crb { - struct crd *crb_v_dispatch; /* 0: virtual dispatch addr */ - vm_offset_t crb_p_dispatch; /* 8: phys dispatch addr */ - struct crd *crb_v_fixup; /* 10: virtual fixup addr */ - vm_offset_t crb_p_fixup; /* 18: phys fixup addr */ - u_int64_t crb_map_cnt; /* 20: phys/virt map entries */ - u_int64_t crb_page_cnt; /* 28: pages to be mapped */ -}; - -/* - * MDDT: Memory Data Descriptor Table - */ -struct mddt { - int64_t mddt_cksum; /* 0: 7-N checksum */ - vm_offset_t mddt_physaddr; /* 8: bank config addr - * IMPLEMENTATION SPECIFIC - */ - u_int64_t mddt_cluster_cnt; /* 10: memory cluster count */ - struct mddt_cluster { - vm_offset_t mddt_pfn; /* 0: starting PFN */ - u_int64_t mddt_pg_cnt; /* 8: 8KB page count */ - u_int64_t mddt_pg_test; /* 10: tested page count */ - vm_offset_t mddt_v_bitaddr; /* 18: bitmap virt addr */ - vm_offset_t mddt_p_bitaddr; /* 20: bitmap phys addr */ - int64_t mddt_bit_cksum; /* 28: bitmap checksum */ - -#define MDDT_NONVOLATILE 0x10 /* cluster is non-volatile */ -#define MDDT_PALCODE 0x01 /* console and PAL only */ -#define MDDT_SYSTEM 0x00 /* system software only */ -#define MDDT_mbz 0xfffffffffffffffc /* 2:63 -- must be zero */ - int64_t mddt_usage; /* 30: bitmap permissions */ - } mddt_clusters[1]; /* variable length array */ -}; - -/* - * DSR: Dynamic System Recognition. We're interested in the sysname - * offset. The data pointed to by sysname is: - * - * [8 bytes: length of system name][N bytes: system name string] - * - * The system name string is NUL-terminated. - */ -struct dsrdb { - int64_t dsr_smm; /* 0: SMM number */ - u_int64_t dsr_lurt_off; /* 8: LURT table offset */ - u_int64_t dsr_sysname_off; /* 16: offset to sysname */ -}; - -/* - * The DSR appeared in version 5 of the HWRPB. - */ -#define HWRPB_DSRDB_MINVERS 5 - -#endif /* ASSEMBLER */ diff --git a/sys/alpha/include/runq.h b/sys/alpha/include/runq.h deleted file mode 100644 index 6d03646..0000000 --- a/sys/alpha/include/runq.h +++ /dev/null @@ -1,58 +0,0 @@ -/*- - * Copyright (c) 2001 Jake Burkholder <jake@FreeBSD.org> - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_RUNQ_H_ -#define _MACHINE_RUNQ_H_ - -#define RQB_LEN (1UL) /* Number of priority status words. */ -#define RQB_L2BPW (6UL) /* Log2(sizeof(rqb_word_t) * NBBY)). */ -#define RQB_BPW (1UL<<RQB_L2BPW) /* Bits in an rqb_word_t. */ - -#define RQB_BIT(pri) (1UL << ((pri) & (RQB_BPW - 1))) -#define RQB_WORD(pri) ((pri) >> RQB_L2BPW) - -#define RQB_FFS(word) (ffs64(word) - 1) - -/* - * Type of run queue status word. - */ -typedef u_int64_t rqb_word_t; - -static __inline u_long -ffs64(u_long mask) -{ - u_long bit; - - if (mask == 0) - return (0); - for (bit = 1; (mask & 1UL) == 0; bit++) - mask >>= 1UL; - return (bit); -} - -#endif diff --git a/sys/alpha/include/setjmp.h b/sys/alpha/include/setjmp.h deleted file mode 100644 index bf1bec6..0000000 --- a/sys/alpha/include/setjmp.h +++ /dev/null @@ -1,53 +0,0 @@ -/*- - * Copyright (c) 1994, 1995 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - * - * $NetBSD: setjmp.h,v 1.2 1997/04/06 08:47:41 cgd Exp $ - * $FreeBSD$ - */ - -/* - * machine/setjmp.h: machine dependent setjmp-related information. - */ - -#ifndef _MACHINE_SETJMP_H_ -#define _MACHINE_SETJMP_H_ - -#include <sys/cdefs.h> - -#define _JBLEN 81 /* Size, in longs, of a jmp_buf. */ - -/* - * jmp_buf and sigjmp_buf are encapsulated in different structs to force - * compile-time diagnostics for mismatches. The structs are the same - * internally to avoid some run-time errors for mismatches. - */ -#if __BSD_VISIBLE || __POSIX_VISIBLE || __XSI_VISIBLE -typedef struct _sigjmp_buf { long _sjb[_JBLEN + 1]; } sigjmp_buf[1]; -#endif - -typedef struct _jmp_buf { long _jb[_JBLEN + 1]; } jmp_buf[1]; - -#endif /* !_MACHINE_SETJMP_H_ */ diff --git a/sys/alpha/include/sf_buf.h b/sys/alpha/include/sf_buf.h deleted file mode 100644 index d000e30..0000000 --- a/sys/alpha/include/sf_buf.h +++ /dev/null @@ -1,58 +0,0 @@ -/*- - * Copyright (c) 2003 Alan L. Cox <alc@cs.rice.edu> - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_SF_BUF_H_ -#define _MACHINE_SF_BUF_H_ - -#include <vm/vm.h> -#include <vm/vm_param.h> -#include <vm/vm_page.h> - -/* - * On this machine, the only purpose for which sf_buf is used is to implement - * an opaque pointer required by the machine-independent parts of the kernel. - * That pointer references the vm_page that is "mapped" by the sf_buf. The - * actual mapping is provided by the direct virtual-to-physical mapping. - */ -struct sf_buf; - -static __inline vm_offset_t -sf_buf_kva(struct sf_buf *sf) -{ - - return (ALPHA_PHYS_TO_K0SEG(VM_PAGE_TO_PHYS((vm_page_t)sf))); -} - -static __inline vm_page_t -sf_buf_page(struct sf_buf *sf) -{ - - return ((vm_page_t)sf); -} - -#endif /* !_MACHINE_SF_BUF_H_ */ diff --git a/sys/alpha/include/sgmap.h b/sys/alpha/include/sgmap.h deleted file mode 100644 index 08ccbc7..0000000 --- a/sys/alpha/include/sgmap.h +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * Copyright (c) 1998 Doug Rabson - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_SGMAP_H_ -#define _MACHINE_SGMAP_H_ - -struct sgmap; - -typedef void sgmap_map_callback(void *arg, bus_addr_t ba, vm_offset_t pa); - -vm_offset_t sgmap_overflow_page(void); -struct sgmap *sgmap_map_create(bus_addr_t sba, bus_addr_t eba, - sgmap_map_callback *map, void *arg); -void sgmap_map_destroy(struct sgmap *sgmap); -bus_addr_t sgmap_alloc_region(struct sgmap *sgmap, - bus_size_t size, bus_size_t boundary, - void **mhp); -void sgmap_load_region(struct sgmap *sgmap, bus_addr_t sba, - vm_offset_t va, bus_size_t size); -void sgmap_unload_region(struct sgmap *sgmap, - bus_addr_t sba, bus_size_t size); -void sgmap_free_region(struct sgmap *sgmap, void *mh); - -#endif /* !_MACHINE_SGMAP_H_ */ diff --git a/sys/alpha/include/sigframe.h b/sys/alpha/include/sigframe.h deleted file mode 100644 index 01196e5..0000000 --- a/sys/alpha/include/sigframe.h +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * Copyright (c) 1999 Marcel Moolenaar - * All rights reserved. - * - * 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 - * in this position and unchanged. - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_SIGFRAME_H_ -#define _MACHINE_SIGFRAME_H_ 1 - -#if defined(_KERNEL) && defined(COMPAT_FREEBSD4) -/* FreeBSD 4.x */ -struct sigframe4 { - unsigned long __spare__; - struct ucontext4 sf_uc; - siginfo_t sf_si; -}; -#endif - -struct sigframe { - unsigned long __spare__; - struct __ucontext sf_uc; - siginfo_t sf_si; -}; - -#endif /* _MACHINE_SIGFRAME_H_ */ diff --git a/sys/alpha/include/signal.h b/sys/alpha/include/signal.h deleted file mode 100644 index 06f6a41..0000000 --- a/sys/alpha/include/signal.h +++ /dev/null @@ -1,98 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: signal.h,v 1.3 1997/04/06 08:47:43 cgd Exp */ - -/*- - * Copyright (c) 1994, 1995 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -#ifndef _ALPHA_SIGNAL_H_ -#define _ALPHA_SIGNAL_H_ - -#include <sys/cdefs.h> -#include <sys/_sigset.h> - -typedef long sig_atomic_t; - -/* - * Only the kernel should need these old type definitions. - */ -#if defined(_KERNEL) && defined(COMPAT_43) -/* - * Information pushed on stack when a signal is delivered. - * This is used by the kernel to restore state following - * execution of the signal handler. It is also made available - * to the handler to allow it to restore state properly if - * a non-standard exit is performed. - * - * Note that sc_regs[] and sc_fpregs[]+sc_fpcr are inline - * representations of 'struct reg' and 'struct fpreg', respectively. - */ -struct osigcontext { - long sc_onstack; /* sigstack state to restore */ - long sc_mask; /* signal mask to restore */ - long sc_pc; /* pc to restore */ - long sc_ps; /* ps to restore */ - unsigned long sc_regs[32]; /* integer register set (see above) */ - long sc_ownedfp; /* fp has been used */ - unsigned long sc_fpregs[32]; /* FP register set (see above) */ - unsigned long sc_fpcr; /* FP control register (see above) */ - unsigned long sc_fp_control; /* FP software control word */ - long sc_reserved[2]; /* XXX */ - long sc_xxx1[2]; /* sc_ssize, sc_sbase on DUX */ - unsigned long sc_traparg_a0; /* a0 argument to trap at exception */ - unsigned long sc_traparg_a1; /* a1 argument to trap at exception */ - unsigned long sc_traparg_a2; /* a2 argument to trap at exception */ - long sc_xxx2[3]; /* sc_fp_trap_pc, sc_fp_trigger_sum, sc_fp_trigger_inst */ -}; -#endif /* _KERNEL */ - -#if __BSD_VISIBLE -/* - * The sequence of the fields should match those in - * mcontext_t. Keep them in sync! - */ -struct sigcontext { - struct __sigset sc_mask; /* signal mask to restore */ - long sc_onstack; /* sigstack state to restore */ - unsigned long sc_regs[32]; /* integer register set (see above) */ - long sc_ps; /* ps to restore */ - long sc_pc; /* pc to restore */ - unsigned long sc_traparg_a0; /* a0 argument to trap at exception */ - unsigned long sc_traparg_a1; /* a1 argument to trap at exception */ - unsigned long sc_traparg_a2; /* a2 argument to trap at exception */ - unsigned long sc_fpregs[32]; /* FP register set (see above) */ - unsigned long sc_fpcr; /* FP control register (see above) */ - unsigned long sc_fp_control; /* FP software control word */ - long sc_ownedfp; /* fp has been used; see mcontext_t */ - long sc_format; /* see mcontext_t */ - long sc_spare[6]; /* XXX */ -}; - -#define sc_sp sc_regs[R_SP] - -#endif /* __BSD_VISIBLE */ - -#endif /* !_ALPHA_SIGNAL_H_*/ diff --git a/sys/alpha/include/smp.h b/sys/alpha/include/smp.h deleted file mode 100644 index 9bfd0c6..0000000 --- a/sys/alpha/include/smp.h +++ /dev/null @@ -1,41 +0,0 @@ -/*- - * ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42): - * <phk@FreeBSD.org> wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp - * ---------------------------------------------------------------------------- - * - * $FreeBSD$ - * - */ - -#ifndef _MACHINE_SMP_H_ -#define _MACHINE_SMP_H_ - -#ifdef _KERNEL - -/* - * Interprocessor interrupts for SMP. - */ -#define IPI_INVLTLB 0x0001 -#define IPI_RENDEZVOUS 0x0002 -#define IPI_AST 0x0004 -#define IPI_CHECKSTATE 0x0008 -#define IPI_STOP 0x0010 - -#ifndef LOCORE - -extern u_int64_t boot_cpu_id; -extern struct pcb stoppcbs[]; - -void ipi_selected(u_int cpus, u_int64_t ipi); -void ipi_all(u_int64_t ipi); -void ipi_all_but_self(u_int64_t ipi); -void ipi_self(u_int64_t ipi); -void smp_handle_ipi(struct trapframe *frame); -void smp_init_secondary(void); - -#endif /* !LOCORE */ -#endif /* _KERNEL */ -#endif /* _MACHINE_SMP_H_ */ diff --git a/sys/alpha/include/stdarg.h b/sys/alpha/include/stdarg.h deleted file mode 100644 index 1344962..0000000 --- a/sys/alpha/include/stdarg.h +++ /dev/null @@ -1,92 +0,0 @@ -/*- - * Copyright (c) 2002 David E. O'Brien. All rights reserved. - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * 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 University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * @(#)stdarg.h 8.1 (Berkeley) 6/10/93 - * $NetBSD: stdarg.h,v 1.7 1997/04/06 08:47:44 cgd Exp $ - * $FreeBSD$ - */ - -#ifndef _MACHINE_STDARG_H_ -#define _MACHINE_STDARG_H_ - -#include <sys/cdefs.h> -#include <sys/_types.h> - -#ifndef _VA_LIST_DECLARED -#define _VA_LIST_DECLARED -typedef __va_list va_list; -#endif - -#ifdef __GNUCLIKE_BUILTIN_STDARG - -#define va_start(ap, last) \ - __builtin_stdarg_start((ap), (last)) - -#define va_arg(ap, type) \ - __builtin_va_arg((ap), type) - -#if __ISO_C_VISIBLE >= 1999 -#define va_copy(dest, src) \ - __builtin_va_copy((dest), (src)) -#endif - -#define va_end(ap) \ - __builtin_va_end(ap) - -#else /* !__GNUCLIKE_BUILTIN_STDARG */ - -#ifdef __lint__ -#define __builtin_saveregs() (0) -#define __builtin_classify_type(t) (0) -#endif - -#define __va_size(type) \ - (((sizeof(type) + sizeof(long) - 1) / sizeof(long)) * sizeof(long)) - -#define va_start(ap, last) \ - (__builtin_next_arg(last), (ap) = *(va_list *)__builtin_saveregs(), (ap).__pad = 0) - -#define __REAL_TYPE_CLASS 8 -#define __va_arg_offset(ap, type) \ - ((__builtin_classify_type(*(type *)0) == __REAL_TYPE_CLASS && \ - (ap).__offset <= (6 * 8) ? -(6 * 8) : 0) - __va_size(type)) - -#define va_arg(ap, type) \ - (*(type *)((ap).__offset += __va_size(type), \ - (ap).__base + (ap).__offset + __va_arg_offset(ap, type))) - -#define va_end(ap) ((void)0) - -#endif /* __GNUCLIKE_BUILTIN_STDARG */ - -#endif /* !_MACHINE_STDARG_H_ */ diff --git a/sys/alpha/include/swiz.h b/sys/alpha/include/swiz.h deleted file mode 100644 index 465a81a..0000000 --- a/sys/alpha/include/swiz.h +++ /dev/null @@ -1,95 +0,0 @@ -/*- - * Copyright (c) 1998 Doug Rabson - * All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_SWIZ_H_ -#define _MACHINE_SWIZ_H_ - -/* - * Macros for accessing device ports or memory in a sparse address space. - */ - -#define SPARSE_READ(o) (*(u_int32_t*) (o)) -#define SPARSE_WRITE(o, d) (*(u_int32_t*) (o) = (d)) - -#define SPARSE_BYTE_OFFSET(o) (((o) << 5) | (0 << 3)) -#define SPARSE_WORD_OFFSET(o) (((o) << 5) | (1 << 3)) -#define SPARSE_LONG_OFFSET(o) (((o) << 5) | (3 << 3)) - -#define SPARSE_BYTE_ADDRESS(base, o) ((base) + SPARSE_BYTE_OFFSET(o)) -#define SPARSE_WORD_ADDRESS(base, o) ((base) + SPARSE_WORD_OFFSET(o)) -#define SPARSE_LONG_ADDRESS(base, o) ((base) + SPARSE_LONG_OFFSET(o)) - -#define SPARSE_BYTE_EXTRACT(o, d) ((d) >> (8*((o) & 3))) -#define SPARSE_WORD_EXTRACT(o, d) ((d) >> (8*((o) & 2))) -#define SPARSE_LONG_EXTRACT(o, d) (d) - -#define SPARSE_BYTE_INSERT(o, d) ((d) << (8*((o) & 3))) -#define SPARSE_WORD_INSERT(o, d) ((d) << (8*((o) & 2))) -#define SPARSE_LONG_INSERT(o, d) (d) - -#define SPARSE_READ_BYTE(base, o) \ - SPARSE_BYTE_EXTRACT(o, SPARSE_READ(base + SPARSE_BYTE_OFFSET(o))) - -#define SPARSE_READ_WORD(base, o) \ - SPARSE_WORD_EXTRACT(o, SPARSE_READ(base + SPARSE_WORD_OFFSET(o))) - -#define SPARSE_READ_LONG(base, o) \ - SPARSE_READ(base + SPARSE_LONG_OFFSET(o)) - -#define SPARSE_WRITE_BYTE(base, o, d) \ - SPARSE_WRITE(base + SPARSE_BYTE_OFFSET(o), SPARSE_BYTE_INSERT(o, d)) - -#define SPARSE_WRITE_WORD(base, o, d) \ - SPARSE_WRITE(base + SPARSE_WORD_OFFSET(o), SPARSE_WORD_INSERT(o, d)) - -#define SPARSE_WRITE_LONG(base, o, d) \ - SPARSE_WRITE(base + SPARSE_LONG_OFFSET(o), d) - -#ifdef _KERNEL - -/* - * A kernel object for accessing memory-like spaces (port and - * memory spaces) using SWIZ instructions. - */ - -typedef u_int32_t (*swiz_sethae_fn)(void *arg, u_int32_t hae); - -struct swiz_space { - struct alpha_busspace_ops *ops; - u_int64_t base; /* base address of space */ - swiz_sethae_fn sethae; /* function to set HAE */ - void *arg; /* arg to sethae() */ -}; - -void swiz_init_space(struct swiz_space *swiz, u_int64_t base); -void swiz_init_space_hae(struct swiz_space *swiz, u_int64_t base, - swiz_sethae_fn sethae, void *arg); - -#endif /* _KERNEL */ - -#endif /* !_MACHINE_SWIZ_H_ */ diff --git a/sys/alpha/include/sysarch.h b/sys/alpha/include/sysarch.h deleted file mode 100644 index b953d2f..0000000 --- a/sys/alpha/include/sysarch.h +++ /dev/null @@ -1,55 +0,0 @@ -/*- - * Copyright (c) 1993 The Regents of the University of California. - * All rights reserved. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * $FreeBSD$ - */ - -/* - * Architecture specific syscalls (alpha) - */ -#ifndef _MACHINE_SYSARCH_H_ -#define _MACHINE_SYSARCH_H_ - -#define ALPHA_SETHAE 0 -#define ALPHA_GET_FPMASK 1 -#define ALPHA_SET_FPMASK 2 -#define ALPHA_GET_UAC 3 -#define ALPHA_SET_UAC 4 - -#ifndef _KERNEL -#include <sys/cdefs.h> - -union descriptor; - -__BEGIN_DECLS -int alpha_sethae(u_int64_t); -int sysarch(int, void *); -__END_DECLS -#endif - -#endif /* !_MACHINE_SYSARCH_H_ */ diff --git a/sys/alpha/include/timerreg.h b/sys/alpha/include/timerreg.h deleted file mode 100644 index 0ab7d40..0000000 --- a/sys/alpha/include/timerreg.h +++ /dev/null @@ -1,65 +0,0 @@ -/*- - * Copyright (C) 2005 TAKAHASHI Yoshihiro. All rights reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. - * - * $FreeBSD$ - */ - -/* - * The outputs of the three timers are connected as follows: - * - * timer 0 -> irq 0 - * timer 1 -> dma chan 0 (for dram refresh) - * timer 2 -> speaker (via keyboard controller) - * - * Timer 0 is used to call hardclock. - * Timer 2 is used to generate console beeps. - */ - -#ifndef _MACHINE_TIMERREG_H_ -#define _MACHINE_TIMERREG_H_ - -#ifdef _KERNEL - -#include <dev/ic/i8253reg.h> - -#define IO_TIMER1 0x40 /* 8253 Timer #1 */ -#define TIMER_CNTR0 (IO_TIMER1 + TIMER_REG_CNTR0) -#define TIMER_CNTR1 (IO_TIMER1 + TIMER_REG_CNTR1) -#define TIMER_CNTR2 (IO_TIMER1 + TIMER_REG_CNTR2) -#define TIMER_MODE (IO_TIMER1 + TIMER_REG_MODE) - -#define timer_spkr_acquire() \ - acquire_timer2(TIMER_SEL2 | TIMER_SQWAVE | TIMER_16BIT) -#define timer_spkr_release() \ - release_timer2() - -#define spkr_set_pitch(pitch) \ - do { \ - outb(TIMER_CNTR2, (pitch) & 0xff); \ - outb(TIMER_CNTR2, (pitch) >> 8); \ - } while(0) - -#endif /* _KERNEL */ - -#endif /* _MACHINE_TIMERREG_H_ */ diff --git a/sys/alpha/include/ucontext.h b/sys/alpha/include/ucontext.h deleted file mode 100644 index d60cc6c..0000000 --- a/sys/alpha/include/ucontext.h +++ /dev/null @@ -1,69 +0,0 @@ -/*- - * Copyright (c) 1999 Marcel Moolenaar - * All rights reserved. - * - * 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 - * in this position and unchanged. - * 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. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. - * - * $FreeBSD$ - */ - -#ifndef _MACHINE_UCONTEXT_H_ -#define _MACHINE_UCONTEXT_H_ - -typedef struct __mcontext { - /* - * These fields must match the definition - * of struct sigcontext. That way we can support - * struct sigcontext and ucontext_t at the same - * time. - */ - long mc_onstack; /* XXX - sigcontext compat. */ - unsigned long mc_regs[37]; - unsigned long mc_fpregs[32]; - unsigned long mc_fpcr; - unsigned long mc_fp_control; -#define _MC_FPOWNED_NONE 0 /* FP state not used */ -#define _MC_FPOWNED_FPU 1 /* FP state came from FPU */ -#define _MC_FPOWNED_PCB 2 /* FP state came from PCB */ - long mc_ownedfp; -#define _MC_REV0_SIGFRAME 1 /* context is a signal frame */ -#define _MC_REV0_TRAPFRAME 2 /* context is a trap frame */ - long mc_format; - long mc_thrptr; /* Thread pointer */ - long mc_spare[5]; -} mcontext_t; - -#if defined(_KERNEL) && defined(COMPAT_FREEBSD4) -struct mcontext4 { - long mc_onstack; /* XXX - sigcontext compat. */ - unsigned long mc_regs[37]; - unsigned long mc_fpregs[32]; - unsigned long mc_fpcr; - unsigned long mc_fp_control; - long mc_ownedfp; - long __spare__[7]; -}; -#endif - -#endif /* !_MACHINE_UCONTEXT_H_ */ diff --git a/sys/alpha/include/varargs.h b/sys/alpha/include/varargs.h deleted file mode 100644 index b05a9a5..0000000 --- a/sys/alpha/include/varargs.h +++ /dev/null @@ -1,85 +0,0 @@ -/*- - * Copyright (c) 2002 David E. O'Brien. All rights reserved. - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * 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 University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * @(#)varargs.h 8.2 (Berkeley) 3/22/94 - * $NetBSD: varargs.h,v 1.7 1997/04/06 08:47:46 cgd Exp $ - * $FreeBSD$ - */ - -#ifndef _MACHINE_VARARGS_H_ -#define _MACHINE_VARARGS_H_ - -#ifndef _SYS_CDEFS_H_ -#error this file needs sys/cdefs.h as a prerequisite -#endif - -#if defined(__GNUCLIKE_BUILTIN_VARARGS) - -#include <sys/_types.h> - -#ifndef _VA_LIST_DECLARED -#define _VA_LIST_DECLARED -typedef __va_list va_list; -#endif - -typedef int __builtin_va_alist_t __attribute__((__mode__(__word__))); - -#define va_alist __builtin_va_alist -#define va_dcl __builtin_va_alist_t __builtin_va_alist; ... -#define va_start(ap) __builtin_varargs_start(ap) -#define va_arg(ap, type) __builtin_va_arg((ap), type) -#define va_end(ap) __builtin_va_end(ap) - -#else /* ! __GNUCLIKE_BUILTIN_VARARGS */ - -#include <machine/stdarg.h> - -#define __va_ellipsis ... - -#ifdef __GNUCLIKE_BUILTIN_VAALIST -#define va_alist __builtin_va_alist -#define va_dcl long __builtin_va_alist; __va_ellipsis -#endif - -#undef va_start -#define va_start(ap) \ - ((ap) = *(va_list *)__builtin_saveregs(), (ap).__pad = 0) - -#endif /* __GNUCLIKE_BUILTIN_VARARGS */ - -#endif /* !_MACHINE_VARARGS_H_ */ diff --git a/sys/alpha/include/vmparam.h b/sys/alpha/include/vmparam.h deleted file mode 100644 index cc35d27..0000000 --- a/sys/alpha/include/vmparam.h +++ /dev/null @@ -1,165 +0,0 @@ -/* $FreeBSD$ */ -/* From: NetBSD: vmparam.h,v 1.6 1997/09/23 23:23:23 mjacob Exp */ -#ifndef _ALPHA_VMPARAM_H -#define _ALPHA_VMPARAM_H -/*- - * Copyright (c) 1988 University of Utah. - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * the Systems Programming Group of the University of Utah Computer - * Science Department and Ralph Campbell. - * - * 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. - * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. - * - * from: Utah $Hdr: vmparam.h 1.16 91/01/18$ - * - * @(#)vmparam.h 8.2 (Berkeley) 4/22/94 - */ - -/* - * Machine dependent constants for Alpha. - */ -/* - * USRTEXT is the start of the user text/data space, while USRSTACK - * is the top (end) of the user stack. Immediately above the user stack - * resides the user structure, which is UPAGES long and contains the - * kernel stack. - */ -#define USRTEXT CLBYTES -/* #define USRSTACK VM_MAXUSER_ADDRESS */ - -/* - * This stack location is suitable for OSF1 emulation. Some OSF - * programs are built as 32bit and assume that the stack is reachable - * with a 32bit value. OSF1 manages to have a variable location for - * the user stack which we should probably also support. - */ -#define USRSTACK (0x12000000LL) - -/* - * Virtual memory related constants, all in bytes - */ -#ifndef MAXTSIZ -#define MAXTSIZ (1<<30) /* max text size (1G) */ -#endif -#ifndef DFLDSIZ -#define DFLDSIZ (1<<27) /* initial data size (128M) */ -#endif -#ifndef MAXDSIZ -#define MAXDSIZ (1<<30) /* max data size (1G) */ -#endif -#ifndef DFLSSIZ -#define DFLSSIZ (1<<21) /* initial stack size (2M) */ -#endif -#ifndef MAXSSIZ -#define MAXSSIZ (1<<25) /* max stack size (32M) */ -#endif -#ifndef SGROWSIZ -#define SGROWSIZ (128UL*1024) /* amount to grow stack */ -#endif - -/* - * PTEs for mapping user space into the kernel for phyio operations. - * 64 pte's are enough to cover 8 disks * MAXBSIZE. - */ -#ifndef USRIOSIZE -#define USRIOSIZE 64 -#endif - -/* - * Boundary at which to place first MAPMEM segment if not explicitly - * specified. Should be a power of two. This allows some slop for - * the data segment to grow underneath the first mapped segment. - */ -#define MMSEG 0x200000 - -/* - * The size of the clock loop. - */ -#define LOOPPAGES (maxfree - firstfree) - -/* - * The time for a process to be blocked before being very swappable. - * This is a number of seconds which the system takes as being a non-trivial - * amount of real time. You probably shouldn't change this; - * it is used in subtle ways (fractions and multiples of it are, that is, like - * half of a ``long time'', almost a long time, etc.) - * It is related to human patience and other factors which don't really - * change over time. - */ -#define MAXSLP 20 - -/* - * A swapped in process is given a small amount of core without being bothered - * by the page replacement algorithm. Basically this says that if you are - * swapped in you deserve some resources. We protect the last SAFERSS - * pages against paging and will just swap you out rather than paging you. - * Note that each process has at least UPAGES pages which are not - * paged anyways, in addition to SAFERSS. - */ -#define SAFERSS 10 /* nominal ``small'' resident set size - protected against replacement */ - -/* - * Alpha provides a machine specific single page allocator through the use - * of K0SEG. - */ -#define UMA_MD_SMALL_ALLOC - -/* - * Mach derived constants - */ - -/* user/kernel map constants */ -#define VM_MIN_ADDRESS (ALPHA_USEG_BASE) /* 0 */ -#define VM_MAXUSER_ADDRESS ((ALPHA_USEG_END + 1LL)) -#define VM_MAX_ADDRESS VM_MAXUSER_ADDRESS -#define VM_MIN_KERNEL_ADDRESS (ALPHA_K1SEG_BASE) -#define VM_MAX_KERNEL_ADDRESS (ALPHA_K1SEG_END) - -/* virtual sizes (bytes) for various kernel submaps */ -#ifndef VM_KMEM_SIZE -#define VM_KMEM_SIZE (12 * 1024 * 1024) -#endif - -/* - * How many physical pages per KVA page allocated. - * min(max(VM_KMEM_SIZE, Physical memory/VM_KMEM_SIZE_SCALE), VM_KMEM_SIZE_MAX) - * is the total KVA space allocated for kmem_map. - */ -#ifndef VM_KMEM_SIZE_SCALE -#define VM_KMEM_SIZE_SCALE (4) /* XXX 8192 byte pages */ -#endif - -/* initial pagein size of beginning of executable file */ -#ifndef VM_INITIAL_PAGEIN -#define VM_INITIAL_PAGEIN 16 -#endif - -/* some Alpha-specific constants */ -#define VPTBASE (0xfffffffe00000000LL) /* Virt. pg table */ -#endif /* !_ALPHA_VMPARAM_H */ |