Hi Oak,
I don't suppose that any of those calls are returning errors?
DMA is optional for the SDHC. It has been a while since I looked at the
code, but I believe that passing 0 as the paddr will prevent the driver
from using DMA. Of course, this is not a solution to your problem, but
it could
So I use the following code to create a new buffer for vaddr and paddr :
void *vaddr = vspace_new_pages(, seL4_AllRights, 1, seL4PageBits);
seL4_CPtr frame_cap = vsapce_get_cap(, vaddr);
seL4_ARM_Page_GetAddress_t gaddr = seL4_ARCH_Page_GetAddress(frame_cap);
uintptr_t paddr = (uintptr_t)
Ah I see. That might be a problem. I thought that function will
automatically build a mapping so I can use any vaddr,
Thanks Alex!
On Thu, Oct 13, 2016 at 8:38 PM, wrote:
> Hi Oak,
>
> Your code looks fine, but where do these numbers come from?
>
> void* vaddr =
Hi Oak,
Your code looks fine, but where do these numbers come from?
void* vaddr = (void*) 0x198;
uintptr_t paddr = (uintptr_t) 0x119a7000;
vaddr should be the virtual address of a buffer to which the block
should be read, and paddr should be the physical address of this buffer.
- Alex