Hi Philippe

When I was trying to port latmus from evl to xenomai 3.2,  I met several issues 
that block porting
and need your suggestions.

1. When I tried to replace function evl_run_kthread_on_cpu of latmus.c driver , 
 I found that only rtdm_task_init  
    can meet our requirements mostly  but we still cannot pass cpu affinity 
through it to pin task to required
    cpu. Do we need to implement new API so that we can  pass cpu affinity to 
pin task to required cpu but
    finish all functions  of rtdm_task_init?

2. Regarding replacement of evl_get_xbuf of latmus.c,  I would first call 
     rtdm_socket (AF_RTIPC, SOCK_DGRAM, IPCPROTO_XDDP); to create socket and 
then call rtdm_bind  to bind
     it to XDDP_PORT=xfd that passed from user space  after call 
rtdm_setsockopt to do corresponding operation like
      demo/posix/cobalt/xddp-stream.c.
     Of course , I would replace evl_write_xbuf with rtdm_sendto  and 
corresponding xbuf variable type in related 
     structure.  In addition , on userspace of latmus , I would  replace 
evl_create_xbuf with open ("/dev/rtp$xfd ",..) and then
     read by returned handler to get data from socket.  Is such design OK for 
you?
     Actually , I can not find any instance about rtdm_socket but description 
in doc/asciidoc/MIGRATION.adoc, I do not know
    If such design is feasible. Please comment.


Regards

Hongzhan Chen


Reply via email to