This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: GNAT/RTEMS Update
> If you are willing to take responsibility for my best faith attempt
> at the VxWorks code, then I will take a shot at it.
I will certainly review your proposed patch. If the changes are mechanical
(e.g. change a few names), it should be a no brainer to review.
> >+ Max_Priority : constant Positive := 11;
> >+ Max_Interrupt_Priority : constant Positive := 1;
> >+
> >+ subtype Any_Priority is Integer range 0 .. 255;
> >+ subtype Priority is Any_Priority range 11 .. 245;
> >+ subtype Interrupt_Priority is Any_Priority range 1 .. 10;
> >
> >
> I copied those from the VxWorks system.ads but confused RTEMS
> native priorities with POSIX threads when adjusting them to account
> for priorities 0 and 255 being reserved. Is this OK?
As I said, the values above do not follow Ada semantics, and have not
much to do with VxWorks values any more. I'd suggest looking at the Ada
RM to see what's wrong with them, but in short, the highest priorities
are the highest numbers in Ada, and interrupt priorities are the highest
priorities. (so cannot e.g. be in range 1..10).
> Which ones are irrelevant to RTEMS? Before this patch added the
> RTEMS specific system.ads in this patch, we used the default one
> and it defined all of these symbols. All I did was copy the default
> one and make minimal changes. I am happy to delete them but
> don't know what to remove and why.
system.ads is used to bootstrap the compiler, so this is not the best starting
point. You'll find documentation of all these values in targparm.ads
and an example of what I mean by remove non relevant values in any other
system-*.ads file.
The obvious ones are those marked as "obsolete" at the end, plus AAMP, and
OpenVMS.
Arno