[Xenomai-core] RTnet over Xenomai

2005-10-10 Thread Jan Kiszka
Hi,

after some interruptions it's done now: RTnet compiles at least against
Xenomai SVN, I have not checked yet if it runs as well. Who would like
to give it a try may check-out RTnet's SVN repository.

Note that due to the required renaming, support of old fusion 0.9 and
0.9.1 was dropped. Earlier fusion versions were not supported anyway, as
they lack up-to-date RTDM support. And we are still looking forward to
the RTAI community completing RTDM support as well - the infrastructure
of RTnet is ready...

Have fun,
Jan


signature.asc
Description: OpenPGP digital signature


[Xenomai-core] Welcome home

2005-10-10 Thread Philippe Gerum


Hi,


Welcome home. Before I'm giving you an update of the things undergoing, and 
since JimC jumped the gun on this list, I'd like to thank all the people who 
wished me an happy retir^H^H^H^H^Hbirthday recently. With such a huge number of 
candles on my birthday cake, I'm pretty sure that each and every space tourist 
wandering in the ISS henceforth knows where I'm living, just by looking down to 
the Earth through the porthole!


Anyway, here is a short update:

- The former fusion code base has been reworked in order to switch back to the 
Xenomai naming scheme, and the result is now available as a SVN tree on GNA [1]. 
Additional features and fixes have been added very recently to this tree, like a 
NMI watchdog for chasing unexpected latencies using a brute force approach on 
x86, or udev support for the pseudo-devices (message pipes and heap). Glitches 
may still exist here and there, but AFAICT reading this list, things get fixed 
gradually.


- A new Xenomai.org website is in preparation. Bruno handles this, and we should 
be able to switch to it in a week or so. For the time being, we are aiming at 
simple and most informative contents given the short time frame and the time 
Bruno can devote to this task. If you have specific wishes regarding this site 
for the future, please post them to this list. For the time being Xenomai.org 
simply points at the project's workspace on GNA.


- Two mailing lists have been created: xenomai-core and xenomai-help. In short, 
the first one is the place where all aspects of the Xenomai project's life 
should be debated (including patches and bug reports). The second one handles 
discussions about configuration, compilation or installation of Xenomai, as well 
as common usage of its features and interfaces. My hope is that at some point in 
time, the latter becomes a coherent and searchable repository that reflects the 
collective experience of Xenomai users.


- The plan is to release Xenomai 2.0 on October 22 at the latest, which leaves 
us a few days to finish testing the new codebase. Since the changes required by 
the transition are only syntactical ones, and do not impact the documented 
APIs, things should stabilize reasonably fast. Until then, we clearly are in 
feature freeze from now on. Only obvious bug fixes will be merged.


Aside of this, I'd like that we start a discussion on this list about the 
matters of importance asap. There are a lot, some of them are organisational, 
others are purely technical. My TODO list would not even fit on my hard-drive, 
and since I'm not alone to have an opinion about what we should do next, how and 
when, it's likely that the official list would be even ten times longer than mine.


I propose that we start discussing along the following lines, going into deeper 
detail as needed, but in any case, please remember that we don't have infinite 
resources to do everything at once, and that we need to keep an organisation 
that fits our abilities to manage it, so let's keep it modest and efficient. If 
I missed some important issues, please jump in. After that initial work, we 
should be able to define a sensible roadmap.


- Regular automated benchmarking: What is Xenomai currently capable of, how 
stable is it, do we progress or regress over time and releases, arch by arch?


- Documentation effort, dissemination: I'm a potential new user, do I have some 
unambiguous source of information available to get my feet wet with Xenomai?


- Architecture ports: There is life beyond x86.

- Kernel ports: Is there still room for a 2.4 port?

- Configuration, building and packaging issues: Could we make this easier?

- Linux integration issues: Tools we should interface with, features we should 
make more seamless.


- Scalability: Is Xenomai scalable enough? What's missing?

- Drivers: Now that we have a deeply integrated port of RTDM, what's next? Field 
busses and other industrial gizmos anyone?


- Current interfaces: Are we happy with them?

- New skins: Any new colors for the chameleon?

[1] https://gna.org/svn/?group=xenomai

--

Philippe.



[Xenomai-core] fusion just disappeared

2005-10-10 Thread Dmitry Adamushko
Hi,

I have got a message from a collegue of mine who asked what has
happened with Fusion, all the information disappered from the
rtai.org. I'm not sure whether he's reading the rtai mailing list and
anyway, Philippe, the subject of the message was not that informative,
probably should have been something like Fusion is out of rtai :)
I don't know whether it could be a good idea to ask Paolo and DIAPM,
but again, IMHO it could be better if they would be agreed on keeping
some redirecting information about ex-fusion for some time or, at
least, some a proper mentioning in the news area. What's your opinion?

Anyway, when the site is completed, I guess it will be a right moment
to announce the project all over the map, starting from the lkml, etc.

--
Best regards,
Dmitry Adamushko



[Xenomai-core] Re: fusion just disappeared

2005-10-10 Thread Philippe Gerum

Dmitry Adamushko wrote:

Hi,

I have got a message from a collegue of mine who asked what has
happened with Fusion, all the information disappered from the
rtai.org. I'm not sure whether he's reading the rtai mailing list and
anyway, Philippe, the subject of the message was not that informative,
probably should have been something like Fusion is out of rtai :)
I don't know whether it could be a good idea to ask Paolo and DIAPM,
but again, IMHO it could be better if they would be agreed on keeping
some redirecting information about ex-fusion for some time or, at
least, some a proper mentioning in the news area. What's your opinion?



Well, this is true, but we can't have it all. AFAIK, the DIAPM people are going 
to revamp rtai.org asap, so it's unlikely that they'd wish to keep such link in 
place once the refactoring has taken place. This said, I'm going to try leaving 
an ultimate news on the old/current site pointing fusion users at Xenomai, which 
should survive until the web site is fully reorganized by the DIAPM. I will also 
post an information note to the RTAI list today with the same information.



Anyway, when the site is completed, I guess it will be a right moment
to announce the project all over the map, starting from the lkml, etc.



Yes, it's the plan, we should be doing this asap.

--

Philippe.



Re: [Xenomai-core] [16550-patch] detect required context of RTSER_RTIOC_WAIT_EVENT

2005-10-10 Thread Philippe Gerum

Jan Kiszka wrote:

Hi,

again thanks to a smart student reviewing my ugly code, here is another
minor fix for the serial driver.



Applied, thanks.


Jan





Index: drivers/16550A/16550A.c
===
--- drivers/16550A/16550A.c (revision 14)
+++ drivers/16550A/16550A.c (working copy)
@@ -516,8 +516,8 @@
 }
 
 
-int rt_16550_ioctl_rt(struct rtdm_dev_context *context,

-  rtdm_user_info_t *user_info, int request, void *arg)
+int rt_16550_ioctl(struct rtdm_dev_context *context,
+   rtdm_user_info_t *user_info, int request, void *arg)
 {
 struct rt_16550_context *ctx;
 int ret = 0;
@@ -639,6 +639,9 @@
 rtdm_lockctx_t  lock_ctx;
 rtdm_toseq_ttimeout_seq;
 
+if (!rtdm_in_rt_context())

+return -EPERM;
+
 /* only one waiter allowed, stop any further attempts here */
 if (test_and_set_bit(0, ctx-ioc_event_lock))
 return -EBUSY;
@@ -980,8 +983,8 @@
 close_rt:   rt_16550_close,
 close_nrt:  rt_16550_close,
 
-ioctl_rt:   rt_16550_ioctl_rt,

-ioctl_nrt:  rt_16550_ioctl_rt,
+ioctl_rt:   rt_16550_ioctl,
+ioctl_nrt:  rt_16550_ioctl,
 
 read_rt:rt_16550_read,

 read_nrt:   NULL,
@@ -999,7 +1002,7 @@
 device_class:   RTDM_CLASS_SERIAL,
 device_sub_class:   RTDM_SUBCLASS_16550A,
 driver_name:rt_16550A,
-driver_version: RTDM_DRIVER_VER(1, 1, 0),
+driver_version: RTDM_DRIVER_VER(1, 1, 1),
 peripheral_name:UART 16550A,
 provider_name:  Jan Kiszka,
 };




___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core



--

Philippe.



[Xenomai-core] Re: [syscall.c] rt_bind_queue/heap()

2005-10-10 Thread Philippe Gerum

Dmitry Adamushko wrote:

Philippe Gerum [EMAIL PROTECTED] wrote on 10.10.2005 13:09:13:

  Dmitry Adamushko wrote:
   Philippe Gerum [EMAIL PROTECTED] wrote on 05.10.2005 14:13:07:
  

 Your patch is ok, my implementation was uselessly convoluted.
  
   Ok, then it's enclosed.
  
   2005-10-05  Dmitry Adamushko  [EMAIL PROTECTED]
 
  Applied, thanks.
  ...

btw,

It looks like something wrong with the xenomai mailing list. I have got 
your answer but only one copy (you specified my own e-mail) and I 
haven't got my own message on the list (but I've cc'ed xenomai-core).




Your mail to the list was blocked since you used an unregistered address to send 
it (datacon.at).


One more thing. I had a discussion with Steven Seeger regarding the use 
of NULL-named objects from the user space. I cc'ed you but probably you 
were too buzy at that time. The problem is that one may create 
successfully a NULL-named object but then there is no way to use it 
since all further calls give an error (some funny stuff there indeed :)


So a simple fix would look like:

for all rt_OBJECT_create() calls in libnative:

int rt_mutex_create(RT_MUTEX *mutex, const char *name)
{

+ if (!name)
+ return -E_SOMETHING; // E_INVAL?

return XENOMAI_SKINCALL2(__xeno_muxid,
__xeno_mutex_create,
mutex,
name);
}

What do you think? Or are there any reasons to keep it as is now?



The reason is to allow anonymous objects to be created, so that the descriptor 
could only be shared by tasks belonging to the same address space if they happen 
to all have access to the descriptor's memory. Kind of semi-private object if 
you want. The fact that such an object is non-bindable should not make it 
unusable actually.




p.s. I have cc'ed xenomai-core@gna.org for both reasons to test the 
mailing list and, well, maybe someone else has an opinion on the matter.



  --
 
  Philippe.

---
Best regards,
Dmitry




--

Philippe.



[Xenomai-core] Re: [syscall.c] rt_bind_queue/heap()

2005-10-10 Thread Dmitry Adamushko

Philippe Gerum [EMAIL PROTECTED] wrote on 10.10.2005 13:09:13:

 Dmitry Adamushko wrote:
  Philippe Gerum [EMAIL PROTECTED] wrote on 05.10.2005 14:13:07:
  
  
   Your patch is ok, my implementation was uselessly convoluted.
  
  Ok, then it's enclosed.
  
  2005-10-05 Dmitry Adamushko [EMAIL PROTECTED]
 
 Applied, thanks.
 ...

btw,

It looks like something wrong with the xenomai mailing list. I have got your answer but only one copy (you specified my own e-mail) and I haven't got my own message on the list (but I've cc'ed xenomai-core).

One more thing. I had a discussion with Steven Seeger regarding the use of NULL-named objects from the user space. I cc'ed you but probably you were too buzy at that time. The problem is that one may create successfully a NULL-named object but then there is no way to use it since all further calls give an error (some funny stuff there indeed :)

So a simple fix would look like:

for all rt_OBJECT_create() calls in libnative:

int rt_mutex_create(RT_MUTEX *mutex, const char *name)
{

+	if (!name)
+		return -E_SOMETHING; // E_INVAL?

	return XENOMAI_SKINCALL2(__xeno_muxid,
	 __xeno_mutex_create,
	 mutex,
	 name);
}

What do you think? Or are there any reasons to keep it as is now?


p.s. I have cc'ed xenomai-core@gna.org for both reasons to test the mailing list and, well, maybe someone else has an opinion on the matter.


 -- 
 
 Philippe.

---
Best regards,
Dmitry


[Xenomai-core] Re: [syscall.c] rt_bind_queue/heap()

2005-10-10 Thread Philippe Gerum

Dmitry Adamushko wrote:

snip



So it must be fixed. There must be an explicit prohibition on creating
NULL-named objects from the user-mode.



...Or, we might auto-generate some dummy name in native/syscalls.c we would pass 
to the registry when this situation arises, so that anonymous creation and use 
from user-space would still be possible.


--

Philippe.



[Xenomai-core] Re: [syscall.c] rt_bind_queue/heap()

2005-10-10 Thread Dmitry Adamushko
 As you noticed below, the point is that this feature should be active for
 kernel-based code only; for user-space, we're toast: typical chicken-and-egg
 problem since we need the registry to cross the space boundaries but the
 registry requires a name to index the object first. So yes, we need to check 
 for
 anonymous calls in every service taking a symbolic name in native/syscalls.c,
 and return -EINVAL when applicable.

I thought that libnative would be a better place since this way we
would avoid the user mode - kernel mode switch.

 ...Or, we might auto-generate some dummy name in native/syscalls.c we would 
 pass
 to the registry when this situation arises, so that anonymous creation and use
 from user-space would still be possible.

Yep, in this case a name would be a string == object's address, thus
it's unique.

Ok, I'd probably vote for the 2-nd approach.


 --

 Philippe.

---
Best regards,
Dmitry



[Xenomai-core] Re: [syscall.c] rt_bind_queue/heap()

2005-10-10 Thread Philippe Gerum

Dmitry Adamushko wrote:

As you noticed below, the point is that this feature should be active for
kernel-based code only; for user-space, we're toast: typical chicken-and-egg
problem since we need the registry to cross the space boundaries but the
registry requires a name to index the object first. So yes, we need to check for
anonymous calls in every service taking a symbolic name in native/syscalls.c,
and return -EINVAL when applicable.



I thought that libnative would be a better place since this way we
would avoid the user mode - kernel mode switch.



...Or, we might auto-generate some dummy name in native/syscalls.c we would pass
to the registry when this situation arises, so that anonymous creation and use
from user-space would still be possible.



Yep, in this case a name would be a string == object's address, thus
it's unique.

Ok, I'd probably vote for the 2-nd approach.



Definitely better since this keeps the semantics consistent across execution 
spaces.

--

Philippe.



[Xenomai-core] Re: [syscall.c] rt_bind_queue/heap()

2005-10-10 Thread Dmitry Adamushko
On 10/10/05, Philippe Gerum [EMAIL PROTECTED] wrote:
 Dmitry Adamushko wrote:
 As you noticed below, the point is that this feature should be active for
 kernel-based code only; for user-space, we're toast: typical chicken-and-egg
 problem since we need the registry to cross the space boundaries but the
 registry requires a name to index the object first. So yes, we need to 
 check for
 anonymous calls in every service taking a symbolic name in 
 native/syscalls.c,
 and return -EINVAL when applicable.
 
 
  I thought that libnative would be a better place since this way we
  would avoid the user mode - kernel mode switch.
 
 
 ...Or, we might auto-generate some dummy name in native/syscalls.c we would 
 pass
 to the registry when this situation arises, so that anonymous creation and 
 use
 from user-space would still be possible.
 
 
  Yep, in this case a name would be a string == object's address, thus
  it's unique.
 
  Ok, I'd probably vote for the 2-nd approach.
 

 Definitely better since this keeps the semantics consistent across execution 
 spaces.


Ok, will be done.


 --

 Philippe.


--
Best regards,
Dmitry Adamushko



[Xenomai-core] Linux powerpc merger

2005-10-10 Thread Heikki Lindholm

Hello,

As people following powerpc kernel mailing lists probably know, the 
Linux ppc and ppc64 architectures are merging into a single 
powerpc arch. I think the same should be done to fusion. It would seem 
quite easy and there's already lots of redundant code there, but 
possible problems arise from being able to work with both the old 
unmerged kernels and the future merged arch kernels. Is there any ideas 
regarding or work being done on this front?


-- Heikki Lindholm