Re: [Xenomai-core] [PATCH] Adeos support for 2.6.18 merged PowerPC architecture.

2006-12-01 Thread Philippe Gerum
On Fri, 2006-12-01 at 23:46 +0100, Philippe Gerum wrote:
> On Thu, 2006-11-30 at 14:19 +0100, Jan Kiszka wrote:
> 
> > Anyway, there is an unreleased work-in-progress patch for x86 over -rc6
> > by Philippe. I recently had the chance to test it and hack a bit on the
> > SMP IO-APIC part. It seems to work fine under UP, but SMP had some
> > issues that are identified, but still need to be addressed - thanks to
> > genirq, now in a widely arch-independent way.
> > 
> > Philippe, I know you are very busy, but shouldn't we make a pre-release
> > available already, also to discuss further how to deal best with genirq
> > on other platforms beyond x86?
> 
> Actually, the draft patch I sent you did not boot on my SMP box today,
> so qemu seems to have been a bit too friendly. Knowing that, issuing a
> half-baked patch would have made no sense, so I finally refrained from
> doing that. Since I'm now basically in love with the genirq layer (at
> least for x86) compared to the utter mess that we had to endure
> previously, I've decided to tackle the issue completely, and rewrite the
> I-pipe interrupt flow in order to leverage it. Will post something asap.
> 

Ok, here we are. I've just merged 2.6.19-ipipe-1.6-00. It has been
tested on a low-end classic Pentium 90Mhz, a dusty two-way Celeron
750Mhz, and on a terrible Celeron 1GHz oldish laptop. Looks ok so far,
and even passed the horrid "dohell" test on the SMP box, just smiling.
However, I don't have the required hw at hand to check if our friend the
MSI support is not killing us once more. This said, the MSI support in
2.6.19 also conforms to the genirq specs, so there's hope.

The patch is available from the Adeos download area, and I've also
committed it to the SVN trunk/.

Feedback welcome,

PS: I have the corresponding quilt-managed patches available upon
request, to the people who want to use this work as a reference for
porting to other archs.

-- 
Philippe.



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


Re: [Xenomai-help] Re: [Xenomai-core] [ANNOUNCE] Xenomai Example Repository

2006-12-01 Thread Philippe Gerum
On Fri, 2006-12-01 at 23:47 +0100, Wolfgang Grandegger wrote:
> >

[...]

>  
> > This said, I agree that adding a fake module directory to capture the
> > flags set by the main kernel Makefile is one step beyond ugliness; the
> > other approach being to only provide a 2.6 Makefile frag. As 2007
> > approaches, I think that anyone still involved with projects relying on
> > 2.4 kernels do know how to build 2.4 modules for the targeted platform.
> 
> I think the example modules should compile on any platform and the 
> "kernel CFLAGS capturing" trick is the most straight-forward way to do 
> it for 2.4. It simplifies our life, avoids fiddling with various arch 
> dependent flags in the Makefile, which will be even more ugly, and it 
> serves as an example on how to get proper flags. Therefore I tend to add 
> an appropriate script to the "scripts" subdirectory.

That would be acceptable too; the capture trick is ugly, but if we
really want to have the generic examples available to all platforms, I
see no other way to get the exact compilation and link flags. So it's
basically a matter of choice: either we don't provide any Makefile frag
for 2.4, or we implement the capture trick so that every platform can
compile them.

-- 
Philippe.



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


Re: [Xenomai-help] Re: [Xenomai-core] [ANNOUNCE] Xenomai Example Repository

2006-12-01 Thread Wolfgang Grandegger

Philippe Gerum wrote:

On Fri, 2006-12-01 at 18:22 +0100, Jan Kiszka wrote:

Wolfgang Grandegger wrote:

Jan Kiszka wrote:

Hi,

the new Xenomai example repository has been created. I don't want to
repeat here what is explained already on the related wiki page, please
have a look at

http://www.xenomai.org/index.php/Examples

Instead, let me sketch what could be done next:

 o Port existing examples, snippets, demos from ksrc/skins/* over, make
   them compilable and runnable if required.

 o Identify what kind of examples are lacking. You, the user, is needed
   here. What do *you* think is missing, what would be helpful to show?

 o Check what is needed to compile kernel-based examples over PPC 2.4.
   Philippe indicated that some switches are likely missing (x86 is fine
   already, other archs are 2.6-only).

Some time ago I sent a patch for RTnet using the "kernel CFLAGS
capturing" trick to get proper switches for 2.4:

http://sourceforge.net/mailarchive/forum.php?thread_id=9493711&forum_id=24610


We could do the same trick here.

Yeah, I had a look at this before. The point is that I would prefer to
keep things _simple_ and self-contained. This capturing requires some
helper Makefile and complex call nestings that likely only people with
advanced make and shell skills can understand and adopt to their projects.


I tend to agree on the "keep it simple" mantra, but still, there are at
least two other aspects which are quite important too:

- Nobody should expect to be able to develop a complete project only
relying on paste-and-copy of example code. Since we are specifically
talking about Makefile rules, we could not provide any set that would
match everyone's project anyway, with respect to software and hardware
requirements. Therefore, at some point, people really need to know what
they are doing, which means that they should also know how to properly
build out-of-tree modules with _their_ own 2.4 setup (well, if any
"proper" solution exists, that is). And basically, I do hope that nobody
starts implementing kernel modules without having - at least - a vague
idea, about how to compile them for its platform in the first place...

- Given that there is life beyond x86, we need to make sure that all
Xenomai ports are considered equal, at least with respect to generic
issues. Whilst it's ok to provide a x86-only 2.4 Makefile for compiling
a x86-centric example, it's not for anything which could demonstrate a
feature on any platform.

This said, I agree that adding a fake module directory to capture the
flags set by the main kernel Makefile is one step beyond ugliness; the
other approach being to only provide a 2.6 Makefile frag. As 2007
approaches, I think that anyone still involved with projects relying on
2.4 kernels do know how to build 2.4 modules for the targeted platform.


I think the example modules should compile on any platform and the 
"kernel CFLAGS capturing" trick is the most straight-forward way to do 
it for 2.4. It simplifies our life, avoids fiddling with various arch 
dependent flags in the Makefile, which will be even more ugly, and it 
serves as an example on how to get proper flags. Therefore I tend to add 
an appropriate script to the "scripts" subdirectory.



But maybe things are that complicated already, and this is just
different complexity. How do you compile simple out-of-tree modules
against 2.4 PPC kernels? Are there any standard flags? Or is it
different for each board or each compiler version or whatever?

Jan

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



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


Re: [Xenomai-core] [PATCH] Adeos support for 2.6.18 merged PowerPC architecture.

2006-12-01 Thread Philippe Gerum
On Thu, 2006-11-30 at 14:19 +0100, Jan Kiszka wrote:

> Anyway, there is an unreleased work-in-progress patch for x86 over -rc6
> by Philippe. I recently had the chance to test it and hack a bit on the
> SMP IO-APIC part. It seems to work fine under UP, but SMP had some
> issues that are identified, but still need to be addressed - thanks to
> genirq, now in a widely arch-independent way.
> 
> Philippe, I know you are very busy, but shouldn't we make a pre-release
> available already, also to discuss further how to deal best with genirq
> on other platforms beyond x86?

Actually, the draft patch I sent you did not boot on my SMP box today,
so qemu seems to have been a bit too friendly. Knowing that, issuing a
half-baked patch would have made no sense, so I finally refrained from
doing that. Since I'm now basically in love with the genirq layer (at
least for x86) compared to the utter mess that we had to endure
previously, I've decided to tackle the issue completely, and rewrite the
I-pipe interrupt flow in order to leverage it. Will post something asap.

-- 
Philippe.



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


Re: [Xenomai-core] [ANNOUNCE] Xenomai Example Repository

2006-12-01 Thread Wolfgang Grandegger

Jan Kiszka wrote:

Wolfgang Grandegger wrote:

Jan Kiszka wrote:

Hi,

the new Xenomai example repository has been created. I don't want to
repeat here what is explained already on the related wiki page, please
have a look at

http://www.xenomai.org/index.php/Examples

Instead, let me sketch what could be done next:

 o Port existing examples, snippets, demos from ksrc/skins/* over, make
   them compilable and runnable if required.

 o Identify what kind of examples are lacking. You, the user, is needed
   here. What do *you* think is missing, what would be helpful to show?

 o Check what is needed to compile kernel-based examples over PPC 2.4.
   Philippe indicated that some switches are likely missing (x86 is fine
   already, other archs are 2.6-only).

Some time ago I sent a patch for RTnet using the "kernel CFLAGS
capturing" trick to get proper switches for 2.4:

http://sourceforge.net/mailarchive/forum.php?thread_id=9493711&forum_id=24610


We could do the same trick here.


Yeah, I had a look at this before. The point is that I would prefer to
keep things _simple_ and self-contained. This capturing requires some
helper Makefile and complex call nestings that likely only people with
advanced make and shell skills can understand and adopt to their projects.

But maybe things are that complicated already, and this is just
different complexity. How do you compile simple out-of-tree modules
against 2.4 PPC kernels? Are there any standard flags? Or is it
different for each board or each compiler version or whatever?


I just cut and paste the flags from a kernel module make. For PPC, there 
are plenty of flags, not board but some are processor depended, but I'm 
unable to tell which one are really required. For this reason I like the 
module capturing trick.


Wolfgang.


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


Re: [Xenomai-core] libnative versioning

2006-12-01 Thread Philippe Gerum
On Fri, 2006-12-01 at 18:44 +0100, Gilles Chanteperdrix wrote:
> Philippe Gerum wrote:
> > 
> > The Xenomai ABI has been kept compatible between versions
> 
> I am afraid you are being optimistic: I for one made some changes in the
> posix skin that break the kernel/user interface.

Sorry, I've been unclear:

s,Xenomai ABI,Xenomai native interface ABI,

>  Maybe we need an ABI
> revision for each skin ?
> 

There is one for the nucleus already, so maybe we could extend the
feature. This said, the point ABI revs is basically to detect potential
mismatches; would an old POSIX app run improperly over the new library,
or would it choke at startup?

-- 
Philippe.



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


Re: [Xenomai-help] Re: [Xenomai-core] [ANNOUNCE] Xenomai Example Repository

2006-12-01 Thread Philippe Gerum
On Fri, 2006-12-01 at 18:22 +0100, Jan Kiszka wrote:
> Wolfgang Grandegger wrote:
> > Jan Kiszka wrote:
> >> Hi,
> >>
> >> the new Xenomai example repository has been created. I don't want to
> >> repeat here what is explained already on the related wiki page, please
> >> have a look at
> >>
> >> http://www.xenomai.org/index.php/Examples
> >>
> >> Instead, let me sketch what could be done next:
> >>
> >>  o Port existing examples, snippets, demos from ksrc/skins/* over, make
> >>them compilable and runnable if required.
> >>
> >>  o Identify what kind of examples are lacking. You, the user, is needed
> >>here. What do *you* think is missing, what would be helpful to show?
> >>
> >>  o Check what is needed to compile kernel-based examples over PPC 2.4.
> >>Philippe indicated that some switches are likely missing (x86 is fine
> >>already, other archs are 2.6-only).
> > 
> > Some time ago I sent a patch for RTnet using the "kernel CFLAGS
> > capturing" trick to get proper switches for 2.4:
> > 
> > http://sourceforge.net/mailarchive/forum.php?thread_id=9493711&forum_id=24610
> > 
> > 
> > We could do the same trick here.
> 
> Yeah, I had a look at this before. The point is that I would prefer to
> keep things _simple_ and self-contained. This capturing requires some
> helper Makefile and complex call nestings that likely only people with
> advanced make and shell skills can understand and adopt to their projects.

I tend to agree on the "keep it simple" mantra, but still, there are at
least two other aspects which are quite important too:

- Nobody should expect to be able to develop a complete project only
relying on paste-and-copy of example code. Since we are specifically
talking about Makefile rules, we could not provide any set that would
match everyone's project anyway, with respect to software and hardware
requirements. Therefore, at some point, people really need to know what
they are doing, which means that they should also know how to properly
build out-of-tree modules with _their_ own 2.4 setup (well, if any
"proper" solution exists, that is). And basically, I do hope that nobody
starts implementing kernel modules without having - at least - a vague
idea, about how to compile them for its platform in the first place...

- Given that there is life beyond x86, we need to make sure that all
Xenomai ports are considered equal, at least with respect to generic
issues. Whilst it's ok to provide a x86-only 2.4 Makefile for compiling
a x86-centric example, it's not for anything which could demonstrate a
feature on any platform.

This said, I agree that adding a fake module directory to capture the
flags set by the main kernel Makefile is one step beyond ugliness; the
other approach being to only provide a 2.6 Makefile frag. As 2007
approaches, I think that anyone still involved with projects relying on
2.4 kernels do know how to build 2.4 modules for the targeted platform.

> 
> But maybe things are that complicated already, and this is just
> different complexity. How do you compile simple out-of-tree modules
> against 2.4 PPC kernels? Are there any standard flags? Or is it
> different for each board or each compiler version or whatever?
> 
> Jan
> 
> ___
> Xenomai-help mailing list
> Xenomai-help@gna.org
> https://mail.gna.org/listinfo/xenomai-help
-- 
Philippe.



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


Re: [Xenomai-core] libnative versioning

2006-12-01 Thread Gilles Chanteperdrix
Philippe Gerum wrote:
> 
> The Xenomai ABI has been kept compatible between versions

I am afraid you are being optimistic: I for one made some changes in the
posix skin that break the kernel/user interface. Maybe we need an ABI
revision for each skin ?

-- 
 Gilles Chanteperdrix

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


Re: [Xenomai-core] [ANNOUNCE] Xenomai Example Repository

2006-12-01 Thread Jan Kiszka
Wolfgang Grandegger wrote:
> Jan Kiszka wrote:
>> Hi,
>>
>> the new Xenomai example repository has been created. I don't want to
>> repeat here what is explained already on the related wiki page, please
>> have a look at
>>
>> http://www.xenomai.org/index.php/Examples
>>
>> Instead, let me sketch what could be done next:
>>
>>  o Port existing examples, snippets, demos from ksrc/skins/* over, make
>>them compilable and runnable if required.
>>
>>  o Identify what kind of examples are lacking. You, the user, is needed
>>here. What do *you* think is missing, what would be helpful to show?
>>
>>  o Check what is needed to compile kernel-based examples over PPC 2.4.
>>Philippe indicated that some switches are likely missing (x86 is fine
>>already, other archs are 2.6-only).
> 
> Some time ago I sent a patch for RTnet using the "kernel CFLAGS
> capturing" trick to get proper switches for 2.4:
> 
> http://sourceforge.net/mailarchive/forum.php?thread_id=9493711&forum_id=24610
> 
> 
> We could do the same trick here.

Yeah, I had a look at this before. The point is that I would prefer to
keep things _simple_ and self-contained. This capturing requires some
helper Makefile and complex call nestings that likely only people with
advanced make and shell skills can understand and adopt to their projects.

But maybe things are that complicated already, and this is just
different complexity. How do you compile simple out-of-tree modules
against 2.4 PPC kernels? Are there any standard flags? Or is it
different for each board or each compiler version or whatever?

Jan



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] libnative versioning

2006-12-01 Thread Philippe Gerum
On Fri, 2006-12-01 at 16:39 +0100, Jan Kiszka wrote:
> Hi,
> 
> we just had some fun here with incompatible native libraries. A program
> was built against some 2.2 release and was then started on a target with
> 2.3 libs installed. The result: undefined symbol rt_mutex_lock. The
> reason: this function was renamed to rt_mutex_acquire in trunk to
> resolve a naming conflict in recent kernels.
> 
> So we now have incompatible libraries and should either increment some
> version number of libnative or export the necessary aliases for
> lock/unlock. What is preferred?

The Xenomai ABI has been kept compatible between versions, so we want to
provide the proper aliases for user-space; the conflict is kernel-space
only, and there is no reason to ask user-space apps to conform to some
obscure change that took place within the vanilla kernel API. Actually,
I already wrappers in include/native/mutex.h, but unfortunately as
macros, so dynamic binding could not work. I'm fixing this. Thanks.

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



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


Re: [Xenomai-core] [ANNOUNCE] Xenomai Example Repository

2006-12-01 Thread Wolfgang Grandegger

Jan Kiszka wrote:

Hi,

the new Xenomai example repository has been created. I don't want to
repeat here what is explained already on the related wiki page, please
have a look at

http://www.xenomai.org/index.php/Examples

Instead, let me sketch what could be done next:

 o Port existing examples, snippets, demos from ksrc/skins/* over, make
   them compilable and runnable if required.

 o Identify what kind of examples are lacking. You, the user, is needed
   here. What do *you* think is missing, what would be helpful to show?

 o Check what is needed to compile kernel-based examples over PPC 2.4.
   Philippe indicated that some switches are likely missing (x86 is fine
   already, other archs are 2.6-only).


Some time ago I sent a patch for RTnet using the "kernel CFLAGS 
capturing" trick to get proper switches for 2.4:


http://sourceforge.net/mailarchive/forum.php?thread_id=9493711&forum_id=24610

We could do the same trick here.



 o Regarding RTDM: driver patterns would be nice. Someone (who I don't
   recall ATM, sorry) once posted a template for a PCI driver. Feel
   invited to repost an updated version. Any further suggestion or ready
   code is welcome as well.

Jan


Wolfgang.

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


[Xenomai-core] libnative versioning

2006-12-01 Thread Jan Kiszka
Hi,

we just had some fun here with incompatible native libraries. A program
was built against some 2.2 release and was then started on a target with
2.3 libs installed. The result: undefined symbol rt_mutex_lock. The
reason: this function was renamed to rt_mutex_acquire in trunk to
resolve a naming conflict in recent kernels.

So we now have incompatible libraries and should either increment some
version number of libnative or export the necessary aliases for
lock/unlock. What is preferred?

Jan



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] [PATCH] Adeos support for 2.6.18 merged PowerPC architecture.

2006-12-01 Thread Jan Kiszka
Paul wrote:
> On Thursday 30 November 2006 13:19, Jan Kiszka wrote:
>> Philippe, I know you are very busy, but shouldn't we make a pre-release
>> available already, also to discuss further how to deal best with genirq
>> on other platforms beyond x86?
> 
> I have an x86_64 box waiting for a Xenomai port - I don't see much point in 
> hacking 2.6.17 and earlier when 2.6.19 is going to be a major change in key 
> areas.. It also looks like there is a closer integration of x86_64 and plain 
> old ix86 code in the 2.6.19 tree, so this may simplify the task of 
> maintaining a 64bit patch.

For sure, there is not much point in starting on old code (the "stable"
2.6.16 series /may/ turn out to be an exception one day).

An x86_64 port will be highly welcome! Feel invited to post I-pipe
related topics also to [EMAIL PROTECTED]

One hint that may ease testing/debugging: Have a look at qemu for
x86_64. At least on x86, it already helped me a lot to debug weird
kernel issues without long run-instrument-build-rerun cycles. All it
takes is a minimal system image for a target. You can easily attach a
debugger to the kernel, and you can even emulate SMP (though debugging
is not perfect in that case). Of course, you cannot identify latency
issues this way, but you will likely already be happy when things don't
crash anymore. :)

Jan



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


[Xenomai-core] [ANNOUNCE] Xenomai Example Repository

2006-12-01 Thread Jan Kiszka
Hi,

the new Xenomai example repository has been created. I don't want to
repeat here what is explained already on the related wiki page, please
have a look at

http://www.xenomai.org/index.php/Examples

Instead, let me sketch what could be done next:

 o Port existing examples, snippets, demos from ksrc/skins/* over, make
   them compilable and runnable if required.

 o Identify what kind of examples are lacking. You, the user, is needed
   here. What do *you* think is missing, what would be helpful to show?

 o Check what is needed to compile kernel-based examples over PPC 2.4.
   Philippe indicated that some switches are likely missing (x86 is fine
   already, other archs are 2.6-only).

 o Regarding RTDM: driver patterns would be nice. Someone (who I don't
   recall ATM, sorry) once posted a template for a PCI driver. Feel
   invited to repost an updated version. Any further suggestion or ready
   code is welcome as well.

Jan



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core