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