Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Dec 2013 00:44:36 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r258819 - head/sys/kern
Message-ID:  <201312020044.rB20iaOB074726@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nwhitehorn
Date: Mon Dec  2 00:44:36 2013
New Revision: 258819
URL: http://svnweb.freebsd.org/changeset/base/258819

Log:
  Add new sysctl, kern.supported_abis, containing the list of FreeBSD
  MACHINE_ARCH values whose binaries this kernel can run. This patch provides
  a feature requested for implementing pkgng ABI identifiers in a robust
  way.
  
  The list is designed to indicate whether, say, an i386 package can be run on
  the current system. If kern.supported_abis contains "i386", then the answer
  is yes. Otherwise, the answer is no.
  
  At the moment, this only supports MACHINE_ARCH and MACHINE_ARCH32. As we
  gain support for more interesting combinations, this needs to become more
  flexible, possibily through the sysent framework, along with the
  hw.machine_arch emulation immediately preceding this code in kern_mib.c.
  
  Reviewed by:	imp
  MFC after:	3 days

Modified:
  head/sys/kern/kern_mib.c

Modified: head/sys/kern/kern_mib.c
==============================================================================
--- head/sys/kern/kern_mib.c	Sun Dec  1 22:43:14 2013	(r258818)
+++ head/sys/kern/kern_mib.c	Mon Dec  2 00:44:36 2013	(r258819)
@@ -261,6 +261,13 @@ sysctl_hw_machine_arch(SYSCTL_HANDLER_AR
 SYSCTL_PROC(_hw, HW_MACHINE_ARCH, machine_arch, CTLTYPE_STRING | CTLFLAG_RD,
     NULL, 0, sysctl_hw_machine_arch, "A", "System architecture");
 
+SYSCTL_STRING(_kern, OID_AUTO, supported_abis, CTLFLAG_RD | CTLFLAG_MPSAFE,
+#ifdef COMPAT_FREEBSD32
+    MACHINE_ARCH " " MACHINE_ARCH32, 0, "List of supported ABIs");
+#else
+    MACHINE_ARCH, 0, "List of supported ABIs");
+#endif
+
 static int
 sysctl_hostname(SYSCTL_HANDLER_ARGS)
 {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312020044.rB20iaOB074726>