From owner-svn-src-head@FreeBSD.ORG  Tue Nov 22 18:53:55 2011
Return-Path: <owner-svn-src-head@FreeBSD.ORG>
Delivered-To: svn-src-head@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 1CAAE1065670;
	Tue, 22 Nov 2011 18:53:55 +0000 (UTC) (envelope-from rmh@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id E8AA68FC0C;
	Tue, 22 Nov 2011 18:53:54 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pAMIrs5C004878;
	Tue, 22 Nov 2011 18:53:54 GMT (envelope-from rmh@svn.freebsd.org)
Received: (from rmh@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id pAMIrsQ2004876;
	Tue, 22 Nov 2011 18:53:54 GMT (envelope-from rmh@svn.freebsd.org)
Message-Id: <201111221853.pAMIrsQ2004876@svn.freebsd.org>
From: Robert Millan <rmh@FreeBSD.org>
Date: Tue, 22 Nov 2011 18:53:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-head@freebsd.org
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r227827 - head/sys/sys
X-BeenThere: svn-src-head@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for the src tree for head/-current
	<svn-src-head.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-head>,
	<mailto:svn-src-head-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-head>
List-Post: <mailto:svn-src-head@freebsd.org>
List-Help: <mailto:svn-src-head-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-head>,
	<mailto:svn-src-head-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 22 Nov 2011 18:53:55 -0000

Author: rmh
Date: Tue Nov 22 18:53:54 2011
New Revision: 227827
URL: http://svn.freebsd.org/changeset/base/227827

Log:
  Define __FreeBSD_kernel__ macro in sys/param.h.
  
  __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
  which by definition is always true on FreeBSD. This macro is also defined
  on other systems that use the kernel of FreeBSD, such as GNU/kFreeBSD.
  
  It is tempting to use this macro in userland code when we want to enable
  kernel-specific routines, and in fact it's fine to do this in code that
  is part of FreeBSD itself.  However, be aware that as presence of this
  macro is still not widespread (e.g. older FreeBSD versions, 3rd party
  compilers, etc), it is STRONGLY DISCOURAGED to check for this macro in
  external applications without also checking for __FreeBSD__ as an
  alternative.
  
  Approved by:	kib (mentor)
  MFC after:	2 weeks

Modified:
  head/sys/sys/param.h

Modified: head/sys/sys/param.h
==============================================================================
--- head/sys/sys/param.h	Tue Nov 22 17:33:08 2011	(r227826)
+++ head/sys/sys/param.h	Tue Nov 22 18:53:54 2011	(r227827)
@@ -60,6 +60,22 @@
 #undef __FreeBSD_version
 #define __FreeBSD_version 1000001	/* Master, propagated to newvers */
 
+/*
+ * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
+ * which by definition is always true on FreeBSD. This macro is also defined
+ * on other systems that use the kernel of FreeBSD, such as GNU/kFreeBSD.
+ *
+ * It is tempting to use this macro in userland code when we want to enable
+ * kernel-specific routines, and in fact it's fine to do this in code that
+ * is part of FreeBSD itself.  However, be aware that as presence of this
+ * macro is still not widespread (e.g. older FreeBSD versions, 3rd party
+ * compilers, etc), it is STRONGLY DISCOURAGED to check for this macro in
+ * external applications without also checking for __FreeBSD__ as an
+ * alternative.
+ */
+#undef __FreeBSD_kernel__
+#define __FreeBSD_kernel__
+
 #ifdef _KERNEL
 #define	P_OSREL_SIGWAIT		700000
 #define	P_OSREL_SIGSEGV		700004