From owner-FreeBSD-users-jp@jp.FreeBSD.org Fri Oct  8 00:55:26 2004
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id i97FtQv50883;
	Fri, 8 Oct 2004 00:55:26 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mail3.ecc.u-tokyo.ac.jp (mail3.ecc.u-tokyo.ac.jp [133.11.171.218])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id i97FtP850858
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 8 Oct 2004 00:55:25 +0900 (JST)
	(envelope-from tamaru@myn.rcast.u-tokyo.ac.jp)
Received: from spam004.ecc.u-tokyo.ac.jp (spam004.ecc.u-tokyo.ac.jp [133.11.50.197])
	by mail3.ecc.u-tokyo.ac.jp (Postfix) with ESMTP id 5C5A97010C
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri,  8 Oct 2004 00:55:20 +0900 (JST)
Received: from gin.myn.rcast.u-tokyo.ac.jp ( [157.82.72.158])
	by spam004.ecc.u-tokyo.ac.jp (SpamBlock.pst 3.4.25)
	with ESMTP id <sa63c0qldzw.wl@gin.myn.rcast.u-tokyo.ac.jp>
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 8 Oct 2004 00:55:15 +0900
Message-ID: <sa63c0qldzw.wl@gin.myn.rcast.u-tokyo.ac.jp>
From: Hiroharu Tamaru <tamaru@myn.rcast.u-tokyo.ac.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: <JP20041007230409.13628536@nifty.com>
References: <JP20041007230409.13628536@nifty.com>
User-Agent: User-Agent: Wanderlust/2.10.0 (Venus) Emacs/21.3 Mule/5.0 (SAKAKI)
MIME-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen")
Content-Type: multipart/mixed;
 boundary="Multipart_Fri_Oct__8_00:55:15_2004-1"
X-IP: 157.82.72.158
X-FROM-DOMAIN: myn.rcast.u-tokyo.ac.jp
X-FROM-EMAIL: tamaru@myn.rcast.u-tokyo.ac.jp
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Fri, 08 Oct 2004 00:55:15 +0900
X-Sequence: FreeBSD-users-jp 81250
Subject: [FreeBSD-users-jp 81250] Re: FreeBSD
 =?ISO-2022-JP?B?GyRCJEcbKEI=?= PCI
 =?ISO-2022-JP?B?GyRCJSshPCVJJHJAKThmJDckPyQkJE4kRyQ5JCwbKEI=?=
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: tamaru@myn.rcast.u-tokyo.ac.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+041006

--Multipart_Fri_Oct__8_00:55:15_2004-1
Content-Type: text/plain; charset=ISO-2022-JP

$BED4]$G$9!#(B

At Thu, 7 Oct 2004 23:04:09 +0900, masato.sakaguchi@nifty.com wrote:

> $B!!%$%s%?!<%U%'!<%9<R$N(BPCI-2753$B$H$$$&%G%8%?%k(BI/O$B%\!<%I$r(BFreeBSD$B$+$i@)8f$7(B
> $B$?$$$N$G$9$,!"(B/dev/io$B$rMxMQ$9$kJ}K!$G$O%@%a$G$7$g$&$+!)(B
> $B!!3d$j9~$_$,I,MW$J$$$N$G!"%G%P%$%9%I%i%$%P$N:n@.$^$G$OI,MW$J$$$H9M$($F$$(B
> $B$^$9!#(B

AD/DA/DIO $B3F<o$r!"3d9~$bB.EY$bITMW$J$H$-$K$O$=$&$d$C$F;H$C$F(B
$B$$$^$9!#(Bppi(4) $B$H$"$o$;$F<j7Z$K<B83$N@)8f$,$G$-$^$9$M!#(B

root$B8"8B$,$$$k$3$H$K$+$o$j$O$J$$$G$9$,!"(B/dev/io $B$h$j$b$O!"(B
i386_set_ioperm(2) $B$N$[$&$,6u$1$k7j$r69$/$7$F$*$1$k$N$G!"(B
$B8mF0:n;~$NHo32$,>/$J$$$+$b$7$l$^$;$s!#(B

$B$?$@!"(BPCI $B$J$N$G!"(Bio address $B$O$-$A$s$HF0E*$K$H$C$F$-$?J}$,(B
$B$h$$$G$7$g$&!#(Bpciconf(8) $B$r$D$+$&$H$+!"0J2<$r;29M$K$H$+!#(B

> $B!!(BWindows95$B$N%3%s%H%m!<%k%Q%M%k$G!"$3$N%+!<%I$N(BI/O$B%"%I%l%9$H(BIRQ$B$r3NG'$7(B
> $B$?$H$3$mF~=PNOMQ%]!<%H$N%"%I%l%9$O(B0x110$B$H(B0x111$B!"(BIRQ$B$O(B11$B$G$7$?!#(B

$B2<$N%W%m%0%i%`$rAv$i$;$F$b(B 0x110 $B$H1~$($k$J$i$P!"F0$/$O$:$J(B
$B$s$G$9$,!"$=$s$J$K2<$N%"%I%l%9$,3d$jEv$F$i$l$?$j$O$7$J$$$h$&(B
$B$J5$$b$7$^$9!D!#(B

$B<B9TNc(B:
# ./fbicheck 
pci0:9:0: Interface Corp. PCI-3161
 0x0000d001 0xdf000000 0x00000000 0x00000000 0x00000000 0x00000000
 irq15 (INTB)

$B$3$l$@$H(B 0xd000 $B$+$i$G$9$M!#(B
# $B:G2<0L$N(B1$B$O(B I/O address $B$G$"$k$3$H$rI=$7!"(B0$B$@$H(B memory
# address$B!#B>$K$b$$$/$D$+$"$j$^$9$,>\:Y$O(B PCI $B$N(B
# configuration $B6u4V$N5,3J$rEv$?$C$F2<$5$$!#(B

$B$=$l$G%@%a$J$i!"EPO?$9$k$H$b$i$($k(B I/O $B8x3+;qNA$r$h$/FI$_D>(B
$B$7$F%"%/%;%9=g=x!&%?%$%_%s%0$J$I$N3NG'$G$7$g$&$+!#(B

Good luck!
-- 
Hiroharu Tamaru
# $B?7$7$$(B thread $B$N;~$O(B References: / In-Reply-To: $B$J$7$K$7$F$b$i$($k$H(B
# $BFI$_$d$9$/$F=u$+$j$^$9!D(B


--Multipart_Fri_Oct__8_00:55:15_2004-1
Content-Type: text/plain; charset=US-ASCII
Content-Disposition: attachment; filename="fbicheck.c"
Content-Transfer-Encoding: 7bit

#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <fcntl.h>
#include <sys/pciio.h>


#define PCIDEV "/dev/pci"
#define BASEADDR (0x10)
#define IRQLINE (0x3c)
#define IRQPIN  (0x3d)

#define INTERFACECORP (0x1147)

int
findfbi(void)
{
  int fd;
  int i, j;
  struct pci_conf_io pciioc;
  struct pci_match_conf pcimatch[1];
  struct pci_conf pc[10];
  struct pci_io pciio;
  
  if ((fd = open(PCIDEV, O_RDWR)) < 0) {
    perror(PCIDEV);
    return 3;
  }

  bzero(pcimatch, sizeof(pcimatch));
  bzero(&pciioc, sizeof(pciioc));

  pcimatch[0].pc_vendor = INTERFACECORP;
  pcimatch[0].flags = PCI_GETCONF_MATCH_VENDOR;

  pciioc.pat_buf_len = sizeof(pcimatch);
  pciioc.num_patterns = sizeof(pcimatch)/sizeof(pcimatch[0]);
  pciioc.patterns = pcimatch;
  pciioc.match_buf_len = sizeof(pc);
  pciioc.matches = pc;
  pciioc.offset = 0;

  if (ioctl(fd, PCIOCGETCONF, &pciioc) < 0) {
    perror("PCIOCREAD");
    return 3;
  }
  
  for (i = 0; i < pciioc.num_matches; ++i) {
    printf("pci%d:%d:%d: Interface Corp. PCI-%04d\n",
	   pc[i].pc_sel.pc_bus, pc[i].pc_sel.pc_dev, pc[i].pc_sel.pc_func,
	   pc[i].pc_device);
    pciio.pi_sel = pc[i].pc_sel;
    pciio.pi_width = 4;
    for (j = 0; j < 6; ++j) {
      pciio.pi_reg = BASEADDR + pciio.pi_width * j;
      if (ioctl(fd, PCIOCREAD, &pciio) < 0) {
	perror("PCIOCREAD");
      }
      printf(" 0x%08x", pciio.pi_data);
    }
    printf("\n");
    pciio.pi_width = 1;
    pciio.pi_reg = IRQLINE;
    if (ioctl(fd, PCIOCREAD, &pciio) < 0) {
      perror("PCIOCREAD");
    }
    printf(" irq%d", pciio.pi_data);
    pciio.pi_reg = IRQPIN;
    if (ioctl(fd, PCIOCREAD, &pciio) < 0) {
      perror("PCIOCREAD");
    }
    printf(" (INT%c)\n", 'A' + pciio.pi_data);
  }
  return 0;
}

int
main(void)
{
  return findfbi();
}

--Multipart_Fri_Oct__8_00:55:15_2004-1--
