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>