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