Subject: Re: i386 - Cannot boot from wd(Promise Ultra100) with infinite
To: None <bouyer@antioche.eu.org>
From: NISHIO Yasuhiro <nishio@hh.iij4u.or.jp>
List: current-users
Date: 10/14/2003 23:49:08
Bouyer san,
Thank you for your reply.
> > difference between Serial console and PC console(VGA)? If so, I'll try
> > to use PC console.
>
> Could be, I've been able to enter ddb on systems in interrupts loops from
> PC console
uum. Using PC Console is a little bit hard for me. There is no VGA
Display. Please gime more time to prepare it.
> > db> trace/t 0t4
> > trace: pid 4 at 0x0
>
> Hum, this is bad.
> BTW, I've got another idea. Can you set a break point on atabusconfig(),
> and then step util the problem occurs ?
Yes, I can. The full log is 1.3MB. Would you pleae check at
http://www.hh.iij4u.or.jp/~nishio/netbsd/atabusconfig/
atabusconfig-step.log --- full log (1.3MB)
atabusconfig-step.log.bz2 --- bzip2ed (16KB)
atabusconfig-summ.log --- summarized it by me.(25KB)
Here is the digest...
============================================================
- kernel -- same as the last mail.
> boot gennetbsd -d
booting hd0a:gennetbsd (howto 0x40)
7843808+134724+406072 [380240+308202]=0x8a83ac
Stopped at netbsd:breakpoint+0x4: leave
db> break atabusconfig
db> c
:
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
Kernelized RAIDframe activated
Breakpoint in pid 4.1 (atabus0) at netbsd:atabusconfig: pushl %ebp
db> step
Stopped in pid 4.1 (atabus0) at netbsd:atabusconfig+0x1: movl %esp,%eb
p
db>
Stopped in pid 4.1 (atabus0) at netbsd:atabusconfig+0x3: pushl %edi
:
Stopped...(atabus0) at netbsd:wdc_addref: pushl %ebp
Stopped...(atabus0) at netbsd:splraise+0x1da248: pushl %ebp
Stopped...(atabus0) at netbsd:wdc_addref+0x29: addl $0x10,%esp
:
:
Stopped...(atabus0) at netbsd:write_eflags+0x1324af: pushl %ebp
Stopped...(atabus0) at netbsd:gettick+0x60: addl $0x10,%esp
Stopped...(atabus0) at netbsd:i8254_delay+0x81: movl %eax,0xf
Stopped...(atabus0) at netbsd:__wdcprobe+0x72a: addl $0x10,%e
Stopped in pid 4.1 (atabus0) at netbsd:__outb+0xf34df: pushl %ebp
Stopped in pid 4.1 (atabus0) at netbsd:__outb+0xf34e0: movl %esp,%ebp
Stopped in pid 4.1 (atabus0) at netbsd:__outb+0xf34e2: subl $0x4,%esp
Stopped in pid 4.1 (atabus0) at netbsd:__outb+0xf34e5: movl 0xc(%ebp),%eax
Stopped in pid 4.1 (atabus0) at netbsd:__outb+0xf34e8: movb %al,0xffffffff(%
ebp)
Stopped in pid 4.1 (atabus0) at netbsd:__outb+0xf34eb: movb 0xffffffff(%ebp)
,%al
Stopped in pid 4.1 (atabus0) at netbsd:__outb+0xf34ee: movl 0x8(%ebp),%edx
Stopped in pid 4.1 (atabus0) at netbsd:__outb+0xf34f1: outb %al,%dx
Stopped in pid 4.1 (atabus0) at netbsd:__outb+0xf34f2: leave
pdcide0:0: bogus intr
pdcide0:1: bogus intr
pdcide0:0: bogus intr
(loop occur)
========================================
I think, I should use the examine/show */trace command somewhere. If
the above log bacomes a hint to solving my problem, Would you please
point it(ddb command, examine addr etc)?
(I can use some ddb command, but I lack the knowledge
to understand the kernel code...)
Thanks in advance.
--
NISHIO Yasuhiro