Index: config.5
===================================================================
RCS file: /cvsroot/src/usr.bin/config/config.5,v
retrieving revision 1.34
diff -p -u -r1.34 config.5
--- config.5	1 Sep 2015 13:42:48 -0000	1.34
+++ config.5	15 Jan 2016 14:56:23 -0000
@@ -662,6 +662,9 @@ and
 parameters can be wildcarded with
 .Dq \&?
 to let the kernel automatically discover those values.
+The
+.Ar device
+can also be specified as a quoted specification string.
 .Pp
 At least one
 .Ic config
Index: gram.y
===================================================================
RCS file: /cvsroot/src/usr.bin/config/gram.y,v
retrieving revision 1.52
diff -p -u -r1.52 gram.y
--- gram.y	1 Sep 2015 13:42:48 -0000	1.52
+++ gram.y	15 Jan 2016 14:56:23 -0000
@@ -103,6 +103,7 @@ DECL_ALLOCWRAP(condexpr);
 #define	new_nx(n, x)	new0(n, NULL, NULL, 0, x)
 #define	new_ns(n, s)	new0(n, s, NULL, 0, NULL)
 #define	new_si(s, i)	new0(NULL, s, NULL, i, NULL)
+#define	new_spi(s, p, i)	new0(NULL, s, p, i, NULL)
 #define	new_nsi(n,s,i)	new0(n, s, NULL, i, NULL)
 #define	new_np(n, p)	new0(n, NULL, p, 0, NULL)
 #define	new_s(s)	new0(NULL, s, NULL, 0, NULL)
@@ -908,6 +909,8 @@ root_spec:
 dev_spec:
 	  '?'				{ $$ = new_si(intern("?"),
 					    (long long)NODEV); }
+	| QSTRING			{ $$ = new_spi($1, intern("spec"),
+					    (long long)NODEV); }
 	| WORD				{ $$ = new_si($1,
 					    (long long)NODEV); }
 	| major_minor			{ $$ = new_si(NULL, $1); }
Index: sem.c
===================================================================
RCS file: /cvsroot/src/usr.bin/config/sem.c,v
retrieving revision 1.73
diff -p -u -r1.73 sem.c
--- sem.c	29 Aug 2015 07:24:49 -0000	1.73
+++ sem.c	15 Jan 2016 14:56:23 -0000
@@ -928,6 +928,12 @@ resolve(struct nvlist **nvp, const char 
 		 */
 		return (0);
 
+	if (nv->nv_ptr != NULL && strcmp(nv->nv_ptr, "spec") == 0)
+		/*
+		 * spec string, interpreted by kernel
+		 */
+		return (0);
+
 	/*
 	 * The normal case: things like "ra2b".  Check for partition
 	 * suffix, remove it if there, and split into name ("ra") and
