Rebooting a PS/2

Bill Webb webb at bass.tcspa.ibm.com
Fri Mar 16 08:24:28 AEST 1990


> I need help from a kind person who's successfully written code to
> reset (cold reboot) a 386-based PS/2.  What I've got so far is some
> code that runs just fine on 386 AT machines.  On the PS/2 it just
> sits there.
> Mike McNally                                    Lynx Real-Time Systems

Here's the code that I am using in our kernel debugger to cause
the system to reboot. It causes a processor shutdown by
clearing to interupt descriptor table pointer and then causing a level
3 interrupt. It appears to cause a hard reboot (e.g. the system goes 
thru the memory checking and re-initializes the processor).
It has been used on PS/2 model 80, 70 and P70.
Strictly "as is" but it might help you out.

You will probably have to roll your own version of the assembler routines
"lidt" and "int3" but they are pretty trivial.


db_reboot(void)
{
	struct dtinfo { short fill, limit; int addr } idtp;

        idtp.limit = 0;
        idtp.addr = 0;
        lidt(&idtp.limit);
        int3();
}


----------------------------------------------------------------
The above views are my own, not necessarily those of my employer.
Bill Webb (IBM AWD Palo Alto), (415) 855-4457.
UUCP: ...!uunet!ibmsupt!webb



More information about the Comp.unix.i386 mailing list