[okl4-developer] Starting with graphic output

Remy Gottschalk rgottschalk at linagora.com
Tue May 6 01:43:51 EST 2008


Hi Geoffrey

On Thu, 2008-05-01 at 18:11 +1000, Geoffrey Lee wrote:
> On Tue, Apr 29, 2008 at 04:05:54PM +0000, Remy Gottschalk wrote:
> > Hi Nelson,
> > 
> > To come back to the initial problem, any news concerning the invalid
> > memory dereference at 0x18 ?
> 
> Hi Remy
> 
> This occurs during a deference of the ms pointer in eas_map() in 
> iguana/server/src/eas.c
> 
>     ms = objtable_lookup((void *)base);
>  
>     /*
>      * XXX: we need to check the attribs and rights
>      */
>     attrib &= ms->attributes;
> 
> it should return failure (-1) if the object does not exist.  Fixing this
> alone does not help you entirely because when you mmap() it calls eas_map(), 
> the physical memory location has to be first made known to Iguana.
> These regions must be made known in the machines.py file with
> appropriate setup support by the build system.  If you just want to fix
> this quickly you can add the appropriate range check for your
> framebuffer there.
> 

So if I understand well I got two solutions :

The quick'n dirty is to force the mapping by hard checking values in
eas_map().
And the proper one is to add the right memory region in the
configuration files.

For the quick one I must admit that I am a little lost and need a little
more help about how to do.

Concerning the proper, is it something similar to what is done for the
vga memory ? ie adding something like :
memory['fb'] = [Region(0xF0000000L, 0xF0400000L, "dedicated")]
to the class ia32_pc99_fb in platform/pc99/tools/machines.py
and/or a linux_fb flag with the right stuff
in ./projects/iguana/SConstruct to add a memsection to Linux.

Regards,

-- 
Remy Gottschalk - rgottschalk at linagora.com
Ingénieur informatique embarquée
Groupe LINAGORA - http://www.linagora.com
Tél.: +33(0)1 58 18 68 28 - Fax : +33(0)1 58 18 68 29




More information about the Developer mailing list