[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linuxce-jp:00040] Casiopeia device map ( Re: はじめまして+E55)



鈴木(康)です。
<200002181329.WAA03870@ninja.hpc.bs1.fc.nec.co.jp>の記事において
suz@hpc.bs1.fc.nec.co.jpさんは書きました。


  | 進捗あったんで報告します。
  | 
  | デバイスの知識ないんで、私のできることはこれぐらいかも...

CF 使わないでブートしたらどうなるか.... ひっとして見えていた
CF が見えなくなるんではないかと思ってやってみました。

  | --- ここから
  | 
  | 0x1400000 から 0x15000000 まで 0x1000 おきに頭をダンプすると 
  | 0x10000 おきに同じパターンがあらわれます。
  | 
  | ということで、0x1400000 から 0x10000 までが I/O 空間と思ってよさそうです。
  | 
  | これぐらいのサイズならと思って全部ダンプしました。
  | 
  | で判ったこと 以下アドレスは、0x14000000 からのオフセット
  | 
  | 0x0000 - 0x8000 よくわからない 不定値 が読めるときもある。
  | 
  | 0x8000 - 0x87ff デバイスA ( 0x9ffff まで 同じパターン4回)
  | 
  | 中にパターンのくりかえしを含む 
  | (デバイスA1,A2,A3 にわけて考えた方が良い?)
  | 
  | 0xa000 - 0xa7ff デバイスB ( 0xbffff まで 同じバターン4回)
  | 
  | 0xc000 - 0xc3ff デバイスC ( 0xdffff まで 同じパターン8回)
  | 
  | # PCIC と サウンド と パワー関係ぐらいしかデバイスないと思うので、
  | # これで全部ではないだろうか。
  | # ひょっとしたら、0x0000 - 0x8000 に埋もれているのかも知れないけれど
  | # 一番複雑そうなデバイスAが PCIC だと思う。
  | # write したら飛んだという傍証もあるし...
  | 
  | デバイスAのダンプ
  | 
  |             +0   +2   +4   +6   +8   +a   +c   +e :バイトアクセス (0-7)
  | 
  | 00008000: 1f00 0100 0006 0000 0000 0000 0000 0000 :00000000 06000000
  | 
  | 00008400: 0000 0000 0101 819f ffff ffff ffff 0000 :00000000 01019f81
  | 00008410: 0000 ffff ffff ffff ffff ffff ffff ffff :0000ffff ffffffff
  | (84ff まで 8 回くりかえし)
  | 
  | 00008500: 004c 0000 0007 0000 0000 0102 090a 0000 :4c000000 07000000
  | 
  | デバイスBのダンプ
  | 
  | 0000a000: 000b 0000 02f9 0001 0000 0000 0000 0000 :0b000000 f9000100
  | 0000a010: 0000 0002 0006 0005 0000 0000 0000 0000 :00000200 06000500
  | 
  | デバイスCのダンプ
  | 0000c170: 0000 9e00 0000 50e0 0000 0000 0000 0000 :0000009e 0000e050
  | 0000c370: 0000 0000 0000 7f50 0000 0000 0000 0000 :00000000 0000507f


結果は、デバイスC といっていたところが all 0 になって
デバイスBの 状態が変わりました。

0000a000: 0000 0000 0306 0000 0000 0000 0000 0000 :00000000 06000000
0000a010: 0000 0002 0006 0001 0000 0000 0000 0000 :00000200 06000100

ちなみに、CF を付けてやってみたら、

デバイスBは、

0000a000: 000b 0000 02f9 0001 0000 0000 0000 0000 :0b000000 f9000100
0000a010: 0000 0002 0006 0001 0000 0000 0000 0000 :00000200 06000100
                         ====
最初とくらべて1bit 違いました。


というわけで....

0x1400c170

から CF が attach された状態で立ち上がってきているようです。
ポーリングでも何でもする覚悟があれば、CF 使えるかも。

--
					鈴木 康司 @NEC
					suz@hpc.bs1.fc.nec.co.jp
					TEL 0423-33-5381


--
					鈴木 康司  (1ソフ四開 PSG)
					suz@hpc.bs1.fc.nec.co.jp
					8-23-26601