Subject: Re: kern/10271: thinkpad 760EL hangs with current generic-derived kernel
To: Chris G. Demetriou <cgd@sibyte.com>
From: Jason R Thorpe <thorpej@zembu.com>
List: netbsd-bugs
Date: 06/04/2000 12:39:01
On Sun, Jun 04, 2000 at 12:30:33PM -0700, Chris G. Demetriou wrote:

 > the patch posted to port-i386 by itojun (included below) seems to make
 > the problem better -- at least now it gets passed the BIOS32 msg.  (it
 > now crashes with a trap right after the isapnp attach msg... and, of
 > course, still doesn't use the cardbus slots as cardbus slots.)

The changes that this patch disables were backed out.  Please everyone
update your sources and try again.

 > 
 > 
 > 
 > Index: machdep.c
 > ===================================================================
 > RCS file: /cvsroot/syssrc/sys/arch/i386/i386/machdep.c,v
 > retrieving revision 1.387
 > diff -u -r1.387 machdep.c
 > --- machdep.c	2000/06/02 18:33:17	1.387
 > +++ machdep.c	2000/06/03 15:38:11
 > @@ -1578,8 +1578,13 @@
 >  	 * to us by the boot program.
 >  	 */
 >  	bim = lookup_bootinfo(BTINFO_MEMMAP);
 > -	if (bim != NULL) {
 >  #if 0
 > +	if (bim != NULL)
 > +#else
 > +	if (0)
 > +#endif
 > +	{
 > +#if 0
 >  		printf("BIOS MEMORY MAP (%d ENTRIES):\n", bim->num);
 >  #endif
 >  		for (x = 0; x < bim->num; x++) {
 > @@ -1715,11 +1720,19 @@
 >  #endif
 >  		mem_clusters[1].start = IOM_END;
 >  		mem_clusters[1].size = trunc_page(KBTOB(biosextmem));
 > +#if 1
 > +		/* steal a page for IDT */
 > +		mem_clusters[1].size -= NBPG;
 > +#endif
 > +
 >  		physmem += atop(mem_clusters[1].size);
 >  
 >  		mem_cluster_cnt = 2;
 >  
 > -		avail_end = IOM_END + trunc_page(KBTOB(biosextmem));
 > +		avail_end = mem_clusters[1].start + mem_clusters[1].size;
 > +#if 1
 > +		idt_paddr = avail_end;
 > +#endif
 >  	}
 >  
 >  	/*
 > Index: pmap.c
 > ===================================================================
 > RCS file: /cvsroot/syssrc/sys/arch/i386/i386/pmap.c,v
 > retrieving revision 1.92
 > diff -u -r1.92 pmap.c
 > --- pmap.c	2000/06/02 18:33:16	1.92
 > +++ pmap.c	2000/06/03 15:38:17
 > @@ -821,8 +821,10 @@
 >  
 >  	idt_vaddr = virtual_avail;			/* don't need pte */
 >  	virtual_avail += NBPG; pte++;
 > +#if 0
 >  	idt_paddr = avail_start;			/* steal a page */
 >  	avail_start += NBPG;
 > +#endif
 >  
 >  #if defined(I586_CPU)
 >  	/* pentium f00f bug stuff */
 > 
 > 

-- 
        -- Jason R. Thorpe <thorpej@zembu.com>