Old style exception processing?

André Keller Abadie akabadie at gmail.com
Fri Apr 4 01:24:58 UTC 2008


Hm I see!

Thanks for you time

André


On 3/31/08, Joel Sherrill <joel.sherrill at oarcorp.com> wrote:
> André Keller Abadie wrote:
>
> > Hi guys
> >
> > I'm working with the smc91111 NIC driver and I found this message:
> >
> > /*
> >  *  This driver currently only supports architectures with the old style
> >  *  exception processing.  The following checks try to keep this
> >  *  from being compiled on systems which can't support this driver.
> >  *
> >  *  NOTE: As of 28 September 2005, this has only been tested on the SPARC,
> >  *        so that is all it is enabled for.
> >  */
> >
> > What does 'old style exception processing' mean? What are the
> > differences to the new one?
> >
> >
>  Boy I wish the terms old and new exception processing
>  had never entered the RTEMS vocabulary.  <sigh>
>
>  Depending upon the CPU architecture, RTEMS supports
>  two style of interrupt registration and vectoring.
>
>  Simple vectored is what is called old exception processing.
>  It is used on CPU architectures that have plenty of vectors
>  supported by the CPU itself and do not usually have a
>  programmable interrupt controller.  Think m68k.
>
>  PIC vectored is "new exception processing."  It is found
>  on CPU architectures where the CPU itself often has
>  very few interrupt vectors and the hardware usually
>  includes a PIC which is BSP dependent.  The vectoring
>  is done more in software in a BSP dependent order.
>  Think PowerPC or x86 as implemented in the PC.
>
>  RTEMS started life on simple vectored CPUs and this
>  was the model originally ported to the PowerPC and x86.
>  Since these ports were rewritten years ago to be PIC
>  vectored, the association with the words old and new.
>  We are a conservative project and kept both models
>  in place on the PowerPC until early this year when we
>  removed the last BSP which had not been converted.
>  The tree actually said old and new because we had
>  no better names at the time.
>
>  Stinks and stinks and stinks but that's what happened.
>
>  The APIs are different.  The simple vectored uses
>  rtems_interrupt_catch and the BSP defines set_vector.
>  The PIC vectored has a number of more routines
>  which are technically implemented by the bsp.  These
>  have names like rtems_irq_XXX
>
>  It is possible to write a facade that makes the
>  PIC vectored model look like the simple vectored
>  if you ignore the more powerful capabilities but
>  no one has ever done this in the tree.
>
>  Usually drivers like this just end up with ifdef's
>  where it matters based upon architecture.
>
>  In the case of a libchip NIC adapter, it probably
>  should just rely on the BSP to install the ISR handler
>  and work hard to ignore the issue. :-D
>
> > Thanks in advance,
> >
> > André--
> > _______________________________________________
> > rtems-users mailing list
> > rtems-users at rtems.com
> > http://rtems.rtems.org/mailman/listinfo/rtems-users
> >
> >
>
>
>  --
>  Joel Sherrill, Ph.D.             Director of Research & Development
>  joel.sherrill at OARcorp.com        On-Line Applications Research
>  Ask me about RTEMS: a free RTOS  Huntsville AL 35805
>   Support Available             (256) 722-9985
>
>
>



More information about the users mailing list