Attention is currently required from: Patrick Rudolph.
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/79783?usp=email )
Change subject: nb/intel/sandybridge/raminit: Set MR2 on per DIMM basis ......................................................................
Patch Set 3:
(2 comments)
File src/northbridge/intel/sandybridge/raminit_common.c:
https://review.coreboot.org/c/coreboot/+/79783/comment/b77d3cad_981550f8 : PS3, Line 781: rank/2 nit: spacing around `/` Also, for readability, an auxiliary constant would help:
```c const int slot = rank / 2; ```
https://review.coreboot.org/c/coreboot/+/79783/comment/f06e4676_d9a48b18 : PS3, Line 799: reg32 &= 1 << (rank / 2 + 14) | 1 << (rank / 2 + 6); I don't think this should be changed. The code reads the MR2 shadow register, keeps the values of the other slot's bits, combines this with the MR2 contents, then adds the slot-specific bits, and finally writes back the updated value.
Right now, this would result in the bits for the first rank being cleared, which is bad (test with a DIMM that uses address mirroring on the first slot, and any other DIMM in the second slot of the same channel)