Bug 80718

Summary: DRM 1.16.0 + SMP causes an instant reboot when launching X
Product: Base System Reporter: Adam K Kirchhoff <adamk>
Component: kernAssignee: Eric Anholt <anholt>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 6.0-CURRENT   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
drm-initmap-mapping.diff none

Description Adam K Kirchhoff 2005-05-07 02:10:01 UTC
         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!

Fix: 

Unknown
How-To-Repeat:  
         Upgrade to -CURRENT on an SMP machine with DRI enabled on a 
 radeon.     
         Launch X.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2005-05-07 07:36:53 UTC
Responsible Changed
From-To: gnats-admin->freebsd-bugs

Rescue this PR from the 'pending' category.
Comment 2 Kris Kennaway freebsd_committer freebsd_triage 2005-05-11 00:56:22 UTC
Responsible Changed
From-To: freebsd-bugs->anholt

Assign to DRM maintainer
Comment 3 Eric Anholt 2005-05-12 07:16:22 UTC
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
Comment 4 Eric Anholt 2005-06-24 19:27:04 UTC
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
Comment 5 Eric Anholt freebsd_committer freebsd_triage 2005-06-28 22:38:20 UTC
State Changed
From-To: open->closed

This should be fixed on -current.  Thanks for all the testing!