Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 12-07-09, 09:29 AM   #1
genux
Registered User
 
Join Date: Dec 2009
Posts: 4
Default BAR 1 64 bit

Hi All,

I have tried looking though the nv news website, but cannot find any answers this problem.

I am running a kubuntu 64 bit version, have included the reasons why below with uname and lm in the cpu flags.

But when I try to apply the patch
NVRM_256M_fix.txt
NVRM_512M_fix.txt

The i386.c file does not "appear" to be compiled and also does not appear to work. I was wondering if there is a different file that I need to alter for a 64bit version kernel ?

On here is more details of my problem.

4gb-32bit-northbridge-bar1-error

and some of a kernel listing output.

Any help would be gratefully received.

Regards
Ian

uname -a
2.6.31-16-generic #52-Ubuntu SMP Thu Dec 3 22:07:16 UTC 2009 x86_64 GNU/Linux

cat /proc/cpuinfo | grep lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow
genux is offline   Reply With Quote
Old 12-07-09, 10:04 AM   #2
genux
Registered User
 
Join Date: Dec 2009
Posts: 4
Default Re: BAR 1 64 bit

on my previous post I included a link to more details, but was using a i686 kernel which did not fix the problem either (I think that is based on x86 code ? but using more AMD 686 setup)

and someone said that using a 64 bit kernel may sort things out since that is using a different pci setup, but does not appear to work.

if you want any files etc.. just say.
genux is offline   Reply With Quote
Old 01-07-10, 08:32 AM   #3
genux
Registered User
 
Join Date: Dec 2009
Posts: 4
Default Re: BAR 1 64 bit

I had sorted out a fix for this problem..

I have included more details on this site, BAR 15 - nvidia graphics card does not work, regarding the fix because I had to stop any resources trying to claim the 0xc0-0xcf range. But basically the fix was to add another test to block out any other resources trying to claim that space as well in the linux-source-code arch/x86/pci/i386.c pcibios_allocate_bus_resources function

Code:
/*
www.codingfriends.com added, to test for the nvidia problem
 
[0xb0000000-0xbfffffff] is where the BIOS is telling nvidia to get the memory,
but with 4GB this is where the system memory is.                              
 
a better way of doing this, would be to run the BIOS find memory process twice
and then if no resources can gain memory, e.g. nvidia in this case, flag it for the
second run to then give that the starting area and re-do the rest of them, because 
mainly it is the graphics card that needs the most memory..e.g. 256-512 etc.       
*/                               
                                                  
                                if ((r->start >= 0xc0000000) && (r->end <= 0xcfffffff)) {
                                        dev_info(&dev->dev,                              
                                                 " not allocating resource 0xc - 0xcf %pR\n",
                                                 r);                                         
                                        /*                                                   
                                                stop any resources gaining the 0xc0000000 - 0xcfffffff
                                                region, the linux kernel will re-place them.          
                                        */                                                            
                                        r->flags = 0;                                                 
                                }                                                                     
 
                                /* where the nvidia is going and replace in the above region */
                                if ((r->start == 0xb0000000) && (r->end == 0xbfffffff)) {      
                                        r->start = 0xc0000000;                                 
                                        r->end = 0xcfffffff;                                   
                                }
Hope that this helps any other people regarding this error, I am going to see if I am able to make it so that the linux kernel will do this sort of thing automatically without custom writing the memory locations.
genux is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 12:38 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.