the-solaris-kernel.h revision 542b82b1871753dc94a2a17b504094112f9df306
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync/* $Id$ */
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync/** @file
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * IPRT - Include all necessary headers for the Solaris kernel.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync */
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync/*
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync *
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * available from http://www.virtualbox.org. This file is free software;
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * you can redistribute it and/or modify it under the terms of the GNU
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * General Public License (GPL) as published by the Free Software
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync *
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * The contents of this file may alternatively be used under the terms
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * of the Common Development and Distribution License Version 1.0
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * VirtualBox OSE distribution, in which case the provisions of the
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * CDDL are applicable instead of those of the GPL.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync *
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * You may elect to license modified versions of this file under the
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * terms and conditions of either the GPL or the CDDL or both.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync *
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync * additional information or have any questions.
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync */
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#ifndef ___the_solaris_kernel_h
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#define ___the_solaris_kernel_h
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#define _MACHDEP /* needed for cpuset_t and sys/x_call.h */
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/kmem.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/types.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/mman.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/thread.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/mutex.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/condvar.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/sdt.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/schedctl.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/time.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/sysmacros.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/cmn_err.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/vmsystm.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/cyclic.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/class.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/cpuvar.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/archsystm.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/x_call.h> /* in platform dir */
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/x86_archext.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <vm/hat.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <vm/seg_vn.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <vm/seg_kmem.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/ddi.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/sunddi.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/spl.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <sys/archsystm.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#undef u /* /usr/include/sys/user.h:249:1 is where this is defined to (curproc->p_user). very cool. */
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <iprt/cdefs.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#include <iprt/types.h>
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncRT_C_DECLS_BEGIN
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncextern bool g_frtSolarisSplSetsEIF;
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncextern struct ddi_dma_attr g_SolarisX86PhysMemLimits;
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncextern uintptr_t kernelbase;
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsyncRT_C_DECLS_END
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync#endif
2711c80499bbd95e3da4a6cd2dffd9f81a5dce98vboxsync