Date: 4 Apr 2001 09:48:46 -0000 From: nivit@libero.it (Nicola Vitale) To: FreeBSD-gnats-submit@freebsd.org Subject: kern/26348: [pcvt] scon -s, page fault in HP mode Message-ID: <20010404094846.8845.qmail@numeria>
index | next in thread | raw e-mail
>Number: 26348
>Category: kern
>Synopsis: [pcvt] scon -s, page fault in HP mode
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Apr 04 07:30:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Nicola Vitale
>Release: FreeBSD 4.2-RELEASE i386
>Organization:
>Environment:
=====================
Kernel compiled with:
=====================
device vt0 at isa?
options XSERVER
options FAT_CURSOR
options PCVT_FREEBSD=210
options PCVT_NSCREEN=12
options PCVT_SCREENSAVER
options PCVT_CTRL_ALT_DEL
options PCVT_24LINESDEF
options COLOR_KERNEL_BG=BG_BLACK
options COLOR_KERNEL_FG=FG_RED
==============================================
System configuration files with these patches:
==============================================
--- rc.i386.orig Mon Nov 20 13:03:04 2000
+++ rc.i386 Tue Feb 13 18:36:40 2001
@@ -6,0 +7,7 @@
+if [ -r /etc/defaults/rc.conf ]; then
+ . /etc/defaults/rc.conf
+ source_rc_confs
+elif [ -r /etc/rc.conf ]; then
+ . /etc/rc.conf
+ fi
+
================================
System configuration files added
================================
# /etc/rc.local
# pcvt configuration
if [ -r /etc/defaults/rc.conf ]; then
. /etc/defaults/rc.conf
source_rc_confs
elif [ -r /etc/rc.conf ]; then
. /etc/rc.conf
fi
if [ -x /usr/sbin/ispcvt ]; then
if /usr/sbin/ispcvt; then
# loading fonts into vga
echo 'console driver type: pcvt'
if [ -x /usr/sbin/loadfont -a -x /usr/sbin/scon ]; then
adaptor=`/usr/sbin/scon -a`
if [ $adaptor = VGA ]; then
echo 'loading 25 lines base font into character set 0'
/usr/sbin/loadfont -c0 -f/usr/share/misc/pcvtfonts/vt220l.816
echo 'loading 25 lines extension font into character set 1'
/usr/sbin/loadfont -c1 -f/usr/share/misc/pcvtfonts/vt220h.816
echo 'loading 28 lines base font into character set 2'
/usr/sbin/loadfont -c2 -f/usr/share/misc/pcvtfonts/vt220l.814
echo 'loading 28 lines extension font into character set 3'
/usr/sbin/loadfont -c3 -f/usr/share/misc/pcvtfonts/vt220h.814
echo 'loading 40 lines base font into character set 4'
/usr/sbin/loadfont -c4 -f/usr/share/misc/pcvtfonts/vt220l.810
echo 'loading 40 lines extension font into character set 5'
/usr/sbin/loadfont -c5 -f/usr/share/misc/pcvtfonts/vt220h.810
echo 'loading 50 lines base font into character set 6'
/usr/sbin/loadfont -c6 -f/usr/share/misc/pcvtfonts/vt220l.808
echo 'loading 50 lines extension font into character set 7'
/usr/sbin/loadfont -c7 -f/usr/share/misc/pcvtfonts/vt220h.808
elif [ $adaptor = EGA ]; then
echo 'loading 25 lines base font into character set 0'
/usr/sbin/loadfont -c0 -f/usr/share/misc/pcvtfonts/vt220l.814
echo 'loading 25 lines extension font into character set 1'
/usr/sbin/loadfont -c1 -f/usr/share/misc/pcvtfonts/vt220h.814
echo 'loading 35 lines base font into character set 2'
/usr/sbin/loadfont -c2 -f/usr/share/misc/pcvtfonts/vt220l.810
echo 'loading 35 lines extension font into character set 3'
/usr/sbin/loadfont -c3 -f/usr/share/misc/pcvtfonts/vt220h.810
fi
fi
# setting screen sizes and emulation
if [ -x /usr/sbin/scon ]; then
if [ $adaptor = VGA ]; then
size=-s28
echo 'switching to 28 lines and VT/HP-emulation'
elif [ $adaptor = EGA ]; then
size=-s25
echo 'switching to 25 lines and VT/HP-emulation'
else
size=
echo 'switching to VT/HP-emulation'
fi
# get monitor type (mono/color)
monitor=`/usr/sbin/scon -m`
# for all screens do
for device in /dev/ttyv*
do
# setup HP mode
/usr/sbin/scon -d$device $size -H
# setup cursor size
if [ X${set_cursor} = X"YES" -a -x /usr/sbin/cursor ]; then
/usr/sbin/cursor -d$device -s$set_cur_start -e$set_cur_end
fi
# if monochrome monitor, set color palette to use a higher intensity
if [ $monitor = MONO ]; then
if [ $adaptor = VGA ]; then
/usr/sbin/scon -d$device -p8,60,60,60
fi
fi
done
# switch to screen 0
/usr/sbin/scon -c0
# set screensaver timeout to one minute
/usr/sbin/scon -t360
fi
# if desired, setup keyboard layout
if [ X${set_keybd} = X"YES" -a -x /usr/sbin/kcon ]; then
echo "switching to ${keybd_lang} keyboard layout"
/usr/sbin/kcon -m ${keybd_layout}
fi
# if desired, setup rate and delay keyboard values
if [ X${set_keydr} = X"YES" -a -x /usr/sbin/kcon ]; then
echo setting keyboard typematic rate = $set_keydr_rate and delay = $set_keydr_delay
/usr/sbin/kcon -r $set_keydr_rate -d $set_keydr_delay
fi
# if desired, start xdm on screen 8
if [ X${xdm_start} = X"YES" -a -x /usr/X386/bin/xdm ]; then
/usr/sbin/scon -c 7
/usr/X386/bin/xdm
sleep 5
/usr/sbin/scon -c 0
fi
# cp /etc/ttys corresponding to console driver
if [ -f /etc/ttys.pcvt ]; then
echo 'copying /etc/ttys.pcvt -> /etc/ttys'
cp /etc/ttys.pcvt /etc/ttys
fi
if [ -f /etc/XF86Config.pcvt ]; then
echo 'copying /etc/XF86Config.pcvt -> /etc/XF86Config'
cp /etc/XF86Config.pcvt /etc/XF86Config
fi
else
if [ -f /etc/ttys.pccons ]; then
echo 'copying /etc/ttys.pccons -> /etc/ttys'
cp /etc/ttys.pccons /etc/ttys
fi
if [ -f /etc/XF86Config.pccons ]; then
echo 'copying /etc/XF86Config.pccons -> /etc/XF86Config'
cp /etc/XF86Config.pccons /etc/XF86Config
fi
fi
fi
#EOF /etc/rc.local
# /etc/ttys.pcvt
# $FreeBSD: src/etc/etc.i386/ttys,v 1.8 2000/01/29 12:18:03 obrien Exp $
# @(#)ttys 5.1 (Berkeley) 4/17/89
#
# This file specifies various information about terminals on the system.
# It is used by several different programs. Common entries for the
# various columns include:
#
# name The name of the terminal device.
#
# getty The program to start running on the terminal. Typically a
# getty program, as the name implies. Other common entries
# include none, when no getty is needed, and xdm, to start the
# X Window System.
#
# type The initial terminal type for this port. For hardwired
# terminal lines, this will contain the type of terminal used.
# For virtual consoles, the correct type is cons25. Other
# common values include network for network connections on
# pseudo-terminals, dialup for incoming modem ports, and unknown
# when the terminal type cannot be predetermined.
#
# status Must be on or off. If on, init will run the getty program on
# the specified port. If the word "secure" appears, this tty
# allows root login.
#
# name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none unknown off secure
#
ttyv0 "/usr/libexec/getty Pc" vt220 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" vt220 on secure
ttyv2 "/usr/libexec/getty Pc" vt220 on secure
ttyv3 "/usr/libexec/getty Pc" vt220 on secure
ttyv4 "/usr/libexec/getty Pc" vt220 on secure
ttyv5 "/usr/libexec/getty Pc" vt220 on secure
ttyv6 "/usr/libexec/getty Pc" vt220 on secure
ttyv7 "/usr/libexec/getty Pc" vt220 on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
ttyv9 "/usr/libexec/getty Pc" vt220 on secure
ttyva "/usr/libexec/getty Pc" vt220 on secure
ttyvb "/usr/libexec/getty Pc" vt220 on secure
# Serial terminals
# The 'dialup' keyword identifies dialin lines to login, fingerd etc.
ttyd0 "/usr/libexec/getty std.9600" dialup off secure
ttyd1 "/usr/libexec/getty std.9600" dialup off secure
ttyd2 "/usr/libexec/getty std.9600" dialup off secure
ttyd3 "/usr/libexec/getty std.9600" dialup off secure
# Pseudo terminals
ttyp0 none network
ttyp1 none network
ttyp2 none network
ttyp3 none network
ttyp4 none network
ttyp5 none network
ttyp6 none network
ttyp7 none network
ttyp8 none network
ttyp9 none network
ttypa none network
ttypb none network
ttypc none network
ttypd none network
ttype none network
ttypf none network
ttypg none network
ttyph none network
ttypi none network
ttypj none network
ttypk none network
ttypl none network
ttypm none network
ttypn none network
ttypo none network
ttypp none network
ttypq none network
ttypr none network
ttyps none network
ttypt none network
ttypu none network
ttypv none network
ttyq0 none network
ttyq1 none network
ttyq2 none network
ttyq3 none network
ttyq4 none network
ttyq5 none network
ttyq6 none network
ttyq7 none network
ttyq8 none network
ttyq9 none network
ttyqa none network
ttyqb none network
ttyqc none network
ttyqd none network
ttyqe none network
ttyqf none network
ttyqg none network
ttyqh none network
ttyqi none network
ttyqj none network
ttyqk none network
ttyql none network
ttyqm none network
ttyqn none network
ttyqo none network
ttyqp none network
ttyqq none network
ttyqr none network
ttyqs none network
ttyqt none network
ttyqu none network
ttyqv none network
ttyr0 none network
ttyr1 none network
ttyr2 none network
ttyr3 none network
ttyr4 none network
ttyr5 none network
ttyr6 none network
ttyr7 none network
ttyr8 none network
ttyr9 none network
ttyra none network
ttyrb none network
ttyrc none network
ttyrd none network
ttyre none network
ttyrf none network
ttyrg none network
ttyrh none network
ttyri none network
ttyrj none network
ttyrk none network
ttyrl none network
ttyrm none network
ttyrn none network
ttyro none network
ttyrp none network
ttyrq none network
ttyrr none network
ttyrs none network
ttyrt none network
ttyru none network
ttyrv none network
ttys0 none network
ttys1 none network
ttys2 none network
ttys3 none network
ttys4 none network
ttys5 none network
ttys6 none network
ttys7 none network
ttys8 none network
ttys9 none network
ttysa none network
ttysb none network
ttysc none network
ttysd none network
ttyse none network
ttysf none network
ttysg none network
ttysh none network
ttysi none network
ttysj none network
ttysk none network
ttysl none network
ttysm none network
ttysn none network
ttyso none network
ttysp none network
ttysq none network
ttysr none network
ttyss none network
ttyst none network
ttysu none network
ttysv none network
ttyP0 none network
ttyP1 none network
ttyP2 none network
ttyP3 none network
ttyP4 none network
ttyP5 none network
ttyP6 none network
ttyP7 none network
ttyP8 none network
ttyP9 none network
ttyPa none network
ttyPb none network
ttyPc none network
ttyPd none network
ttyPe none network
ttyPf none network
ttyPg none network
ttyPh none network
ttyPi none network
ttyPj none network
ttyPk none network
ttyPl none network
ttyPm none network
ttyPn none network
ttyPo none network
ttyPp none network
ttyPq none network
ttyPr none network
ttyPs none network
ttyPt none network
ttyPu none network
ttyPv none network
ttyQ0 none network
ttyQ1 none network
ttyQ2 none network
ttyQ3 none network
ttyQ4 none network
ttyQ5 none network
ttyQ6 none network
ttyQ7 none network
ttyQ8 none network
ttyQ9 none network
ttyQa none network
ttyQb none network
ttyQc none network
ttyQd none network
ttyQe none network
ttyQf none network
ttyQg none network
ttyQh none network
ttyQi none network
ttyQj none network
ttyQk none network
ttyQl none network
ttyQm none network
ttyQn none network
ttyQo none network
ttyQp none network
ttyQq none network
ttyQr none network
ttyQs none network
ttyQt none network
ttyQu none network
ttyQv none network
ttyR0 none network
ttyR1 none network
ttyR2 none network
ttyR3 none network
ttyR4 none network
ttyR5 none network
ttyR6 none network
ttyR7 none network
ttyR8 none network
ttyR9 none network
ttyRa none network
ttyRb none network
ttyRc none network
ttyRd none network
ttyRe none network
ttyRf none network
ttyRg none network
ttyRh none network
ttyRi none network
ttyRj none network
ttyRk none network
ttyRl none network
ttyRm none network
ttyRn none network
ttyRo none network
ttyRp none network
ttyRq none network
ttyRr none network
ttyRs none network
ttyRt none network
ttyRu none network
ttyRv none network
ttyS0 none network
ttyS1 none network
ttyS2 none network
ttyS3 none network
ttyS4 none network
ttyS5 none network
ttyS6 none network
ttyS7 none network
ttyS8 none network
ttyS9 none network
ttySa none network
ttySb none network
ttySc none network
ttySd none network
ttySe none network
ttySf none network
ttySg none network
ttySh none network
ttySi none network
ttySj none network
ttySk none network
ttySl none network
ttySm none network
ttySn none network
ttySo none network
ttySp none network
ttySq none network
ttySr none network
ttySs none network
ttySt none network
ttySu none network
ttySv none network
#EOF /etc/ttys.pcvt
>Description:
In HP mode, if you change the number of character lines on the screen,
system crashes with
Fatal trap 12: page fault while in kernel mode
...
(This does not happen in VT220 mode or under FreeBSD3.3-R)
>How-To-Repeat:
% scon -H
% scon -s 25
% scon -s 28
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010404094846.8845.qmail>
