[HOME] [研究室] [github] [twitter] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

NetBSD カーネルの拡張: 例: pcmcia のネットワークカードを追加

まずは dmesg をもとに 「会社の ID」 「プロダクト ID」 オフセット情報などを検索してください。 すでに他の OS なりで、検出できているかもしれません。

/sys/dev/pcmdia/pcmciadevs
に vendor product の定義を書きます。 その後、
make -f Makefile.pcmciadevs
を実行し、 pcmciadevs.h pcmciadevs_data.h を再生成してください。

最後に if_xx_pcmcia.c の dev[] に定義を加えます。 例えば、ne であれば if_ne_pcmcia.c の中に

ne2000devs[] 
という定義があるので、ここに情報を追加してください。

例: NEC 9801N-J12 を追加する

Index: if_ne_pcmcia.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/pcmcia/if_ne_pcmcia.c,v
retrieving revision 1.62.4.5
diff -u -u -b -r1.62.4.5 if_ne_pcmcia.c
--- if_ne_pcmcia.c	2001/06/16 19:18:50	1.62.4.5
+++ if_ne_pcmcia.c	2001/09/26 09:42:26
@@ -200,6 +200,11 @@
       PCMCIA_CIS_SVEC_PN650TX,
       0, -1, { 0x00, 0xe0, 0x98 }, NE2000DVF_DL10019 },
 
+    { PCMCIA_STR_NEC_9801N_J12,
+      PCMCIA_VENDOR_NEC, PCMCIA_PRODUCT_NEC_9801N_J12,
+      PCMCIA_CIS_NEC_9801N_J12,
+      0, 0xff0, { 0x00, 0x00, 0x4c } },
+
     /*
      * This entry should be here so that above two cards doesn't
      * match with this.  FNW-3700T won't match above entries due to
Index: pcmciadevs
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/pcmcia/pcmciadevs,v
retrieving revision 1.93.2.7
diff -u -u -b -r1.93.2.7 pcmciadevs
--- pcmciadevs	2001/06/16 19:19:12	1.93.2.7
+++ pcmciadevs	2001/09/26 09:42:26
@@ -43,6 +43,7 @@
 vendor FUJITSU			0x0004  Fujitsu Corporation
 vendor PANASONIC		0x0032	Matsushita Electric Industrial Co.
 vendor SANDISK			0x0045	Sandisk Corporation
+vendor NEC                      0x00a4  NEC
 vendor NEWMEDIA			0x0057	New Media Corporation
 vendor INTEL			0x0089	Intel
 vendor IBM			0x00a4	IBM Corporation
@@ -83,6 +84,9 @@
 /*
  * List of known products.  Grouped by vendor.
  */
+
+/* NEC */
+product NEC 9801N_J12		0x0002 NEC	PC-9801N-J12	LAN
 
 /* Adaptec Products */
 product ADAPTEC APA1460		0x0001 Adaptec APA-1460 SlimSCSI
Index: pcmciadevs.h
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/pcmcia/pcmciadevs.h,v
retrieving revision 1.92.2.7
diff -u -u -b -r1.92.2.7 pcmciadevs.h
--- pcmciadevs.h	2001/06/16 19:19:37	1.92.2.7
+++ pcmciadevs.h	2001/09/26 09:42:26
@@ -1,10 +1,10 @@
-/*	$NetBSD: pcmciadevs.h,v 1.92.2.7 2001/06/16 19:19:37 he Exp $	*/
+/*	$NetBSD$	*/
 
 /*
  * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
  *
  * generated from:
- *	NetBSD: pcmciadevs,v 1.93.2.6 2001/05/26 16:16:05 he Exp 
+ *	NetBSD: pcmciadevs,v 1.93.2.7 2001/06/16 19:19:12 he Exp 
  */
 
 /*-
@@ -50,6 +50,7 @@
 #define	PCMCIA_VENDOR_FUJITSU	0x0004	/* Fujitsu Corporation */
 #define	PCMCIA_VENDOR_PANASONIC	0x0032	/* Matsushita Electric Industrial Co. */
 #define	PCMCIA_VENDOR_SANDISK	0x0045	/* Sandisk Corporation */
+#define	PCMCIA_VENDOR_NEC	0x00a4	/* NEC */
 #define	PCMCIA_VENDOR_NEWMEDIA	0x0057	/* New Media Corporation */
 #define	PCMCIA_VENDOR_INTEL	0x0089	/* Intel */
 #define	PCMCIA_VENDOR_IBM	0x00a4	/* IBM Corporation */
@@ -90,6 +91,11 @@
 /*
  * List of known products.  Grouped by vendor.
  */
+
+/* NEC */
+#define	PCMCIA_CIS_NEC_9801N_J12	{ NULL, NULL, NULL, NULL }
+#define	PCMCIA_PRODUCT_NEC_9801N_J12	0x0002
+#define	PCMCIA_STR_NEC_9801N_J12	"NEC PC-9801N-J12 LAN"
 
 /* Adaptec Products */
 #define	PCMCIA_CIS_ADAPTEC_APA1460	{ NULL, NULL, NULL, NULL }
Index: pcmciadevs_data.h
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/pcmcia/pcmciadevs_data.h,v
retrieving revision 1.92.2.7
diff -u -u -b -r1.92.2.7 pcmciadevs_data.h
--- pcmciadevs_data.h	2001/06/16 19:19:37	1.92.2.7
+++ pcmciadevs_data.h	2001/09/26 09:42:26
@@ -1,10 +1,10 @@
-/*	$NetBSD: pcmciadevs_data.h,v 1.92.2.7 2001/06/16 19:19:37 he Exp $	*/
+/*	$NetBSD$	*/
 
 /*
  * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
  *
  * generated from:
- *	NetBSD: pcmciadevs,v 1.93.2.6 2001/05/26 16:16:05 he Exp 
+ *	NetBSD: pcmciadevs,v 1.93.2.7 2001/06/16 19:19:12 he Exp 
  */
 
 /*-
@@ -45,6 +45,13 @@
 
 struct pcmcia_knowndev pcmcia_knowndevs[] = {
 	{
+	    PCMCIA_VENDOR_NEC, PCMCIA_PRODUCT_NEC_9801N_J12,
+	    PCMCIA_CIS_NEC_9801N_J12,
+	    0,
+	    "NEC",
+	    "NEC PC-9801N-J12 LAN"	},
+	},
+	{
 	    PCMCIA_VENDOR_ADAPTEC, PCMCIA_PRODUCT_ADAPTEC_APA1460,
 	    PCMCIA_CIS_ADAPTEC_APA1460,
 	    0,
@@ -882,6 +889,13 @@
 	    PCMCIA_KNOWNDEV_NOPROD,
 	    PCMCIA_CIS_INVALID,
 	    "Sandisk Corporation",
+	    NULL,
+	},
+	{
+	    PCMCIA_VENDOR_NEC, 0,
+	    PCMCIA_KNOWNDEV_NOPROD,
+	    PCMCIA_CIS_INVALID,
+	    "NEC",
 	    NULL,
 	},
 	{

[HOME] [研究室] [github] [twitter] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2018 Ken'ichi Fukamachi mail:< fukachan at fml.org >