From mboxrd@z Thu Jan 1 00:00:00 1970 From: Timur Tabi Date: Tue, 30 Mar 2010 09:37:28 -0500 Subject: [U-Boot] [PATCH v2] mpc86xx: set the DDR BATs after calculating true DDR size In-Reply-To: <1269959143-15581-1-git-send-email-galak@kernel.crashing.org> References: <1269959143-15581-1-git-send-email-galak@kernel.crashing.org> Message-ID: <4BB20CA8.30700@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Kumar Gala wrote: > +void setup_ddr_bat(phys_addr_t dram_size) > +{ > + unsigned long batu, bl; > + > + bl = TO_BATU_BL(min(dram_size, CONFIG_MAX_MEM_MAPPED)); > + > + if (BATU_SIZE(bl) != dram_size) { > + u64 sz = (u64)dram_size - BATU_SIZE(bl); > + print_size(sz, " left unmapped\n"); > + } We still have the problem that, on a 1.5GB system, U-Boot will think that there are 1.5GB of DDR, but the BAT will be set to 1GB. When U-Boot tries to relocate itself, it will machine check. We need a way to tell U-Boot that we only have 1GB of DDR, but still have it tell Linux that we have 1.5GB of DDR. -- Timur Tabi Linux kernel developer at Freescale