Subject: Re: Mac68k and IDE
To: Takeshi Shibagaki , <port-mac68k@netbsd.org>
From: John Ruschmeyer <jruschme@mac.com>
List: port-mac68k
Date: 09/16/2001 12:12:02
> From: Takeshi Shibagaki <sibagaki@lsi.melco.co.jp>
>>>> Maybe, I guess some machines don't work if byte-order problem is
>>>> solved. Interrupt problem must be solved. In the case My LC630 works
>>>> when ether card exists in LC-PDS slot, but in the case no exist in
>>>> LC-PDS not works.
> 
> John> Actually, this make some sense. According to Ken Nakata's comments, the
> IDE
> John> controller generates a NUBUS interrupt but without the proper bits set.
> His
> John> answer on the Q630 was to daisy chain an interrupt handler on the Nubus
> John> interrupt that would check the IDE status, call wdintr() as necessary,
> and
> John> then call the original Nubus interrupt handler. On the PB150 and 190, he
> John> just added a normal nubus interrupt.
> 
> I understand Ken's comment because I also see Linux codes and Ken is
> my friend(but I met him only at once :-)).
> 
> There is no difference in Q630 and PB150,PB190 in Linux codes. Problem
> is no interrupt at nubus slot, but I don't know the point which
> interrupt has stopped at nubus or via.

One thing which is interesting (and I hope Alan or someone can clear up) is
that you say the IDE genereates a NuBUS interrupt on slot F on the 630. This
contradicts a comment in via.c, however, which talks about using that for an
internal video interrupt since no "real-world" Mac uses slot F.

It would be interesting to sort this one out, if only to fix the comment.
 
> John> Alan, one other question... who assigns block and character major device
> John> numbers. It seems like we should try to standardize here. Takeshi, which
> John> ones are you using?
> 
> I'm using remaining and suitable number as major number. There is no
> problem when a number defined insys/arch/mac68k/mac68k/conf.c and one in
> etc/etc.mac68k/MAKEDEV are same.

It looks like you're using 22 for the block device and 48 for the character
device.

While I agree that they only need to be the same as what is in MAKEDEV, I
was wondering whether they should be at some "standard" number such as 0 for
the block device (as in the i386 port)?

Alan, do TPTB have any thoughts on that one?

(FYI, I am currently building a kernel on my 630 with Takeshi's patch. I'm
curious to see how it works here...)

<<<John>>>