[BACK]Return to types.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / arch / amd64 / include

Annotation of src/sys/arch/amd64/include/types.h, Revision 1.45.6.1

1.45.6.1! skrll       1: /*     $NetBSD: types.h,v 1.46 2015/04/27 07:03:57 knakahara Exp $     */
1.1       fvdl        2:
                      3: /*-
                      4:  * Copyright (c) 1990 The Regents of the University of California.
                      5:  * All rights reserved.
                      6:  *
                      7:  * Redistribution and use in source and binary forms, with or without
                      8:  * modification, are permitted provided that the following conditions
                      9:  * are met:
                     10:  * 1. Redistributions of source code must retain the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer.
                     12:  * 2. Redistributions in binary form must reproduce the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer in the
                     14:  *    documentation and/or other materials provided with the distribution.
1.3       agc        15:  * 3. Neither the name of the University nor the names of its contributors
1.1       fvdl       16:  *    may be used to endorse or promote products derived from this software
                     17:  *    without specific prior written permission.
                     18:  *
                     19:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     20:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     21:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     22:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     23:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     24:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     25:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     26:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     27:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     28:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     29:  * SUCH DAMAGE.
                     30:  *
                     31:  *     @(#)types.h     7.5 (Berkeley) 3/9/91
                     32:  */
                     33:
1.27      mrg        34: #ifndef        _X86_64_MACHTYPES_H_
                     35: #define        _X86_64_MACHTYPES_H_
                     36:
                     37: #ifdef __x86_64__
1.1       fvdl       38:
                     39: #include <sys/cdefs.h>
1.2       bjh21      40: #include <sys/featuretest.h>
1.1       fvdl       41: #include <machine/int_types.h>
                     42:
                     43: #if defined(_KERNEL)
                     44: typedef struct label_t {
                     45:        long val[8];
                     46: } label_t;
                     47: #endif
                     48:
                     49: /* NB: This should probably be if defined(_KERNEL) */
1.2       bjh21      50: #if defined(_NETBSD_SOURCE)
1.1       fvdl       51: typedef unsigned long  paddr_t;
                     52: typedef unsigned long  psize_t;
                     53: typedef unsigned long  vaddr_t;
                     54: typedef unsigned long  vsize_t;
1.33      matt       55: #define        PRIxPADDR       "lx"
                     56: #define        PRIxPSIZE       "lx"
                     57: #define        PRIuPSIZE       "lu"
                     58: #define        PRIxVADDR       "lx"
                     59: #define        PRIxVSIZE       "lx"
                     60: #define        PRIuVSIZE       "lu"
1.1       fvdl       61: #endif
                     62:
1.44      christos   63: typedef int             pmc_evid_t;
                     64: typedef __uint64_t      pmc_ctr_t;
1.33      matt       65: typedef long int       register_t;
                     66: typedef int            register32_t;
                     67: #define        PRIxREGISTER    "lx"
                     68: #define        PRIxREGISTER32  "x"
1.4       nathanw    69:
1.15      ad         70: typedef        volatile unsigned char          __cpu_simple_lock_t;
                     71:
                     72: /* __cpu_simple_lock_t used to be a full word. */
                     73: #define        __CPU_SIMPLE_LOCK_PAD
1.4       nathanw    74:
                     75: #define        __SIMPLELOCK_LOCKED     1
                     76: #define        __SIMPLELOCK_UNLOCKED   0
1.1       fvdl       77:
                     78: /* The amd64 does not have strict alignment requirements. */
                     79: #define        __NO_STRICT_ALIGNMENT
                     80:
1.39      dyoung     81: #define        __HAVE_NEW_STYLE_BUS_H
1.1       fvdl       82: #define        __HAVE_CPU_COUNTER
1.35      njoly      83: #define        __HAVE_CPU_DATA_FIRST
1.45      christos   84: #define __HAVE_CPU_BOOTCONF
1.43      christos   85: #define        __HAVE_MD_CPU_OFFLINE
1.1       fvdl       86: #define        __HAVE_SYSCALL_INTERN
                     87: #define        __HAVE_MINIMAL_EMUL
1.21      ad         88: #define        __HAVE_ATOMIC64_OPS
1.38      rmind      89: #define        __HAVE_MM_MD_KERNACC
1.26      ad         90: #define        __HAVE_ATOMIC_AS_MEMBAR
1.31      tsutsui    91: #define        __HAVE_CPU_LWP_SETPRIVATE
1.36      joerg      92: #define        __HAVE___LWP_GETPRIVATE_FAST
1.37      joerg      93: #define        __HAVE_TLS_VARIANT_II
                     94: #define        __HAVE_COMMON___TLS_GET_ADDR
1.32      ad         95: #define        __HAVE_INTR_CONTROL
1.1       fvdl       96:
1.20      bouyer     97: #ifdef _KERNEL_OPT
1.40      chs        98: #define        __HAVE_RAS
                     99:
1.18      bouyer    100: #include "opt_xen.h"
1.40      chs       101: #if defined(__x86_64__) && !defined(XEN)
                    102: #define        __HAVE_DIRECT_MAP 1
                    103: #define        __HAVE_MM_MD_DIRECT_MAPPED_IO
                    104: #define        __HAVE_MM_MD_DIRECT_MAPPED_PHYS
1.41      chs       105: #define        __HAVE_CPU_UAREA_ROUTINES
1.45.6.1! skrll     106: #define        __HAVE_PCI_MSI_MSIX
1.40      chs       107: #endif
1.18      bouyer    108: #endif
1.6       martin    109:
1.27      mrg       110: #else  /*      !__x86_64__     */
                    111:
                    112: #include <i386/types.h>
                    113:
                    114: #endif /*      __x86_64__      */
                    115:
                    116: #endif /* _X86_64_MACHTYPES_H_ */

CVSweb <webmaster@jp.NetBSD.org>