summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/sio/sio_pccard.c4
-rw-r--r--sys/dev/sio/siovar.h30
2 files changed, 34 insertions, 0 deletions
diff --git a/sys/dev/sio/sio_pccard.c b/sys/dev/sio/sio_pccard.c
index 0a40927..4db2e9d 100644
--- a/sys/dev/sio/sio_pccard.c
+++ b/sys/dev/sio/sio_pccard.c
@@ -92,6 +92,10 @@ static int
sio_pccard_probe(dev)
device_t dev;
{
+
+#ifdef PC98
+ SET_FLAG(dev, SET_IFTYPE(COM_IF_MODEM_CARD));
+#endif
/* Do not probe IRQ - pccard doesn't turn on the interrupt line */
/* until bus_setup_intr */
return (sioprobe(dev, 0, 1));
diff --git a/sys/dev/sio/siovar.h b/sys/dev/sio/siovar.h
index ebc2968..2c9913f 100644
--- a/sys/dev/sio/siovar.h
+++ b/sys/dev/sio/siovar.h
@@ -33,6 +33,36 @@
* $FreeBSD$
*/
+#ifdef PC98
+#define COM_IF_INTERNAL 0x00
+#define COM_IF_PC9861K_1 0x01
+#define COM_IF_PC9861K_2 0x02
+#define COM_IF_IND_SS_1 0x03
+#define COM_IF_IND_SS_2 0x04
+#define COM_IF_PIO9032B_1 0x05
+#define COM_IF_PIO9032B_2 0x06
+#define COM_IF_B98_01_1 0x07
+#define COM_IF_B98_01_2 0x08
+#define COM_IF_END1 COM_IF_B98_01_2
+#define COM_IF_RSA98 0x10 /* same as COM_IF_NS16550 */
+#define COM_IF_NS16550 0x11
+#define COM_IF_SECOND_CCU 0x12 /* same as COM_IF_NS16550 */
+#define COM_IF_MC16550II 0x13
+#define COM_IF_MCRS98 0x14 /* same as COM_IF_MC16550II */
+#define COM_IF_RSB3000 0x15
+#define COM_IF_RSB384 0x16
+#define COM_IF_MODEM_CARD 0x17
+#define COM_IF_RSA98III 0x18
+#define COM_IF_ESP98 0x19
+#define COM_IF_END2 COM_IF_ESP98
+
+#define GET_IFTYPE(type) (((type) >> 24) & 0x1f)
+#define SET_IFTYPE(type) ((type) << 24)
+
+#define SET_FLAG(dev, bit) device_set_flags(dev, device_get_flags(dev) | (bit))
+#define CLR_FLAG(dev, bit) device_set_flags(dev, device_get_flags(dev) & ~(bit))
+#endif /* PC98 */
+
int sioattach __P((device_t dev, int xrid));
int siodetach __P((device_t dev));
int sioprobe __P((device_t dev, int xrid, int noprobe));
OpenPOWER on IntegriCloud