Ben Combee wrote:
>>  Hi, I got the crash reason :
>>      ioctl( fd, EVIOCGBIT(0, EV_MAX), evbit )  ==>  the second arg for
>> EVIOCGBIT macro is bad here,which should be "sizeof(evbit)". This might
>> cause  memory overflow (the returned "31" bytes copied into actual 4 
>> bytes
>> array).  But I  am confused  why the issue is not detected on i386.  
>> Anyway,
>
> This looks like a good catch.  I guess the i386 driver isn't writing
> beyond the end of the bits or the order of memory use on the stack is
> different enough to avoid this being a problem.
>
   Actually, the stack on PS3Linux  is growing  downward as on i386.  
The 32-bit mode program  uses SYS V ABI  for PowerPC,while  64-bit mode  
program uses  IBM OpenAIX ABI. Maybe the PS3Linux driver doesn't have a 
write protection mechanism.
   Hereby now, even no crash occurred and sample DFB application could 
run. But  I just saw from the Sony PS3Linux development document that 
the frame buffer on PS3 platform has been implemented as virtual frame 
buffer allocated on main memory. see:
   
http://www.louiscandell.com/ps3/doc/ApplicationProgrammingEnvironment.html
   So does this mean that I still need do some port work specific to PS3 
Vitual FB following  the provided programming procedures?  Any suggest? 

Cheers
Sakur

_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to