Subject: Re: Rebooting trouble?
To: Charles M. Hannum <>
From: Andreas Gustafsson <>
List: port-i386
Date: 07/05/1995 10:38:31
"Charles M. Hannum" <> asked:
> As of what date, and does it actually print `rebooting...'?

I'm also having trouble with rebooting, on one particular machine
only.  The machine is a 486DX2/66 with a no-name Taiwanese motherboard
using an UMC chipset.  It may be relevant that this motherboard has a
place for an i8042 chip, but there is no such chip (or even socket)
installed, just 40 plated-through holes.  And before you ask: yes, the
keyboard works despite this (mostly; it does hang occasionally).

The kernel is compiled from -current sources of around June 4, 1995
and it _does_ print "rebooting...".

I tried adding debugging printfs to cpu_reset() (see below).  All the
messages up to and including "cpu_reset: unmap" are printed on the
console and then the machine just hangs.  The final message
"cpu_reset: looping" is never printed.
Andreas Gustafsson,

================================ Cut here ================================

	struct region_descriptor region;

	printf("cpu_reset: KBC\n");
	/* Toggle the hardware reset line on the keyboard controller. */

	printf("cpu_reset: KBC\n");

	printf("cpu_reset: IDT\n");
	 * Try to cause a triple fault and watchdog reset by setting the
	 * IDT to point to nothing.
	region.rd_limit = 0;
	region.rd_base = 0;

	printf("cpu_reset: unmap\n");
	 * Try to cause a triple fault and watchdog reset by unmapping the
	 * entire address space.
	bzero((caddr_t)PTD, NBPG);

	printf("cpu_reset: looping\n");
	for (;;);