Hello Sascha, > 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 <t-ub...@infra-silbe.de> > --- > Functionality tested on CuBox Pro with a Western Digital WD30EFRX hard > disk (3TB). Build tested for all arm boards and sandbox. > > Testing on other boards and architectures would be appreciated. > > Fixes for typos, style errors etc. are explicitly out of scope for > this patch, even those checkpatch complains about because they appear > on or near lines touched by the patch. They are unrelated to the issue > at hand and can be fixed up later. Mixing in unrelated changes would > just make harder to revert any problematic change.
Quick review looks OK. Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot