Re: [seL4] SDHC driver in Sabre Lite

2016-10-18 Thread Alexander.Kroh
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

Re: [seL4] SDHC driver in Sabre Lite

2016-10-18 Thread Norrathep Rattanavipanon
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)

Re: [seL4] SDHC driver in Sabre Lite

2016-10-14 Thread Norrathep Rattanavipanon
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 =

Re: [seL4] SDHC driver in Sabre Lite

2016-10-13 Thread Alexander.Kroh
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