#ifndef _AARCH64_TYPES_H_
#define _AARCH64_TYPES_H_
#ifdef __aarch64__
#ifdef _KERNEL_OPT
#include "opt_pmap.h"
#endif
#include <sys/cdefs.h>
#include <sys/featuretest.h>
#include <arm/int_types.h>
#if defined(_KERNEL) || defined(_KMEMUSER) || defined(_KERNTYPES) || \
defined(_STANDALONE)
typedef unsigned long vm_offset_t;
typedef unsigned long vm_size_t;
typedef unsigned long paddr_t;
typedef unsigned long psize_t;
typedef unsigned long vaddr_t;
typedef unsigned long vsize_t;
#define PRIxPADDR "lx"
#define PRIxPSIZE "lx"
#define PRIuPSIZE "lu"
#define PRIxVADDR "lx"
#define PRIxVSIZE "lx"
#define PRIuVSIZE "lu"
typedef __uint64_t register_t;
typedef __uint32_t register32_t;
#define PRIxREGISTER PRIx64
#define PRIxREGISTER32 PRIx32
typedef unsigned int tlb_asid_t;
#if defined(_KERNEL)
#define LBL_X19 0
#define LBL_X20 1
#define LBL_X21 2
#define LBL_X22 3
#define LBL_X23 4
#define LBL_X24 5
#define LBL_X25 6
#define LBL_X26 7
#define LBL_X27 8
#define LBL_X28 9
#define LBL_X29 10
#define LBL_LR 11
#define LBL_SP 12
#define LBL_MAX 13
typedef struct label_t {
register_t lb_reg[LBL_MAX];
} label_t;
#endif
#endif
typedef unsigned char __cpu_simple_lock_nv_t;
typedef __uint64_t __register_t;
#define __SIMPLELOCK_LOCKED 1
#define __SIMPLELOCK_UNLOCKED 0
#define __HAVE_ATOMIC64_OPS
#define __HAVE_BUS_SPACE_8
#define __HAVE_COMMON___TLS_GET_ADDR
#define __HAVE_CPU_COUNTER
#define __HAVE_CPU_DATA_FIRST
#define __HAVE_FAST_SOFTINTS
#define __HAVE_MINIMAL_EMUL
#define __HAVE_MM_MD_DIRECT_MAPPED_PHYS
#define __HAVE_MM_MD_KERNACC
#define __HAVE_NEW_STYLE_BUS_H
#define __HAVE_OLD_DISKLABEL
#define __HAVE_SYSCALL_INTERN
#define __HAVE_TLS_VARIANT_I
#define __HAVE___LWP_GETPRIVATE_FAST
#define __HAVE_UCAS_FULL
#if defined(_KERNEL) || defined(_KMEMUSER)
#define PCU_FPU 0
#define PCU_UNIT_COUNT 1
#endif
#if defined(_KERNEL)
#define __HAVE_RAS
#endif
#if defined(PMAP_MI)
#define __HAVE_UNLOCKED_PMAP
#endif
#elif defined(__arm__)
#include <arm/types.h>
#endif
#endif