[okl4-developer] vLCD Server: virtual_lcd_set_fb_impl

Lukas HANEL lukas.hanel at st.com
Tue Jul 15 19:08:47 EST 2008


Hi

> On Thu, Jul 10, 2008 at 02:42:26PM +0200, Lukas HANEL wrote:
> 
>> in my quest to port an LCD driver to OKL4 I have now passed the
>> initialization of my driver code. I am now at the point, where the vlcd
>> client provides the physical memory region to the fb. 
> 
> How did you obtain the new_vaddr address?  Is it an address previously
> created using the memsection APIs?  If so which one?
> 
I used the code from the driver tutorial.
     fb->ms =
       memsection_create_dma
       (
         fb->size,
         &fb->vbase,
         &fb->pm,
         L4_WriteThroughMemory
       );

> The code for vLCD server should compile, as it is in the standard
> distribution for the GTA01 board.  There may be minor things that
> need updating, however.

Yes.
In vlcd server you need something like:

virtual_lcd_set_fb_impl
{
...
     objref_t memsection = memsection_lookup((objref_t)new_vaddr, NULL);
+    cap_t cap;
+
+    cap.ref.obj = memsection;
+    cap.passwd = 0;
+    errno = clist_insert(default_clist, cap);

     new_paddr = memsection_virt_to_phys(new_vaddr, &new_size);
...
}

greetings,
Lukas Hänel



More information about the Developer mailing list