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!
-Corey