NetBSD-Bugs archive

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

Re: port-i386/37982: i486DX system panics while probing for NPX on isa bus



The following reply was made to PR port-i386/37982; it has been noted by GNATS.

From: Andrew Doran <ad%netbsd.org@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: port-i386/37982: i486DX system panics while probing for NPX on isa 
bus
Date: Fri, 8 Feb 2008 17:59:05 +0000

 On Fri, Feb 08, 2008 at 12:45:05PM -0500, Christos Zoulas wrote:
 
 > On Feb 8,  4:30pm, jarle%uninett.no@localhost (jarle%uninett.no@localhost) 
 > wrote:
 > -- Subject: port-i386/37982: i486DX system panics while probing for NPX on is
 > 
 > | >Number:         37982
 > | >Category:       port-i386
 > | >Synopsis:       i486DX system panics while probing for NPX on isa bus
 > | >Confidential:   no
 > | >Severity:       serious
 > | >Priority:       high
 > | >Responsible:    port-i386-maintainer
 > | >State:          open
 > | >Class:          sw-bug
 > | >Submitter-Id:   net
 > | >Arrival-Date:   Fri Feb 08 16:30:00 +0000 2008
 > | >Originator:     Jarle Greipsland
 > | >Release:        NetBSD -current
 > | >Organization:
 > |    
 > | >Environment:
 > |    
 > |    
 > | System: NetBSD 4.99.53
 > | Architecture: i386
 > | Machine: i386
 > | >Description:
 > | I just compiled a custom -current kernel for my i486DX2-based system, and
 > | when I tried to boot it it panicked during the autoconfigure stage.  The
 > | ten finger console log is:
 > | 
 > | panic: idt_vec_reserve: failed to reserve vec 45
 > | Stopped in pid 0.1 (system) at netbsd:breakpoint+0x4: popl  %ebp
 > | db> trace
 > | breakpoint(...)
 > | panic(...)
 > | idt_vec_reserve(2d,f0,0,0,0) at netbsd:idt_vec_reserve+0x39
 > | npxprobe1(0,f0,d,0,c043a9ec) at netbsd:npxprobe1+0x1aa
 > | npx_isa_probe(...) at netbsd:npx_isa_probe+0x7e
 > | isasearch(...)
 > | mapply(...)
 > | config_search(...)
 > | isarescan(...)
 > | isaattach(...)
 > | config_attach_loc(...)
 > | config_found_ia(...)
 > | mainbus_attach(...)
 > | config_attach_loc(...)
 > | config_attach(...)
 > | config_rootfound(...)
 > | cpu_configure(...)
 > | configure(...)
 > | main(...)
 > 
 > Try this:
 > Index: npx.c
 > ===================================================================
 > RCS file: /cvsroot/src/sys/arch/i386/isa/npx.c,v
 > retrieving revision 1.125
 > diff -u -u -r1.125 npx.c
 > --- npx.c    20 Jan 2008 21:49:57 -0000      1.125
 > +++ npx.c    8 Feb 2008 17:44:14 -0000
 > @@ -273,7 +273,6 @@
 >  
 >      irqmask = i8259_setmask(irqmask);
 >  
 > -    idt_vec_reserve(NRSVIDT + irq);
 >      idt[NRSVIDT + irq] = save_idt_npxintr;
 >  
 >      idt[16] = save_idt_npxtrap;
 > 
 > We should not reserve the vector since we are not using it after the probe.
 > 
 > christos
 
 We can actually get rid of all this code and use a slightly modified fpu.c
 from the amd64 port (they can be shared). Although that's too big a change
 just to fix this...
 
 Andrew
 



Home | Main Index | Thread Index | Old Index