On Mon, May 11, 2009 at 3:42 PM, Joseph Smith <joe@settoplinux.org> wrote:



On Sun, 10 May 2009 23:09:36 -0400, Corey Osgood <corey.osgood@gmail.com>
wrote:
> On Sun, May 10, 2009 at 6:34 PM, Elia Yehuda <z4ziggy@gmail.com> wrote:
>
>> here is the comment from my previous patch, revealing most of my RE work
> :
>>
>>
>>     /* TODO: This needs to be calculated according to the DRAM tech
>>      * (x8, x16, or x32). Argh, Intel provides no docs on this!
>>      * Currently, it needs to be pulled from the output of
>>      * lspci -xxx Rx92
>>      * here are some common results:
>>      * (c = 128MB dual sided, d = 128MB single sided, f = 256MB dual
> sided)
>>      * BUFF_SC: tom:    drp:   DIMM0:               DIMM1:
>>      * 0x3356   128MB   0x0c   128MB dual-sided     -
>>      * 0xcc56   128MB   0xc0   -                    128MB dual-sided
>>      * 0x77da   128MB   0x0d   128MB single-sided   -
>>      * 0xddda   128MB   0xd0   -                    128MB single-sided
>>      * 0x0001   256MB   0xcc   128MB dual-sided     128MB dual-sided
>>      * 0x55c6   256MB   0xdd   128MB single-sided   128MB single-sided
>>      * 0x4445   256MB   0xcd   128MB single-sided   128MB dual-sided
>>      * 0x1145   256MB   0xdc   128MB dual-sided     128MB single-sided
>>      * 0x3356   256MB   0x0f   256MB dual-sided     -
>>      * 0xcc56   256MB   0xf0   -                    256MB dual-sided
>>      * 0x0001   384MB   0xcf   256MB dual-sided     128MB dual-sided
>>      * 0x0001   384MB   0xfc   128MB dual-sided     256MB dual-sided
>>      * 0x1145   384MB   0xdf   256MB dual-sided     128MB single-sided
>>      * 0x4445   384MB   0xfd   128MB single-sided   256MB dual-sided
>>      * 0x0001   512MB   0xff   256MB dual-sided     256MB dual-sided
>>      *
>>      * BUFF_SC: BUFF_SC in binary:          tom:    drp:
>> DIMM0:               DIMM1:
>>      * 0x3356   0 0 1 1 00 11 01 01 01 10   128MB   0x0c   128MB
>> dual-sided     -
>>      * 0xcc56   1 1 0 0 11 00 01 01 01 10   128MB   0xc0
>> -                    128MB dual-sided
>>      * 0x77da   0 1 1 1 01 11 11 01 10 10   128MB   0x0d   128MB
>> single-sided   -
>>      * 0xddda   1 1 0 1 11 01 11 01 10 10   128MB   0xd0
>> -                    128MB single-sided
>>      * 0x0001   0 0 0 0 00 00 00 00 00 01   256MB   0xcc   128MB
>> dual-sided     128MB dual-sided
>>      * 0x55c6   0 1 0 1 01 01 11 00 01 10   256MB   0xdd   128MB
>> single-sided   128MB single-sided
>>      * 0x4445   0 1 0 0 01 00 01 00 01 01   256MB   0xcd   128MB
>> single-sided   128MB dual-sided
>>      * 0x1145   0 0 0 1 00 01 01 00 01 01   256MB   0xdc   128MB
>> dual-sided     128MB single-sided
>>      * 0x3356   0 0 1 1 00 11 01 01 01 10   256MB   0x0f   256MB
>> dual-sided     -
>>      * 0xcc56   1 1 0 0 11 00 01 01 01 10   256MB   0xf0
>> -                    256MB dual-sided
>>      * 0x0001   0 0 0 0 00 00 00 00 00 01   384MB   0xcf   256MB
>> dual-sided     128MB dual-sided
>>      * 0x0001   0 0 0 0 00 00 00 00 00 01   384MB   0xfc   128MB
>> dual-sided     256MB dual-sided
>>      * 0x1145   0 0 0 1 00 01 01 00 01 01   384MB   0xdf   256MB
>> dual-sided     128MB single-sided
>>      * 0x4445   0 1 0 0 01 00 01 00 01 01   384MB   0xfd   128MB
>> single-sided   256MB dual-sided
>>      * 0x0001   0 0 0 0 00 00 00 00 00 01   512MB   0xff   256MB
>> dual-sided     256MB dual-sided
>>
>>         0:1   00 = 0 DIMMs
>>               01 = 2 dual
>>                1 dual + 1 single
>>                1 single + 1 dual
>>               10 = 1 DIMM only
>>                2 single
>>         2:3   00 = 2 dual sided
>>               01 = 1 dual sided only
>>                2 single sided
>>                1 dual + 1 single
>>                1 single + 1 dual
>>               10 = 1 single sided only
>>         4:5   00 = 2 DIMMs
>>               01 = 1 DIMM only
>>         6:7   00 = 2 dual
>>               01 = 1 dual only
>>                1 dual + 1 single
>>                1 single + 1 dual
>>               11 = 1 single
>>                2 single
>>         8:9   00 = 2 dual
>>                1 single + 1 dual
>>                1 dual only in slot #1
>>               01 = 1 single only in slot #1
>>                1 dual + 1 single
>>                2 single
>>               11 = no dimm in slot #1
>>         10:11 00 = 1 dual only in slot #0
>>                2 dual
>>                1 dual + 1 single
>>               01 = 1 single only in slot #0
>>                2 single
>>                1 single + 1 dual
>>               11 = no dimm in slot #0
>>         12     0 = 1 dual only in slot #1
>>                2 dual
>>                1 single + 1 dual
>>                1 = no dimm in slot #1
>>                1 single
>>                2 single
>>                1 dual + 1 single
>>         13     0 = any in slot #1
>>                1 = no dimm in slot #1
>>         14     0 = 1 dual only in slot #0
>>                2 dual
>>                1 dual + 1 single
>>                1 = no dimm in slot #0
>>                1 single only in slot #0
>>                2 single
>>                1 single + 1 dual
>>         15     0 = no dimm in slot #1
>>                2 DIMMs
>>                1 = no dimm in slot #0
>>
>>
>>      */
>>
>>
> Wow, cool, I'd never have been able to put that together ;) thanks!
>
Yes very cool :-)

thanks :)
 

I am going to have to test this out on the i830.
Elia do you need someone with svn access to apply your patch?

sure, but as was suggested by Myles Watson, we'll wait for the
HAVE_HIGH_TABLES fix before applying this patch.



--
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org


Elia.