From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Wed, 26 Jun 2013 16:25:08 -0400 Subject: [U-Boot] Fix block device accesses beyond 2TiB In-Reply-To: <1371208045-4428-1-git-send-email-t-uboot@infra-silbe.de> References: <1371208045-4428-1-git-send-email-t-uboot@infra-silbe.de> Message-ID: <20130626202508.GR28078@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Fri, Jun 14, 2013 at 01:07:25PM +0200, Sascha Silbe wrote: > With CONFIG_SYS_64BIT_LBA, lbaint_t gets defined as a 64-bit type, > which is required to represent block numbers for storage devices that > exceed 2TiB (the block size usually is 512B), e.g. recent hard drives. > > For some obscure reason, the current U-Boot code uses lbaint_t for the > number of blocks to read (a rather optimistic estimation of how RAM > sizes will evolve), but not for the starting address. Trying to access > blocks beyond the 2TiB boundary will simply wrap around and read a > block within the 0..2TiB range. > > We now use lbaint_t for block start addresses, too. This required > changes to all block drivers as the signature of block_read(), > block_write() and block_erase() in block_dev_desc_t changed. > > Signed-off-by: Sascha Silbe Applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: