Subject: port-amd64/37043: Starting X reboots machine
To: None <port-amd64-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <arto.huusko@pp2.inet.fi>
List: netbsd-bugs
Date: 09/30/2007 19:10:00
>Number:         37043
>Category:       port-amd64
>Synopsis:       Starting X reboots machine
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-amd64-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Sep 30 19:10:00 +0000 2007
>Originator:     Arto Huusko
>Release:        NetBSD 4.99.31
>Organization:
>Environment:
ThinkPad T61p
total memory = 4030 MB
cpu0: Intel(R) Core(TM)2 Duo CPU     T7300  @ 2.00GHz, 1995.18 MHz
cpu1: Intel(R) Core(TM)2 Duo CPU     T7300  @ 2.00GHz, 1994.92 MHz
pchb0: Intel product 0x2a00 (rev. 0x0c)
ppb0 at pci0 dev 1 function 0: Intel product 0x2a01 (rev. 0x0c)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
vga0 at pci1 dev 0 function 0: NVIDIA product 0x040c (rev. 0xa1)
>Description:
Starting X simply reboots the system, without dropping to ddb and
without any panic message visible in dmesg after the reboot.

The reboot occurs with and without option MULTIPROCESSOR.

I tracked this down to i386_set_mtrr call in
hw/xfree86/os-support/bsd/i386_video.c::NetBSDsetWC()
of modular-xorg-server when it tries to set MTRR for the VGA address
range.

The function is called with parameters
 base = A0000
 size = 20000
 enable = false

I built a version of Xorg where NetBSDsetWC() and NetBSDundoWC()
functions are not made available in xf86OSInitVidMem(), and with
this version I could start X11 with the vesa driver.

>How-To-Repeat:
Start X on T61p
>Fix: