Subject: Re: Spontaneous reset testing needed
To: Klaus Klein <kleink@mibh.de>
From: Frank van der Linden <fvdl@netbsd.org>
List: port-amd64
Date: 06/16/2004 12:53:40
On Wed, Jun 16, 2004 at 01:59:30AM +0200, Klaus Klein wrote:
> Sadly I'm still having the problem, but unfortunately I'm also
> still seeing the spontaneous reset.  Nevertheless, thanks for
> giving it a try.

Ok then..

Can you update once more (there were a few mistakes in my change),
and additionally apply the following diff.

This moves the IDT to another location in physical memory.
To be exact, from the first few pages to directly behind
the kernel.

If something is overwriting low physical memory, then this will
move the IDT out of the way.

If this diff doesn't make the problem go away, then the problem
is not that the IDT gets messed up.

- Frank


Index: machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/amd64/amd64/machdep.c,v
retrieving revision 1.29
diff -c -r1.29 machdep.c
*** machdep.c	16 Jun 2004 10:13:46 -0000	1.29
--- machdep.c	16 Jun 2004 10:44:06 -0000
***************
*** 1257,1262 ****
--- 1257,1265 ----
  	/* Make sure the end of the space used by the kernel is rounded. */
  	first_avail = round_page(first_avail);
  
+ 	idt_paddr = first_avail;
+ 	first_avail += 2 * PAGE_SIZE;
+ 
  	kern_end = KERNBASE + first_avail;
  #ifdef LKM
  	lkm_start = kern_end;