Index: arch/i386/i386/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/conf.c,v
retrieving revision 1.122
diff -u -r1.122 conf.c
--- arch/i386/i386/conf.c	28 Nov 2007 23:37:34 -0000	1.122
+++ arch/i386/i386/conf.c	22 May 2008 11:41:20 -0000
@@ -178,6 +178,8 @@
 cdev_decl(agp);
 #include "drmbase.h"
 cdev_decl(drm);
+#include "aac.h"
+cdev_decl(aac);
 
 /* XXX -- this needs to be supported by config(8)! */
 #if (NCOM > 0) && (NPCCOM > 0)
@@ -312,7 +314,8 @@
 	cdev_notdef(),			/* 85: ACPI (deprecated) */
 	cdev_bthub_init(NBTHUB,bthub),	/* 86: bthub */
 	cdev_agp_init(NAGP,agp),	/* 87: agp */
-	cdev_drm_init(NDRMBASE,drm)	/* 88: drm */
+	cdev_drm_init(NDRMBASE,drm),	/* 88: drm */
+	cdev_usb_init(NAAC,aac),	/* 89: Adaptec aac management */
 };
 int	nchrdev = sizeof(cdevsw) / sizeof(cdevsw[0]);
 
Index: dev/ic/aac.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/aac.c,v
retrieving revision 1.37
diff -u -r1.37 aac.c
--- dev/ic/aac.c	1 Oct 2007 04:03:51 -0000	1.37
+++ dev/ic/aac.c	22 May 2008 11:41:23 -0000
@@ -281,6 +281,16 @@
 
 	config_found(&sc->aac_dev, &saa, scsiprint);
 
+#if NAAC > 0
+ 	/*
+	 * Now that the device is all set up, add it to the device
+	 * table so that the management interface can access it.
+	 * Currently, the number of units is hardcoded to simplify things.
+ 	 */
+	if (sc->aac_dev.dv_unit >= 0 && sc->aac_dev.dv_unit < AAC_MAXUNITS)
+		aac_table[sc->aac_dev.dv_unit] = sc;
+#endif
+
 	/* Create the AIF thread */
 	sc->aifthread = 0;
 	sc->aifflags = 0;
Index: dev/ic/aacvar.h
===================================================================
RCS file: /cvs/src/sys/dev/ic/aacvar.h,v
retrieving revision 1.7
diff -u -r1.7 aacvar.h
--- dev/ic/aacvar.h	7 May 2006 20:12:41 -0000	1.7
+++ dev/ic/aacvar.h	22 May 2008 11:41:24 -0000
@@ -30,6 +30,9 @@
  *	$FreeBSD: /c/ncvs/src/sys/dev/aac/aacvar.h,v 1.1 2000/09/13 03:20:34 msmith Exp $
  */
 
+#ifndef _AACVAR_H_
+#define _AACVAR_H_
+
 /*
  * This driver would not have rewritten for OpenBSD if it was not for the
  * hardware donation from Nocom.  I want to thank them for their support.
@@ -437,6 +440,11 @@
 extern int	aac_sync_fib(struct aac_softc *, u_int32_t, u_int32_t, 
 			     struct aac_fib *, u_int16_t);
 
+#if NAAC > 0
+#define AAC_MAXUNITS 16
+struct aac_softc *aac_table[AAC_MAXUNITS];
+#endif
+
 void	aacminphys(struct buf *);
 int	aac_attach(struct aac_softc *);
 int	aac_intr(void *);
@@ -595,3 +603,5 @@
 	sc->aac_common->ac_printf[0] = 0;
 	AAC_QNOTIFY(sc, AAC_DB_PRINTF);
 }
+
+#endif	/* _AACVAR_H_ */
Index: dev/pci/files.pci
===================================================================
RCS file: /cvs/src/sys/dev/pci/files.pci,v
retrieving revision 1.250
diff -u -r1.250 files.pci
--- dev/pci/files.pci	21 Jan 2008 20:00:33 -0000	1.250
+++ dev/pci/files.pci	22 May 2008 11:41:24 -0000
@@ -199,6 +199,7 @@
 attach	aac at pci with aac_pci
 file	dev/pci/aac_pci.c		aac_pci
 file	dev/ic/aac.c			aac
+file	dev/ic/aac_mgmt.c		aac		needs-flag
 
 # Compaq Smart ARRAY [234]* RAID controllers
 attach	cac at pci with cac_pci
