[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pbsd-mg2] Re: GIU-ISA bridge
| 目的のデバイスから IRQ ラインが何本出ているか、
| それが GIU のポートに何本接続されているか、でいろいろな
| 場合が考えられます。
[...]
なるほど。ちょっとわかりました。
| pcic_vrgiu.c 内で platform ID で場合分けして、hard cording し
| ようと考えていました。
| 今のところ、Everex も MC-R も irq=3 で済んでいるみたいなので
| (irq=3 は通常 pcic の何本かある irq のうち、最も番号が小さいもの)
| ISA-bus で pcic_isa.c でももいいような気もしますが、
| この先、へんな奴が出てくると破綻するような気がします。
へんな奴が、Vr本来のISAバスを逸脱する(原理的にISAバスにつくPCICでない)
のであれば、それはvrip、あるいはvrgiuにつけるのがいいと思います。
で、IRQと、GPIOのマップは、これは、vrgiuバスで、そのマップ表(hard cording)
を切りかえればOKでは?
| # pcic_isa.c って、 同じ irq=3 にいくつも handler を establish
| #できますか?
pcic_isa.cは、isa_intr_allocと、isa_intr_establishに丸投げなので、
isa_intr_establishで共有します。VrのISAバスの構造上isa_intr_establish
のトリガタイプは、無視して全てLevel triggerでとるような感じ。ここら辺
は、PlatformのISAバスの実装でふりわければいいと思います。
bus_spaceも、VrのISA space用にbus_space_tagを作って、bus_space_alloc
を作ってやればいいはず。(そんな感じでテストしてるんですが。)
と、vrgiubusなしに、いきなりisaにつなげるんじゃ、locatorとして
platformを入れる場所がないですね。書いててきづきました。
vrgiubusにはなってないんですが、ちょっと僕のテストカーネルのソースを
あげときます。一応ブートするものですが、ソースだけ見るだけのものです。
雰囲気的にこんな感じ...だめかな???
ftp://f77.nop.or.jp/users/uch/NetBSD/hpcmips/GIU/
---
UCHIYAMA Yasushi
uch@nop.or.jp