From adamk@voicenet.com  Sat May  7 01:03:19 2005
Return-Path: <adamk@voicenet.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 84C5216A4D4
	for <FreeBSD-gnats-submit@freebsd.org>; Sat,  7 May 2005 01:03:19 +0000 (GMT)
Received: from chons.visualtech.com (b.mx.visualtech.com [208.16.19.9])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 7EC6B43D8F
	for <FreeBSD-gnats-submit@freebsd.org>; Sat,  7 May 2005 01:03:18 +0000 (GMT)
	(envelope-from adamk@voicenet.com)
Received: from [192.168.0.101] (pcp04364354pcs.glstrt01.nj.comcast.net [68.44.156.246])
	by chons.visualtech.com (Postfix) with ESMTP id 2816E4DE4
	for <FreeBSD-gnats-submit@freebsd.org>; Fri,  6 May 2005 21:03:12 -0400 (EDT)
Message-Id: <427C13D3.4090705@voicenet.com>
Date: Fri, 06 May 2005 21:03:15 -0400
From: Adam K Kirchhoff <adamk@voicenet.com>
To: FreeBSD-gnats-submit@freebsd.org
Subject: DRM 1.16.0 + SMP causes an instant reboot when launching X

>Number:         80718
>Category:       kern
>Synopsis:       DRM 1.16.0 + SMP causes an instant reboot when launching X
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    anholt
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat May 07 01:10:01 GMT 2005
>Closed-Date:    Tue Jun 28 21:38:38 GMT 2005
>Last-Modified:  Tue Jun 28 21:38:38 GMT 2005
>Originator:     Adam K Kirchhoff
>Release:        FreeBSD 6.0-CURRENT i386
>Organization:
>Environment:
 System: FreeBSD sorrow.ashke.com 6.0-CURRENT FreeBSD 6.0-CURRENT #0: Thu 
 May 5 21:03:38 EDT 2005 root@sorrow.ashke.com:/usr/obj/usr
 
 
         
>Description:
         On -CURRENT, launching X with DRI enabled on an SMP kernel causes a
 kernel crash.  This also happens with -STABLE and DRM 1.16.0.  Serial 
 console
 (from -CURRENT) output shows:
 
 drm0: <ATI Radeon If R250 9000> port 0xb000-0xb0ff mem 
 0xd0000000-0xdfffffff,0xe9000000-0xe900ffff irq 16 at device 0.0 on pci1
 info: [drm] AGP at 0xe0000000 128MB
 info: [drm] Initialized radeon 1.16.0 20050311 on minor 0
 panic: pmap_mapdev: Couldn't alloc kernel virtual memory
 cpuid = 1
 Uptime: 49s
 Cannot dump. No dump device defined.
 Automatic reboot in 15 seconds - press a key on the console to abort
 
         Using a UP kernel works!
 
>How-To-Repeat:
 
         Upgrade to -CURRENT on an SMP machine with DRI enabled on a 
 radeon.     
         Launch X.
 
>Fix:
 
         Unknown
 
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Sat May 7 06:36:53 GMT 2005 
Responsible-Changed-Why:  
Rescue this PR from the 'pending' category. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=80718 
Responsible-Changed-From-To: freebsd-bugs->anholt 
Responsible-Changed-By: kris 
Responsible-Changed-When: Tue May 10 23:56:22 GMT 2005 
Responsible-Changed-Why:  
Assign to DRM maintainer 

http://www.freebsd.org/cgi/query-pr.cgi?pr=80718 

From: Eric Anholt <eta@lclark.edu>
To: gnats <freebsd-gnats-submit@FreeBSD.ORG>
Cc:  
Subject: Re: kern/80718
Date: Wed, 11 May 2005 23:16:22 -0700

 I recall the panic in IRC referencing vm_thread_new().  What is the
 relation of that panic to this one?
 
 This one appears to be a dupe of i386/77189.  The solution to that one
 is to not map the framebuffer.  I don't know why we are, and I'm also
 not sure why it would have recently become an issue (unless I botched
 something with initmap changes).
 
 -- 
 Eric Anholt                                     eta@lclark.edu
 http://people.freebsd.org/~anholt/              anholt@FreeBSD.org

From: Eric Anholt <eta@lclark.edu>
To: gnats <freebsd-gnats-submit@FreeBSD.ORG>
Cc:  
Subject: Re: kern/80718
Date: Fri, 24 Jun 2005 11:27:04 -0700

 --=-albrxlfnqAjpKWq9wTVO
 Content-Type: text/plain
 Content-Transfer-Encoding: 7bit
 
 As discussed on IRC, I've proposed a patch to fix this:
 http://people.freebsd.org/~anholt/drm-initmap-mapping.diff
 and attached.  X starts on my testbox with this patch, and I think it
 should fix the issue, but I haven't run any dri clients (libpthread is
 hosed on this box) and I don't have a 128MB radeon to test with.
 
 -- 
 Eric Anholt                                     eta@lclark.edu
 http://people.freebsd.org/~anholt/              anholt@FreeBSD.org
 
 --=-albrxlfnqAjpKWq9wTVO
 Content-Disposition: attachment; filename=drm-initmap-mapping.diff
 Content-Transfer-Encoding: base64
 Content-Type: text/x-patch; name=drm-initmap-mapping.diff; charset=ISO-8859-1
 
 SW5kZXg6IGRldi9kcm0vZHJtX2J1ZnMuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL25j
 dnMvc3JjL3N5cy9kZXYvZHJtL2RybV9idWZzLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjIN
 CmRpZmYgLXUgLXIxLjIgZHJtX2J1ZnMuYw0KLS0tIGRldi9kcm0vZHJtX2J1ZnMuYwkyNCBBcHIg
 MjAwNSAxOTowMzozMiAtMDAwMAkxLjINCisrKyBkZXYvZHJtL2RybV9idWZzLmMJMjQgSnVuIDIw
 MDUgMTY6Mzc6MDggLTAwMDANCkBAIC05Niw3ICs5Niw2IEBADQogCQl1bnNpZ25lZCBpbnQgcmVz
 b3VyY2UsIGludCB0eXBlLCBpbnQgZmxhZ3MpDQogew0KIAlkcm1fbG9jYWxfbWFwX3QgKm1hcDsN
 Ci0Jc3RydWN0IHJlc291cmNlICpic3I7DQogDQogCWlmICh0eXBlICE9IF9EUk1fUkVHSVNURVJT
 ICYmIHR5cGUgIT0gX0RSTV9GUkFNRV9CVUZGRVIpDQogCQlyZXR1cm4gRUlOVkFMOw0KQEAgLTEw
 NywyOCArMTA2LDI5IEBADQogCWlmIChtYXAgPT0gTlVMTCkNCiAJCXJldHVybiBFTk9NRU07DQog
 DQotCW1hcC0+cmlkID0gcmVzb3VyY2UgKiA0ICsgMHgxMDsNCi0JYnNyID0gYnVzX2FsbG9jX3Jl
 c291cmNlX2FueShkZXYtPmRldmljZSwgU1lTX1JFU19NRU1PUlksICZtYXAtPnJpZCwNCi0JICAg
 IFJGX0FDVElWRSB8IFJGX1NIQVJFQUJMRSk7DQotCWlmIChic3IgPT0gTlVMTCkgew0KLQkJRFJN
 X0VSUk9SKCJDb3VsZG4ndCBhbGxvY2F0ZSAlcyByZXNvdXJjZVxuIiwNCi0JCSAgICAoKHR5cGUg
 PT0gX0RSTV9SRUdJU1RFUlMpID8gIm1taW8iIDogImZyYW1lYnVmZmVyIikpOw0KLQkJZnJlZSht
 YXAsIE1fRFJNKTsNCi0JCXJldHVybiBFTk9NRU07DQorCWlmICh0eXBlID09IF9EUk1fUkVHSVNU
 RVJTKSB7DQorCQlzdHJ1Y3QgcmVzb3VyY2UgKmJzcjsNCisJCW1hcC0+cmlkID0gcmVzb3VyY2Ug
 KiA0ICsgMHgxMDsNCisJCWJzciA9IGJ1c19hbGxvY19yZXNvdXJjZV9hbnkoZGV2LT5kZXZpY2Us
 IFNZU19SRVNfTUVNT1JZLCAmbWFwLT5yaWQsDQorCQkgICAgUkZfQUNUSVZFIHwgUkZfU0hBUkVB
 QkxFKTsNCisJCWlmIChic3IgPT0gTlVMTCkgew0KKwkJCURSTV9FUlJPUigiQ291bGRuJ3QgYWxs
 b2NhdGUgJXMgcmVzb3VyY2VcbiIsDQorCQkJICAgICgodHlwZSA9PSBfRFJNX1JFR0lTVEVSUykg
 PyAibW1pbyIgOiAiZnJhbWVidWZmZXIiKSk7DQorCQkJZnJlZShtYXAsIE1fRFJNKTsNCisJCQly
 ZXR1cm4gRU5PTUVNOw0KKwkJfQ0KKwkJbWFwLT5ic3IgPSBic3I7DQorCQltYXAtPmJzdCA9IHJt
 YW5fZ2V0X2J1c3RhZyhic3IpOw0KKwkJbWFwLT5ic2ggPSBybWFuX2dldF9idXNoYW5kbGUoYnNy
 KTsNCisJCW1hcC0+aGFuZGxlID0gcm1hbl9nZXRfdmlydHVhbChic3IpOw0KIAl9DQogDQogCW1h
 cC0+a2VybmVsX293bmVkID0gMTsNCiAJbWFwLT50eXBlID0gdHlwZTsNCiAJbWFwLT5mbGFncyA9
 IGZsYWdzOw0KLQltYXAtPmJzciA9IGJzcjsNCi0JbWFwLT5ic3QgPSBybWFuX2dldF9idXN0YWco
 YnNyKTsNCi0JbWFwLT5ic2ggPSBybWFuX2dldF9idXNoYW5kbGUoYnNyKTsNCiAJbWFwLT5vZmZz
 ZXQgPSBzdGFydDsNCiAJbWFwLT5zaXplID0gbGVuOw0KIA0KLQlpZiAodHlwZSA9PSBfRFJNX1JF
 R0lTVEVSUykNCi0JCW1hcC0+aGFuZGxlID0gcm1hbl9nZXRfdmlydHVhbChic3IpOw0KLQ0KIAlE
 Uk1fREVCVUcoImluaXRtYXAgJWQsMHgleEAweCVseC8weCVseFxuIiwgbWFwLT50eXBlLCBtYXAt
 PmZsYWdzLA0KIAkgICAgbWFwLT5vZmZzZXQsIG1hcC0+c2l6ZSk7DQogDQo=
 
 
 --=-albrxlfnqAjpKWq9wTVO--
State-Changed-From-To: open->closed 
State-Changed-By: anholt 
State-Changed-When: Tue Jun 28 21:38:20 GMT 2005 
State-Changed-Why:  
This should be fixed on -current.  Thanks for all the testing! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=80718 
>Unformatted:
