Review Board 2.0.15


mem: Fix address interleaving bug in DRAM controller

Review Request #2325 - Created Aug. 13, 2014 and submitted

Information
Andreas Hansson
gem5
default
Reviewers
Default
Changeset 10286:08c7971d5f0a
---------------------------
mem: Fix address interleaving bug in DRAM controller

This patch fixes a bug in the DRAM controller address decoding. In
cases where the DRAM burst size was smaller than the interleaving
stripe size (e.g. LPDDR3 x32 with a 64 byte cache line) one address
bit effectively got used as a channel bit when it should have been a
low-order column bit.

This patch adds a notion of "columns per stripe", and more clearly
deals with the low-order column bits and high-order column bits. The
patch also relaxes the granularity check such that it is possible to
use interleaving granularities other than the cache line size.

The patch also adds a missing M5_CLASS_VAR_USED to the tCK member as
it is only used in the debug build for now.

   
Review request changed
Updated (Aug. 26, 2014, 7:07 a.m.)

Status: Closed (submitted)