Subject: Re: NetBSD/pc98
To: None <tsutsui@ceres.dti.ne.jp>
From: KIYOHARA Takashi <kiyohara@kk.iij4u.or.jp>
List: current-users
Date: 08/23/2006 01:13:16
Hi! Tsutsui-san,


From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
Date: Tue, 22 Aug 2006 23:47:40 +0900

> > IMHO can't support on ne(4) currently, because some boards do the map
> > distorted. It is necessary the handlers as each registers.  (like wdc(4))
> 
> Are these variants really NE2000 compatible? Or just using dp8390?
> If they are not real NE2000, we should have different attachment
> like sys/arch/mac68k/nubus/if_ae_nubus.c, so that you can handle
> weird mappings by sc_reg_map[] in struct dp8390_softc.

The position of each register is the same.  Perhaps, the address pin of
the board has been changed.  And, FreeBSD guys is calling the function
isa_alloc_resourcev() for this. This is a function that exists for PC98. 

(see ed98_alloc_port().)
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/ed/if_ed_cbus.c?rev=1.27&content-type=text/x-cvsweb-markup

For instance, LA98 is mapped in base-address + 0x?000. 

  /* LA/T-98, LD-BDN, PC-9801-77, SB-9801 */
  static	    bus_addr_t ed98_ioaddr_la98[] = {
	    0x0000, 0x1000, 0x2000, 0x3000, 0x4000, 0x5000, 0x6000, 0x7000,
	    0x8000, 0x9000, 0xa000, 0xb000, 0xc000, 0xd000, 0xe000, 0xf000,
	    0x0100  /* for NEC 77(see below) */
  };



> 
> Anyway, I'm afraid using flags in MD attachments might cause conflicts
> against MI ne(4) driver.

hmm... ;-<


> > > - isn't it better to attach legacy devices (dcom, pic, wdc etc.)
> > >   at cbus (which is a dumb bus anyway) rather than mainbus?
> > >   I have a handmade two port dcom cbus board..
> > 
> > dcom_mainbus use the system-port.  However dcom at cbus not use system-
> > port (PORT C). In addition, the mainbus of PC-98x1 does mapped a device
> > different in the address of the even number and the odd number.  However,
> > the map of cbus device is done perhaps linear. (not support yet. ;-)
> 
> Ah, I just remember the system-port of pc98.
> I admit it's okay to have different attachment from cbus for such
> devices, but how about having some pseudo bus like intio rather than
> using mainbus directly?

I use attribute 'pc98peripheral' and 'pc98clitical'.  Should I prepare
the bus besides this?

Thanks,
--
kiyohara