<div class="gmail_quote">On Sun, May 10, 2009 at 6:34 PM, Elia Yehuda <span dir="ltr"><<a href="mailto:z4ziggy@gmail.com">z4ziggy@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div dir="ltr">here is the comment from my previous patch, revealing most of my RE work :<br><br><br><span style="font-family: courier new,monospace;">    /* TODO: This needs to be calculated according to the DRAM tech</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * (x8, x16, or x32). Argh, Intel provides no docs on this!</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * Currently, it needs to be pulled from the output of</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * lspci -xxx Rx92</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * here are some common results:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * (c = 128MB dual sided, d = 128MB single sided, f = 256MB dual sided)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * BUFF_SC: tom:    drp:   DIMM0:               DIMM1:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x3356   128MB   0x0c   128MB dual-sided     -</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0xcc56   128MB   0xc0   -                    128MB dual-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x77da   128MB   0x0d   128MB single-sided   -</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0xddda   128MB   0xd0   -                    128MB single-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x0001   256MB   0xcc   128MB dual-sided     128MB dual-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x55c6   256MB   0xdd   128MB single-sided   128MB single-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x4445   256MB   0xcd   128MB single-sided   128MB dual-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x1145   256MB   0xdc   128MB dual-sided     128MB single-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x3356   256MB   0x0f   256MB dual-sided     -</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0xcc56   256MB   0xf0   -                    256MB dual-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x0001   384MB   0xcf   256MB dual-sided     128MB dual-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x0001   384MB   0xfc   128MB dual-sided     256MB dual-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x1145   384MB   0xdf   256MB dual-sided     128MB single-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x4445   384MB   0xfd   128MB single-sided   256MB dual-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x0001   512MB   0xff   256MB dual-sided     256MB dual-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     *</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * BUFF_SC: BUFF_SC in binary:          tom:    drp:   DIMM0:               DIMM1:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x3356   0 0 1 1 00 11 01 01 01 10   128MB   0x0c   128MB dual-sided     -</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0xcc56   1 1 0 0 11 00 01 01 01 10   128MB   0xc0   -                    128MB dual-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x77da   0 1 1 1 01 11 11 01 10 10   128MB   0x0d   128MB single-sided   -</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0xddda   1 1 0 1 11 01 11 01 10 10   128MB   0xd0   -                    128MB single-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x0001   0 0 0 0 00 00 00 00 00 01   256MB   0xcc   128MB dual-sided     128MB dual-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x55c6   0 1 0 1 01 01 11 00 01 10   256MB   0xdd   128MB single-sided   128MB single-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x4445   0 1 0 0 01 00 01 00 01 01   256MB   0xcd   128MB single-sided   128MB dual-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x1145   0 0 0 1 00 01 01 00 01 01   256MB   0xdc   128MB dual-sided     128MB single-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x3356   0 0 1 1 00 11 01 01 01 10   256MB   0x0f   256MB dual-sided     -</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0xcc56   1 1 0 0 11 00 01 01 01 10   256MB   0xf0   -                    256MB dual-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x0001   0 0 0 0 00 00 00 00 00 01   384MB   0xcf   256MB dual-sided     128MB dual-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x0001   0 0 0 0 00 00 00 00 00 01   384MB   0xfc   128MB dual-sided     256MB dual-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x1145   0 0 0 1 00 01 01 00 01 01   384MB   0xdf   256MB dual-sided     128MB single-sided</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     * 0x4445   0 1 0 0 01 00 01 00 01 01   384MB   0xfd   128MB single-sided   256MB dual-sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">     * 0x0001   0 0 0 0 00 00 00 00 00 01   512MB   0xff   256MB dual-sided     256MB dual-sided</span><br style="font-family: courier new,monospace;">

<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">        0:1   00 = 0 DIMMs</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">              01 = 2 dual</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 dual + 1 single</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               1 single + 1 dual</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">              10 = 1 DIMM only</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               2 single</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">        2:3   00 = 2 dual sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">              01 = 1 dual sided only</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               2 single sided</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               1 dual + 1 single</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 single + 1 dual</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">              10 = 1 single sided only</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">        4:5   00 = 2 DIMMs</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">              01 = 1 DIMM only</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">        6:7   00 = 2 dual</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">              01 = 1 dual only</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 dual + 1 single</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               1 single + 1 dual</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">              11 = 1 single</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               2 single</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">        8:9   00 = 2 dual</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               1 single + 1 dual</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 dual only in slot #1</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">              01 = 1 single only in slot #1</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 dual + 1 single</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               2 single</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">              11 = no dimm in slot #1</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">        10:11 00 = 1 dual only in slot #0</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               2 dual</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               1 dual + 1 single</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">              01 = 1 single only in slot #0</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               2 single</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 single + 1 dual</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">              11 = no dimm in slot #0</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">        12     0 = 1 dual only in slot #1</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               2 dual</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 single + 1 dual</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               1 = no dimm in slot #1</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 single</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               2 single</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 dual + 1 single</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">        13     0 = any in slot #1</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 = no dimm in slot #1</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">        14     0 = 1 dual only in slot #0</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               2 dual</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               1 dual + 1 single</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 = no dimm in slot #0</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               1 single only in slot #0</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               2 single</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               1 single + 1 dual</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">        15     0 = no dimm in slot #1</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">               2 DIMMs</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">               1 = no dimm in slot #0</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">     */</span><br style="font-family: courier new,monospace;"><br></div>
</blockquote></div><br>Wow, cool, I'd never have been able to put that together ;) thanks!<br><br>-Corey<br>