All of lore.kernel.org
 help / color / mirror / Atom feed
* Renouveau and GeForce 7950 GX2
@ 2007-09-05 15:25 Luboš Doležel
       [not found] ` <200709051725.53895.lubos-cey1DODAMryZuzBka8ofvg@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Luboš Doležel @ 2007-09-05 15:25 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Hello,

I have a dual-GPU card GeForce 7950 GX2 (PCI ID 10de:0294). Unfortunately, I 
cannot make a dump using renouveau, because the program crashes. The 
backtrace looks like this:

Program received signal SIGSEGV, Segmentation fault.
0x00000000004153af in read_fb_ramin (instanceMem=4, offset=2) at 
objects.c:4089
4089            return fb[((fb_size - (ramin_block*512*1024) + ramin_inst)/4) 
+ offset];
(gdb) bt
#0  0x00000000004153af in read_fb_ramin (instanceMem=4, offset=2) at 
objects.c:4089
#1  0x0000000000415901 in find_object_type_in_ramin (name=3203352833) at 
objects.c:4314
#2  0x0000000000415ccb in find_object_type (name=3203352833) at objects.c:4441
#3  0x0000000000403caf in set_subchannel (channel=0, name=3203352833) at 
re.c:546
#4  0x0000000000403fbc in dump_fifo (map=0x3567f50, dump_startup=1) at 
re.c:642
#5  0x0000000000404423 in dump_after (dump_startup=1) at re.c:744
#6  0x000000000040bae7 in test_startup () at tests.c:3326
#7  0x000000000041055e in run_opengl_tests () at main.c:390
#8  0x0000000000410529 in main (argc=1, argv=0x7fff397bb538) at main.c:372

And the "fb" variable is a NULL pointer.

Is there any way I can help, do some testing, etc.?
Please CC me in response, as I'm not a list member.

Regards,
-- 
Luboš Doležel

Web: http://www.dolezel.info
Jabber IM: xmpp:lubos@dolezel.info
ICQ IM: 222-364-169
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Renouveau and GeForce 7950 GX2
       [not found] ` <200709051725.53895.lubos-cey1DODAMryZuzBka8ofvg@public.gmane.org>
@ 2007-09-06  3:36   ` jb17bsome
  0 siblings, 0 replies; 2+ messages in thread
From: jb17bsome @ 2007-09-06  3:36 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: lubos-cey1DODAMryZuzBka8ofvg

On Wed, 5 Sep 2007 17:25:53 +0200
Luboš Doležel <lubos@dolezel.info> wrote:

> Hello,
> 
> I have a dual-GPU card GeForce 7950 GX2 (PCI ID 10de:0294).
> Unfortunately, I cannot make a dump using renouveau, because the
> program crashes. The backtrace looks like this:
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000004153af in read_fb_ramin (instanceMem=4, offset=2) at 
> objects.c:4089
> 4089            return fb[((fb_size - (ramin_block*512*1024) +
> ramin_inst)/4) 
> + offset];
> (gdb) bt
> #0  0x00000000004153af in read_fb_ramin (instanceMem=4, offset=2) at 
> objects.c:4089
> #1  0x0000000000415901 in find_object_type_in_ramin (name=3203352833)
> at objects.c:4314
> #2  0x0000000000415ccb in find_object_type (name=3203352833) at
> objects.c:4441 #3  0x0000000000403caf in set_subchannel (channel=0,
> name=3203352833) at re.c:546
> #4  0x0000000000403fbc in dump_fifo (map=0x3567f50, dump_startup=1)
> at re.c:642
> #5  0x0000000000404423 in dump_after (dump_startup=1) at re.c:744
> #6  0x000000000040bae7 in test_startup () at tests.c:3326
> #7  0x000000000041055e in run_opengl_tests () at main.c:390
> #8  0x0000000000410529 in main (argc=1, argv=0x7fff397bb538) at
> main.c:372
> 
> And the "fb" variable is a NULL pointer.
> 
> Is there any way I can help, do some testing, etc.?
> Please CC me in response, as I'm not a list member.
> 
> Regards,

This is happening because we try to map > 256MB of the frame buffer
(fb) and it fails.  I think that mapping only the last 256MB of the
frame buffer might work. 

Could you try this patch?

Index: re.c
===================================================================
RCS file: /cvsroot/nouveau/renouveau/re.c,v
retrieving revision 1.125
diff -u -r1.125 re.c
--- re.c	28 Aug 2007 11:41:31 -0000	1.125
+++ re.c	6 Sep 2007 03:17:53 -0000
@@ -294,13 +294,26 @@
 	printf("vram_size\t%d\n",vid_ram);
 	printf("BOOT0\t0x%08x\n",all_regs[0]);
 	
-	if (0!=vid_ram && fb_size != vid_ram*(1024*1024))
+	if (0 != vid_ram)
 	{
-		printf("# Reported FB size from the PCI config of %dMB is "
-		       "different from the actual VRAM size of %dMB\n",
-		       fb_size/(1024*1024), vid_ram);
-		printf("# Adjusting FB size to match VRAM\n");
-		fb_size = vid_ram * 1024 * 1024;
+		if (vid_ram <= 256) 
+		{
+			if (fb_size != vid_ram*(1024*1024))
+			{
+				printf("# Reported FB size from the PCI config of %dMB is "
+				       "different from the actual VRAM size of %dMB\n",
+				       fb_size/(1024*1024), vid_ram);
+				printf("# Adjusting FB size to match VRAM\n");
+				fb_size = vid_ram * 1024 * 1024;
+			}
+		}
+		else
+		{
+			// Force us to read the last 256MB from vram.  
+			// This should be where ramin is for G70/NV40 cards. 
+			fb_phys += (vid_ram - 256) * 1024 * 1024;
+			fb_size = 256;
+		}
 	}
 	printf("fb_size\t%d\n",fb_size>>20);
 	

jb17bsome
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-09-06  3:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-05 15:25 Renouveau and GeForce 7950 GX2 Luboš Doležel
     [not found] ` <200709051725.53895.lubos-cey1DODAMryZuzBka8ofvg@public.gmane.org>
2007-09-06  3:36   ` jb17bsome

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.