i386 removal, part 28/x: Remove pnpinfo(8).
authorSascha Wildner <saw@online.de>
Mon, 3 Aug 2015 05:46:35 +0000 (07:46 +0200)
committerSascha Wildner <saw@online.de>
Mon, 3 Aug 2015 05:46:35 +0000 (07:46 +0200)
Makefile_upgrade.inc
contrib/pnpinfo/Makefile [deleted file]
contrib/pnpinfo/pnpinfo.8 [deleted file]
contrib/pnpinfo/pnpinfo.c [deleted file]
contrib/pnpinfo/pnpinfo.h [deleted file]
usr.sbin/Makefile
usr.sbin/devinfo/devinfo.8
usr.sbin/pnpinfo/Makefile [deleted file]

index c997f99..89738d6 100644 (file)
@@ -2159,6 +2159,8 @@ TO_REMOVE+=/usr/share/man/man1/mklocale.1.gz
 TO_REMOVE+=/usr/share/locale/la_LN*
 TO_REMOVE+=/usr/share/locale/kk_KZ*
 TO_REMOVE+=/usr/share/locale/UTF-8
+TO_REMOVE+=/usr/sbin/pnpinfo
+TO_REMOVE+=/usr/share/man/man8/pnpinfo.8.gz
 
 .if ${MACHINE_ARCH} == "x86_64"
 TO_REMOVE+=/usr/sbin/stlstats
@@ -2166,8 +2168,6 @@ TO_REMOVE+=/usr/share/man/man8/i386/stlstats.8.gz
 TO_REMOVE+=/usr/share/man/man4/i386/stl.4.gz
 TO_REMOVE+=/usr/sbin/kgzip
 TO_REMOVE+=/usr/share/man/man8/kgzip.8.gz
-TO_REMOVE+=/usr/sbin/pnpinfo
-TO_REMOVE+=/usr/share/man/man8/pnpinfo.8.gz
 TO_REMOVE+=/boot/kernel/glxsb.ko
 TO_REMOVE+=/boot/kernel/pst.ko
 .endif
diff --git a/contrib/pnpinfo/Makefile b/contrib/pnpinfo/Makefile
deleted file mode 100644 (file)
index 450c4c2..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#      @(#)Makefile    8.1 (Berkeley) 6/5/93
-
-PROG=  pnpinfo
-MAN8=  pnpinfo.8
-CFLAGS= -Wall
-
-.include <bsd.prog.mk>
diff --git a/contrib/pnpinfo/pnpinfo.8 b/contrib/pnpinfo/pnpinfo.8
deleted file mode 100644 (file)
index d85109a..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-.\" Copyright (c) 1996, Sujal M. Patel
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\"    must display the following acknowledgement:
-.\"      This product includes software developed by Sujal M. Patel
-.\" 4. Neither the name of the author nor the names of any co-contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" $FreeBSD: src/contrib/pnpinfo/pnpinfo.8,v 1.2.2.3 2001/08/16 10:53:41 ru Exp $
-.\" $DragonFly: src/contrib/pnpinfo/pnpinfo.8,v 1.2 2003/06/17 04:24:06 dillon Exp $
-.\"
-.Dd January 7, 1996
-.Dt PNPINFO 8
-.Os
-.Sh NAME
-.Nm pnpinfo
-.Nd "reports information about Plug-n-Play ISA devices"
-.Sh SYNOPSIS
-.Nm
-.Sh DESCRIPTION
-.Nm
-reports information about Plug-n-Play ISA devices.  Some of the information,
-such as the vendor ID, serial number, I/O ports, IRQ, etc. are useful when
-configuring a kernel with ISA PnP devices.
-.Sh BUGS
-A few of the tags are unimplemented (Enough exist for 99% of PnP cards).
-.Sh SEE ALSO
-.Xr pnp 4
-.Sh HISTORY
-The
-.Nm
-utility first appeared in
-.Fx 2.2 .
-.Sh AUTHORS
-.An Sujal M. Patel Aq smpatel@umiacs.umd.edu
diff --git a/contrib/pnpinfo/pnpinfo.c b/contrib/pnpinfo/pnpinfo.c
deleted file mode 100644 (file)
index f41725a..0000000
+++ /dev/null
@@ -1,600 +0,0 @@
-/*
- * Copyright (c) 1996, Sujal M. Patel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: src/contrib/pnpinfo/pnpinfo.c,v 1.12 2012/11/17 01:48:56 svnexp Exp $
- */
-
-#include <sys/time.h>
-
-#include <err.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-
-#include <machine/cpufunc.h>
-
-#include <bus/isa/pnpreg.h>
-
-#ifdef DEBUG
-#define        DEB(x) x
-#else
-#define DEB(x)
-#endif
-#define DDB(x) x
-
-static void pnp_write(int, u_char);
-static u_char pnp_read(int);
-static void DELAY(int i);
-static void send_Initiation_LFSR(void);
-static int get_serial(u_char *);
-static int get_resource_info(u_char *, int);
-static void report_dma_info(int);
-static void report_memory_info(int);
-static int handle_small_res(u_char *, int, int);
-static void handle_large_res(u_char *, int, int);
-static void dump_resdata(u_char *, int);
-static int isolation_protocol(void);
-
-/* The READ_DATA port that we are using currently */
-static int rd_port;
-
-int logdevs=0;
-
-static void
-pnp_write(int d, u_char r)
-{
-    outb (_PNP_ADDRESS, d);
-    outb (_PNP_WRITE_DATA, r);
-}
-
-static u_char
-pnp_read(int d)
-{
-    outb(_PNP_ADDRESS, d);
-    return inb( (rd_port << 2) + 3) & 0xff;
-}
-
-/*
- * DELAY does accurate delaying in user-space.
- * This function busy-waits.
- */
-static void
-DELAY(int i)
-{
-    struct timeval t;
-    long start, stop;
-
-    i *= 4;
-
-    gettimeofday (&t, NULL);
-    start = t.tv_sec * 1000000 + t.tv_usec;
-    do {
-       gettimeofday (&t, NULL);
-       stop = t.tv_sec * 1000000 + t.tv_usec;
-    } while (start + i > stop);
-}
-
-
-/*
- * Send Initiation LFSR as described in "Plug and Play ISA Specification,
- * Intel May 94."
- */
-static void
-send_Initiation_LFSR(void)
-{
-    int cur, i;
-
-    pnp_write(PNP_CONFIG_CONTROL, 0x2);
-
-    /* Reset the LSFR */
-    outb(_PNP_ADDRESS, 0);
-    outb(_PNP_ADDRESS, 0); /* yes, we do need it twice! */
-
-    cur = 0x6a;
-
-    for (i = 0; i < 32; i++) {
-       outb(_PNP_ADDRESS, cur);
-       cur = (cur >> 1) | (((cur ^ (cur >> 1)) << 7) & 0xff);
-    }
-}
-
-/*
- * Get the device's serial number.  Returns 1 if the serial is valid.
- */
-static int
-get_serial(u_char *data)
-{
-    int i, bit, valid = 0, sum = 0x6a;
-
-    bzero(data, sizeof(char) * 9);
-
-    for (i = 0; i < 72; i++) {
-       bit = inb((rd_port << 2) | 0x3) == 0x55;
-       DELAY(250);     /* Delay 250 usec */
-
-       /* Can't Short Circuit the next evaluation, so 'and' is last */
-       bit = (inb((rd_port << 2) | 0x3) == 0xaa) && bit;
-       DELAY(250);     /* Delay 250 usec */
-
-       valid = valid || bit;
-
-       if (i < 64)
-           sum = (sum >> 1) |
-               (((sum ^ (sum >> 1) ^ bit) << 7) & 0xff);
-
-       data[i / 8] = (data[i / 8] >> 1) | (bit ? 0x80 : 0);
-    }
-
-    valid = valid && (data[8] == sum);
-
-    return valid;
-}
-
-
-/*
- * Fill's the buffer with resource info from the device.
- * Returns 0 if the device fails to report
- */
-static int
-get_resource_info(u_char *buffer, int len)
-{
-    int i, j;
-
-    for (i = 0; i < len; i++) {
-       outb(_PNP_ADDRESS, PNP_STATUS);
-       for (j = 0; j < 100; j++) {
-           if ((inb((rd_port << 2) | 0x3)) & 0x1)
-               break;
-           DELAY(1);
-       }
-       if (j == 100) {
-           printf("PnP device failed to report resource data\n");
-           return 0;
-       }
-       outb(_PNP_ADDRESS, PNP_RESOURCE_DATA);
-       buffer[i] = inb((rd_port << 2) | 0x3);
-       DEB(printf("--- get_resource_info: got 0x%02x\n",(unsigned)buffer[i]));
-    }
-    return 1;
-}
-
-static void
-report_dma_info(int x)
-{
-    const char *s1=NULL, *s2=NULL, *s3=NULL, *s4=NULL, *s5=NULL;
-
-    switch (x & 0x3) {
-    case 0:
-       s1="8-bit";
-       break;
-    case 1:
-       s1="8/16-bit";
-       break;
-    case 2:
-       s1="16-bit";
-       break;
-#ifdef DIAGNOSTIC
-    case 3:
-       s1="Reserved";
-       break;
-#endif
-    }
-
-    s2 = (x & 0x4) ? "bus master" : "not a bus master";
-
-    s3 = (x & 0x8) ? "count by byte" : "";
-
-    s4 = (x & 0x10) ? "count by word" : "";
-
-    switch ((x & 0x60) >> 5) {
-    case 0:
-       s5="Compatibility mode";
-       break;
-    case 1:
-       s5="Type A";
-       break;
-    case 2:
-       s5="Type B";
-       break;
-    case 3:
-       s5="Type F";
-       break;
-    }
-    printf("\t%s, %s, %s, %s, %s\n",s1,s2,s3,s4,s5);
-}
-
-
-static void
-report_memory_info(int x)
-{
-    if (x & 0x1)
-       printf ("Memory Range: Writeable\n");
-    else
-       printf ("Memory Range: Not writeable (ROM)\n");
-
-    if (x & 0x2)
-       printf ("Memory Range: Read-cacheable, write-through\n");
-    else
-       printf ("Memory Range: Non-cacheable\n");
-
-    if (x & 0x4)
-       printf ("Memory Range: Decode supports high address\n");
-    else
-       printf ("Memory Range: Decode supports range length\n");
-
-    switch ((x & 0x18) >> 3) {
-    case 0:
-       printf ("Memory Range: 8-bit memory only\n");
-       break;
-    case 1:
-       printf ("Memory Range: 16-bit memory only\n");
-       break;
-    case 2:
-       printf ("Memory Range: 8-bit and 16-bit memory supported\n");
-       break;
-#ifdef DIAGNOSTIC
-    case 3:
-       printf ("Memory Range: Reserved\n");
-       break;
-#endif
-    }
-
-    if (x & 0x20)
-       printf ("Memory Range: Memory is shadowable\n");
-    else
-       printf ("Memory Range: Memory is not shadowable\n");
-
-    if (x & 0x40)
-       printf ("Memory Range: Memory is an expansion ROM\n");
-    else
-       printf ("Memory Range: Memory is not an expansion ROM\n");
-
-#ifdef DIAGNOSTIC
-    if (x & 0x80)
-       printf ("Memory Range: Reserved (Device is brain-damaged)\n");
-#endif
-}
-
-
-/*
- *  Small Resource Tag Handler
- *
- *  Returns 1 if checksum was valid (and an END_TAG was received).
- *  Returns -1 if checksum was invalid (and an END_TAG was received).
- *  Returns 0 for other tags.
- */
-static int
-handle_small_res(u_char *resinfo, int item, int len)
-{
-    int i;
-
-    DEB(printf("*** ITEM 0x%04x len %d detected\n", item, len));
-
-    switch (item) {
-    default:
-       printf("*** ITEM 0x%02x detected\n", item);
-       break;
-    case PNP_TAG_VERSION:
-       printf("PnP Version %d.%d, Vendor Version %d\n",
-           resinfo[0] >> 4, resinfo[0] & (0xf), resinfo[1]);
-       break;
-    case PNP_TAG_LOGICAL_DEVICE:
-       printf("\nLogical Device ID: %c%c%c%02x%02x 0x%08x #%d\n",
-               ((resinfo[0] & 0x7c) >> 2) + 64,
-               (((resinfo[0] & 0x03) << 3) |
-               ((resinfo[1] & 0xe0) >> 5)) + 64,
-               (resinfo[1] & 0x1f) + 64,
-               resinfo[2], resinfo[3], *(int *)(resinfo),
-               logdevs++);
-
-       if (resinfo[4] & 0x1)
-           printf ("\tDevice powers up active\n"); /* XXX */
-       if (resinfo[4] & 0x2)
-           printf ("\tDevice supports I/O Range Check\n");
-       if (resinfo[4] > 0x3)
-           printf ("\tReserved register funcs %02x\n",
-               resinfo[4]);
-
-       if (len == 6)
-           printf("\tVendor register funcs %02x\n", resinfo[5]);
-       break;
-    case PNP_TAG_COMPAT_DEVICE:
-       printf("Compatible Device ID: %c%c%c%02x%02x (%08x)\n",
-               ((resinfo[0] & 0x7c) >> 2) + 64,
-               (((resinfo[0] & 0x03) << 3) |
-               ((resinfo[1] & 0xe0) >> 5)) + 64,
-               (resinfo[1] & 0x1f) + 64,
-               resinfo[2], resinfo[3], *(int *)resinfo);
-       break;
-    case PNP_TAG_IRQ_FORMAT:
-       printf("    IRQ: ");
-
-       for (i = 0; i < 8; i++)
-           if (resinfo[0] & (1<<i))
-               printf("%d ", i);
-       for (i = 0; i < 8; i++)
-           if (resinfo[1] & (1<<i))
-               printf("%d ", i + 8);
-       if (len == 3) {
-           if (resinfo[2] & 0x1)
-               printf("IRQ: High true edge sensitive\n");
-           if (resinfo[2] & 0x2)
-               printf("IRQ: Low true edge sensitive\n");
-           if (resinfo[2] & 0x4)
-               printf("IRQ: High true level sensitive\n");
-           if (resinfo[2] & 0x8)
-               printf("IRQ: Low true level sensitive\n");
-       } else {
-           printf(" - only one type (true/edge)\n");
-       }
-       break;
-    case PNP_TAG_DMA_FORMAT:
-       printf("    DMA: channel(s) ");
-       for (i = 0; i < 8; i++)
-           if (resinfo[0] & (1<<i))
-               printf("%d ", i);
-       printf ("\n");
-       report_dma_info (resinfo[1]);
-       break;
-    case PNP_TAG_START_DEPENDANT:
-       printf("TAG Start DF\n");
-       if (len == 1) {
-           switch (resinfo[0]) {
-           case 0:
-               printf("Good Configuration\n");
-               break;
-           case 1:
-               printf("Acceptable Configuration\n");
-               break;
-           case 2:
-               printf("Sub-optimal Configuration\n");
-               break;
-           }
-       }
-       break;
-    case PNP_TAG_END_DEPENDANT:
-       printf("TAG End DF\n");
-       break;
-    case PNP_TAG_IO_RANGE:
-       printf("    I/O Range 0x%x .. 0x%x, alignment 0x%x, len 0x%x\n",
-           resinfo[1] + (resinfo[2] << 8),
-           resinfo[3] + (resinfo[4] << 8),
-           resinfo[5], resinfo[6] );
-       if (resinfo[0])
-           printf("\t[16-bit addr]\n");
-       else
-           printf("\t[not 16-bit addr]\n");
-       break;
-    case PNP_TAG_IO_FIXED:
-       printf ("    FIXED I/O base address 0x%x length 0x%x\n",
-           resinfo[0] + ( (resinfo[1] & 3 ) << 8), /* XXX */
-           resinfo[2]);
-       break;
-#ifdef DIAGNOSTIC
-    case PNP_TAG_RESERVED:
-       printf("Reserved Tag Detected\n");
-       break;
-#endif
-    case PNP_TAG_VENDOR:
-       printf("*** Small Vendor Tag Detected\n");
-       break;
-    case PNP_TAG_END:
-       printf("End Tag\n\n");
-       /* XXX Record and Verify Checksum */
-       return 1;
-       break;
-    }
-    return 0;
-}
-
-
-static void
-handle_large_res(u_char *resinfo, int item, int len)
-{
-    int i;
-
-    DEB(printf("*** Large ITEM %d len %d found\n", item, len));
-    switch (item) {
-    case PNP_TAG_MEMORY_RANGE:
-       report_memory_info(resinfo[0]);
-       printf("Memory range minimum address: 0x%x\n",
-               (resinfo[1] << 8) + (resinfo[2] << 16));
-       printf("Memory range maximum address: 0x%x\n",
-               (resinfo[3] << 8) + (resinfo[4] << 16));
-       printf("Memory range base alignment: 0x%x\n",
-               (i = (resinfo[5] + (resinfo[6] << 8))) ? i : (1 << 16));
-       printf("Memory range length: 0x%x\n",
-               (resinfo[7] + (resinfo[8] << 8)) * 256);
-       break;
-    case PNP_TAG_ID_ANSI:
-       printf("Device Description: ");
-
-       for (i = 0; i < len; i++) {
-           if (resinfo[i]) /* XXX */
-               printf("%c", resinfo[i]);
-       }
-       printf("\n");
-       break;
-    case PNP_TAG_ID_UNICODE:
-       printf("ID String Unicode Detected (Undefined)\n");
-       break;
-    case PNP_TAG_LARGE_VENDOR:
-       printf("Large Vendor Defined Detected\n");
-       break;
-    case PNP_TAG_MEMORY32_RANGE:
-       printf("32bit Memory Range Desc Unimplemented\n");
-       break;
-    case PNP_TAG_MEMORY32_FIXED:
-       printf("32bit Fixed Location Desc Unimplemented\n");
-       break;
-#ifdef DIAGNOSTIC
-    case PNP_TAG_LARGE_RESERVED:
-       printf("Large Reserved Tag Detected\n");
-       break;
-#endif
-    }
-}
-
-
-/*
- * Dump all the information about configurations.
- */
-static void
-dump_resdata(u_char *data, int csn)
-{
-    int i, large_len;
-
-    u_char tag, *resinfo;
-
-    DDB(printf("\nCard assigned CSN #%d\n", csn));
-    printf("Vendor ID %c%c%c%02x%02x (0x%08x), Serial Number 0x%08x\n",
-           ((data[0] & 0x7c) >> 2) + 64,
-           (((data[0] & 0x03) << 3) | ((data[1] & 0xe0) >> 5)) + 64,
-           (data[1] & 0x1f) + 64, data[2], data[3],
-           *(int *)&(data[0]),
-           *(int *)&(data[4]));
-
-    pnp_write(PNP_SET_CSN, csn); /* Move this out of this function XXX */
-    outb(_PNP_ADDRESS, PNP_STATUS);
-
-    /* Allows up to 1kb of Resource Info,  Should be plenty */
-    for (i = 0; i < 1024; i++) {
-       if (!get_resource_info(&tag, 1))
-           break;
-
-       if (PNP_RES_TYPE(tag) == 0) {
-           /* Handle small resouce data types */
-
-           resinfo = malloc(PNP_SRES_LEN(tag));
-           if (!get_resource_info(resinfo, PNP_SRES_LEN(tag)))
-               break;
-
-           if (handle_small_res(resinfo, PNP_SRES_NUM(tag), PNP_SRES_LEN(tag)) == 1)
-               break;
-           free(resinfo);
-       } else {
-           /* Handle large resouce data types */
-           u_char buf[2];
-           if (!get_resource_info((char *)buf, 2))
-               break;
-           large_len = (buf[1] << 8) + buf[0];
-
-           resinfo = malloc(large_len);
-           if (!get_resource_info(resinfo, large_len))
-               break;
-
-           handle_large_res(resinfo, PNP_LRES_NUM(tag), large_len);
-           free(resinfo);
-       }
-    }
-    printf("Successfully got %d resources, %d logical fdevs\n", i,
-           logdevs);
-    printf("-- card select # 0x%04x\n", pnp_read(PNP_SET_CSN));
-    printf("\nCSN %c%c%c%02x%02x (0x%08x), Serial Number 0x%08x\n",
-           ((data[0] & 0x7c) >> 2) + 64,
-           (((data[0] & 0x03) << 3) | ((data[1] & 0xe0) >> 5)) + 64,
-           (data[1] & 0x1f) + 64, data[2], data[3],
-           *(int *)&(data[0]),
-           *(int *)&(data[4]));
-
-    for (i=0; i<logdevs; i++) {
-       int j;
-
-       pnp_write(PNP_SET_LDN, i);
-
-       printf("\nLogical device #%d\n", pnp_read(PNP_SET_LDN) );
-       printf("IO: ");
-       for (j=0; j<8; j++)
-           printf(" 0x%02x%02x", pnp_read(PNP_IO_BASE_HIGH(j)),
-               pnp_read(PNP_IO_BASE_LOW(j)));
-       printf("\nIRQ %d %d\n",
-           pnp_read(PNP_IRQ_LEVEL(0)), pnp_read(PNP_IRQ_LEVEL(1)) );
-       printf("DMA %d %d\n",
-           pnp_read(PNP_DMA_CHANNEL(0)), pnp_read(PNP_DMA_CHANNEL(1)) );
-       printf("IO range check 0x%02x activate 0x%02x\n",
-           pnp_read(PNP_IO_RANGE_CHECK), pnp_read(PNP_ACTIVATE) );
-    }
-}
-
-
-/*
- * Run the isolation protocol. Use rd_port as the READ_DATA port
- * value (caller should try multiple READ_DATA locations before giving
- * up). Upon exiting, all cards are aware that they should use rd_port
- * as the READ_DATA port;
- *
- */
-static int
-isolation_protocol(void)
-{
-    int csn;
-    u_char data[9];
-
-    send_Initiation_LFSR();
-
-    /* Reset CSN for All Cards */
-    pnp_write(PNP_CONFIG_CONTROL, 0x04);
-
-    for (csn = 1; (csn < PNP_MAX_CARDS); csn++) {
-       /* Wake up cards without a CSN */
-       logdevs = 0 ;
-       pnp_write(PNP_WAKE, 0);
-       pnp_write(PNP_SET_RD_DATA, rd_port);
-       outb(_PNP_ADDRESS, PNP_SERIAL_ISOLATION);
-       DELAY(1000);    /* Delay 1 msec */
-
-       if (get_serial(data))
-           dump_resdata(data, csn);
-       else
-           break;
-    }
-    return csn - 1;
-}
-
-
-int
-main(void)
-{
-    int num_pnp_devs;
-
-    /* Hey what about a i386_iopl() call :) */
-    if (open("/dev/io", O_RDONLY) < 0)
-       errx(1, "can't get I/O privilege");
-
-    printf("Checking for Plug-n-Play devices...\n");
-
-    /* Try various READ_DATA ports from 0x203-0x3ff */
-    for (rd_port = 0x80; (rd_port < 0xff); rd_port += 0x10) {
-       DEB(printf("Trying Read_Port at %x...\n", (rd_port << 2) | 0x3) );
-       num_pnp_devs = isolation_protocol();
-       if (num_pnp_devs)
-           break;
-    }
-    if (!num_pnp_devs)
-       printf("No Plug-n-Play devices were found\n");
-    return 0;
-}
diff --git a/contrib/pnpinfo/pnpinfo.h b/contrib/pnpinfo/pnpinfo.h
deleted file mode 100644 (file)
index 63e282f..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1996, Sujal M. Patel
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Sujal M. Patel
- * 4. Neither the name of the author nor the names of any co-contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD: src/contrib/pnpinfo/pnpinfo.h,v 1.2 1999/09/05 17:27:05 peter Exp $
- * $DragonFly: src/contrib/pnpinfo/pnpinfo.h,v 1.2 2003/06/17 04:24:06 dillon Exp $
- */
-
-
-/* Maximum Number of PnP Devices.  6 should be plenty */
-#define MAX_CARDS 6
-
-
-/* Static ports */
-#define ADDRESS                        0x279
-#define WRITE_DATA             0xa79
-
-
-/* PnP Registers.  Write to ADDRESS and then use WRITE/READ_DATA */
-#define SET_RD_DATA            0x00
-#define SERIAL_ISOLATION       0x01
-#define WAKE                   0x03
-#define        RESOURCE_DATA           0x04
-#define STATUS                 0x05
-#define SET_CSN                        0x06
-
-/* Small Resource Item names */
-#define PNP_VERSION            0x1
-#define LOG_DEVICE_ID          0x2
-#define COMP_DEVICE_ID         0x3
-#define IRQ_FORMAT             0x4
-#define DMA_FORMAT             0x5
-#define START_DEPEND_FUNC      0x6
-#define END_DEPEND_FUNC                0x7
-#define IO_PORT_DESC           0x8
-#define FIXED_IO_PORT_DESC     0x9
-#define SM_RES_RESERVED                0xa-0xd
-#define SM_VENDOR_DEFINED      0xe
-#define END_TAG                        0xf
-
-/* Large Resource Item names */
-#define MEMORY_RANGE_DESC      0x1
-#define ID_STRING_ANSI         0x2
-#define ID_STRING_UNICODE      0x3
-#define LG_VENDOR_DEFINED      0x4
-#define _32BIT_MEM_RANGE_DESC  0x5
-#define _32BIT_FIXED_LOC_DESC  0x6
-#define LG_RES_RESERVED                0x7-0x7f
index 961c7a9..7119748 100644 (file)
@@ -163,7 +163,6 @@ SUBDIR+=btxld \
 
 .if ${MACHINE_ARCH} == "i386"
 SUBDIR+=kgzip \
-       pnpinfo \
        stlstats
 .endif
 
index 6ce9f79..7dce07e 100644 (file)
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD: src/usr.sbin/devinfo/devinfo.8,v 1.9 2006/09/29 16:46:01 ru Exp $
 .\"
-.Dd September 30, 2008
+.Dd August 3, 2015
 .Dt DEVINFO 8
 .Os
 .Sh NAME
@@ -67,7 +67,6 @@ Without this flag, only those devices that have attached are reported.
 .Xr devinfo 3 ,
 .Xr iostat 8 ,
 .Xr pciconf 8 ,
-.Xr pnpinfo 8 ,
 .Xr vmstat 8 ,
 .Xr devclass 9 ,
 .Xr device 9
diff --git a/usr.sbin/pnpinfo/Makefile b/usr.sbin/pnpinfo/Makefile
deleted file mode 100644 (file)
index 433fc53..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-# $FreeBSD: src/usr.sbin/pnpinfo/Makefile,v 1.4.2.2 2001/04/25 12:10:32 ru Exp $
-# $DragonFly: src/usr.sbin/pnpinfo/Makefile,v 1.3 2005/02/19 01:44:06 swildner Exp $
-
-PROG=  pnpinfo
-MAN=   pnpinfo.8
-
-CFLAGS+=-I${.CURDIR}/../../sys
-
-.PATH: ${.CURDIR}/../../contrib/pnpinfo
-
-.include <bsd.prog.mk>