Subject: Re: CVS commit: syssrc
To: None <jdolecek@netbsd.org>
From: IWAMOTO Toshihiro <iwamoto@sat.t.u-tokyo.ac.jp>
List: source-changes
Date: 12/05/2000 19:02:06
> Module Name:	syssrc
> Committed By:	jdolecek
> Date:		Sat Dec  2 19:34:54 UTC 2000
>=20
> Modified Files:
> 	syssrc/sys/arch/i386/i386: db_disasm.c
>=20
> Log Message:
> db_disasm(): pte is in kernel address space, so use kvtopte() to get pde,
> otherwise it would trip over KASSERT() in vtopte() and cycle
>=20
>=20
> To generate a diff of this commit:
> cvs rdiff -r1.22 -r1.23 syssrc/sys/arch/i386/i386/db_disasm.c

=46rom my understanding, PTE is not in the kernel space.
And my machine dropped into KASSERT loop.

#define PDSLOT_PTE      ((KERNBASE/NBPD)-1) /* 767: for recursive PDP map */
#define PDSLOT_KERN     (KERNBASE/NBPD)     /* 768: start of kernel space */

I suppose you have options LARGEPAGE defined, in which case kvtopte
may return a kernel address.

(I'm sending this mail as I'm not 100% sure if my guess is correct.)
--
IWAMOTO Toshihiro