[comp.os.minix] Problem with Evans' protected mode

jbrogers@phoenix.Princeton.EDU (John B. Jr. Rogerson) (07/26/89)

I have installed the Evans' protected mode changes seemingly without any
problems, and when I boot the OS, I am greeted with
Memory size = 4096K  MINIX = 127K  RAM disk = 260K  Available=3709K.
The problem comes after the "Login:" prompt appears.  Randomly the
machine is locked up at this point and will not accept any typed
characters.  A hard reboot is necessary to recover.  At other times,
the machine will accept my login name, but then it issues the message
"Memory Fault - core dumped", and then issues the prompt on the next
line.  After that, everything works normally, I believe.
Has anyone else encountered this problem?  Any help is gratefully
accepted.
Jack Rogerson

evans@ditsyda.oz (Bruce Evans) (07/31/89)

In article <9590@phoenix.Princeton.EDU> jbrogers@phoenix.Princeton.EDU (John B.  Jr. Rogerson) writes:
>The problem comes after the "Login:" prompt appears.  Randomly the
>machine is locked up at this point and will not accept any typed
>characters.  A hard reboot is necessary to recover.  At other times,

The enclosed patch for the 1.3d console.c will probably fix this. The console
driver needs to take care of the release of the '=' key. It happened not to
matter in 1.3d since the BIOS had time to handle it. But the PM kernel turns
off interrupts much earlier.

The other patch for klib88.x is to make the RAM disk in extended memory work
again in non-protected mode. This configuration is of little use so there
have been few problems with it :-).

>the machine will accept my login name, but then it issues the message
>"Memory Fault - core dumped", and then issues the prompt on the next
>line.  After that, everything works normally, I believe.

Only one core dump per boot? The old readclock will core dump, but that
normally happens before the login prompt appears. There was a bug in login
which might cause it to core dump, but that was fixed in 1.3.

#! /bin/sh
# Contents:  console.c.cdif klib88.x.cdif
# Wrapped by sys@besplex on Mon Jul 31 03:24:25 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'console.c.cdif' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'console.c.cdif'\"
else
echo shar: Extracting \"'console.c.cdif'\" \(275 characters\)
sed "s/^X//" >'console.c.cdif' <<'END_OF_FILE'
X*** console.c~	Sun Mar 26 05:16:42 1989
X--- console.c	Wed Jun 21 00:11:26 1989
X***************
X*** 929,932 ****
X--- 929,933 ----
X    }
X  
X+   scan_keyboard();		/* stop lockup from leftover keystroke */
X    enable_irq(KEYBOARD_IRQ);	/* safe now everything initialised! */
X  }
END_OF_FILE
if test 275 -ne `wc -c <'console.c.cdif'`; then
    echo shar: \"'console.c.cdif'\" unpacked with wrong size!
fi
# end of 'console.c.cdif'
fi
if test -f 'klib88.x.cdif' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'klib88.x.cdif'\"
else
echo shar: Extracting \"'klib88.x.cdif'\" \(411 characters\)
sed "s/^X//" >'klib88.x.cdif' <<'END_OF_FILE'
X*** /local/sys/kernel/klib88.x	Sun Mar 26 05:17:03 1989
X--- klib88.x	Sun Jul 30 00:10:00 1989
X***************
X*** 1043,1048 ****
X  	jnz	pc_panic	| count is too big
X  	inc	bx
X! 	cmp	_processor,#286
X! 	jb	pc_panic	| not 286 or 386	
X  	jmp	_em_xfer
X  
X--- 1017,1022 ----
X  	jnz	pc_panic	| count is too big
X  	inc	bx
X! 	cmp	_pc_at,#0
X! 	jz	pc_panic	| probably not 286 or 386 (fix here & misc.c?)
X  	jmp	_em_xfer
X  
END_OF_FILE
if test 411 -ne `wc -c <'klib88.x.cdif'`; then
    echo shar: \"'klib88.x.cdif'\" unpacked with wrong size!
fi
# end of 'klib88.x.cdif'
fi
echo shar: End of shell archive.
exit 0
-- 
Bruce Evans		evans@ditsyda.oz.au