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

Re: cassiopeia for DoCoMo



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

  | 鈴木(康)です。
  | 
  | カシオペアでいろいろやっているんですが、割り込み回り
  | なかなかうまくいかないです。

やっとうまくいきました。

  | linuxce のほうで 湯浅さんから
  | 
  | 
  |   IRQの40-71(GIU interrupt 0-32)のどれかに割り込みが入ったときは、
  |   IRQの16(System interrput 8)にも割り込みが入ります。
  |   pollingではありません。
  | 
  | と教えていただいたので

これやっぱり正しかったです。

カシオペアの割り込みは全部

VRGIU_INTR_LEVEL_LOW_THROUGH

みたいです。

# ボタンが active low であることから、もっと早く気が付いても
# 良かったのに と思いました。


  | 0 番の GIU を開けるようにしてみたんですが、
  | 割り込みが入りつづけてしまいます。

だからこうなってしまったわけでした。


というわけで、

config を

vrisab4 at vrgiu? platform CASIO_CASSIOPEIAE_E55 isaportoffset 0xc000
isa4    at vrisab4
wdc0    at isa4 port 0x170 irq 0x0020000f

という風にしています。

irq は、32 -> 0 に見なすように vrgiu.c をちょっと修正して、

あと、とりあえず以下のところ ハードコーディングしています。


mode = VRGIU_INTR_LEVEL_HIGH_THROUGH;  /* XXX Is this OK? */
->
mode = VRGIU_INTR_LEVEL_LOW_THROUGH;  /* XXX Is this OK? */



------------------------------------------------------
Copyright (c) 1996, 1997, 1998, 1999, 2000
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 1.4T (SMALL) #31: Sat Feb 26 00:45:56 JST 2000
    suz@jade:/usr/syssrc/sys/arch/hpcmips/compile/SMALL
CASIO Cassiopeia E55 (NEC VR4111 rev1.0 69.391MHz)
total memory = 8192 KB
avail memory = 5912 KB
using 128 buffers containing 512 KB of memory
../../../../arch/hpcmips/vr/vr.c(236): vr_bus_reset() not implemented.
mainbus0 (root)
cpu0 at mainbus0: NEC VR4100 CPU Rev. 5.2 with software emulated floating point Rev. 0.0
cpu0: L1 cache: 16KB/16B Instruction, 8KB/16B Data, direct mapped
cpu0: No L2 cache
cpu0: install VR specific idle routine
fb0 at mainbus0: rasops 240x320 pixels, 4 colors, 30x32 chars
wsdisplay0 at fb0
wsdisplay0: screen 0 added (std, vt100 emulation)
vrip0 at mainbus0
vrcmu0 at vrip0 addr 0xb000060-0xb00007f
vrgiu0 at vrip0 addr 0xb000100-0xb00011f intr 8
WIN setting:                                IIIoooooooIiIiIiIIIIIIIIIIIIIiiI
WIN setting:                                LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
I/O setting:                                iiioooooooiiiiiiiiiiiiiiiiiiiiii
WIN setting:                                LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
       data:,,,,,,,,,,,,,,,,,,,,;;;;,;;,,;;;|||.|.|||||.|..|.|||||||||....||
button0 at vrgiu0 port=6 id=1 active=low sense=edge
button1 at vrgiu0 port=7 id=2 active=low sense=edge
button2 at vrgiu0 port=8 id=9 active=low sense=edge
button3 at vrgiu0 port=9 id=10 active=low sense=edge
button4 at vrgiu0 port=10 id=11 active=low sense=edge
button5 at vrgiu0 port=11 id=12 active=low sense=edge
button6 at vrgiu0 port=12 id=4 active=low sense=edge
button7 at vrgiu0 port=13 id=3 active=low sense=edge
vrbcu0 at vrip0 addr 0xb000000-0xb00001f
vrbcu: cpu 69.391MHz, bus 23.130MHz, ram 23.130MHz
com0 at vrip0 addr 0xc000000-0xc000007 intr 9: ns16550a, working fifo
com0: console
vrrtc0 at vrip0 addr 0xb0000c0-0xb0000df intr 2
vrkiu0 at vrip0 addr 0xb000180-0xb00019f intr 7
wskbd0 at vrkiu0 mux 1
vrpmu0 at vrip0 addr 0xb0000a0-0xb0000bf intr 1
vrdsu0 at vrip0 addr 0xb0000e0-0xb0000e7
vrpiu0 at vrip0 addr 0xb000120-0xb0002bf intr 5
wsmouse0 at vrpiu0
vrisab4 at vrgiu0
----- dump_io -----------
000b 0000 02b9 0001 0000 0000 0000 0000 
0000 0002 0006 0001 0000 0000 0000 0000 
:ISA port 0x1400c000-0x18000000 mem 0x10000000-0x20000000
isa4 at vrisab4
wdc0 at isa4 port 0x170-0x177 irq 2097167
ISA IRQ 15 -> GPIO port 0
wd0 at wdc0 channel 0 drive 0: <Hitachi CV 5.1.1>
wd0: drive supports 1-sector pio transfers, lba addressing
wd0: 15744 KB, 246 cyl, 4 head, 32 sec, 512 bytes/sect x 31488 sectors
../../../../arch/hpcmips/vr/vr.c(236): vr_bus_reset() not implemented.
button manager
boot device: wd0
root on wd0a dumps on wd0b
WARNING: preposterous clock chip time
 -- CHECK AND RESET THE DATE!
root file system type: ffs
swapctl: /dev/wd0b: Invalid argument
Automatic boot in progress: starting file system checks.
/dev/rwd0a: file system is clean; not checking
setting tty flags
starting network
configuring network interfaces:.
logger: not found
building databases...
starting system logger
checking for core dump...
savecore: not found
starting rpc daemons:.
mount_kernfs: kernfs on /kern: No such file or directory
mount_procfs: procfs on /proc: No such file or directory
setting securelevel: kern.securelevel: 0 -> 1
checking quotas:quotacheck: not found
 done.
quotaon: not found
clearing /tmp
updating motd.
cmp: not found
standard daemons:.
starting network daemons: inetd.
starting local daemons:.
Sat Feb 26 00:48:12 JST 2000

NetBSD/hpcmips (Amnesiac) (console)

login:  


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