Date: Thu, 22 Jun 1995 17:50:08 -0700 (PDT) From: "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com> To: terry@cs.weber.edu (Terry Lambert) Cc: regnauld@tetard.frmug.fr.net, freebsd-bugs@freefall.cdrom.com Subject: Re: i386/541: Alternate Reset method by unmapping ALSO broken Message-ID: <199506230050.RAA09004@gndrsh.aac.dev.com> In-Reply-To: <9506222341.AA04029@cs.weber.edu> from "Terry Lambert" at Jun 22, 95 05:41:33 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > > /* force a shutdown by unmapping entire address space ! */ > > -> printf("Unmapping address space:"); > > bzero((caddr_t) PTD, NBPG); > > -> printf(" Done.\n"); > > > > /* "good night, sweet prince .... <THUNK!>" */ > > -> printf("Pmap Update:"); > > pmap_update(); > > -> printf(" Done.\n"); > > > > /* NOTREACHED */ > > while(1); > > > > --- > > > > After recompiling a kernel and booting it, the result is this: > > > > Keyboard reset did not work, attempting CPU shutdown > > Unmapping address space: > > > > ... and nothing more. > > > > Obviously bzero((caddr_t) PTD, NBPG) never makes it... > > (Pretty annoying, as I can't be away long if it crashes and > > attempts to reboot while I'm not around (like this summer...)) > > Theory: printf will fail with an unmapped address space. Not so much theory. I've tried to debug in this area of code in the past. It is quite painful and I found the only practical solution was to go out to Intel and use an ICE to find out just what was going on. What happens depends a lot on just what is in the TLB before we bzero the PTD. If you have the TLB entries that cover the pages for printf then you are usually okay. And since we call printf right before we do the bzero this is normally the case. Take that ``printf("Unmapping address space:");'' out and any later printf is probably going to blow chunks all over the place. Even the fact that this printf: printf("Keyboard reset did not work, attempting CPU shutdown\n"); works on some systems amazes me, as gateA20 should have been slammed by then screwing up any hope of doing much else. I guess if the reset fails so does the gateA20 switch :-) -- Rod Grimes rgrimes@gndrsh.aac.dev.com Accurate Automation Company Reliable computers for FreeBSD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199506230050.RAA09004>