
On Mon, Apr 18, 2016 at 01:06:37PM +0200, Alexander Graf wrote:
Hmm, this is going to get very interesting with efi_loader support. By default we allocate memory at the highest possible free address, so payloads will probably (unless they specify limits) have their buffers above 32bit on this platform. If we now deny any DMA to them, we basically break I/O access.
I'm not familiar with efi_loader, but on this platform the physical RAM is within the 32bit memory range, so I don't think a workaround is needed. And I guess probably it's the same for the other 64bit ARM SoC using this driver.
BTW, I see that another driver (sunxi_mmc) also truncates the upper 32 bits of addresses on 64bit platforms. Maybe this issue should be addresses in a generic way?
Could you by any chance just use a bounce buffer?
Do you have any suggestions on how to do it? Are there any primitives in u-boot to request memory from low addresses?
Beniamino