[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Old style exception processing?
- Date: Thu, 3 Apr 2008 22:24:58 -0300
- From: akabadie at gmail.com (André Keller Abadie)
- Subject: Old style exception processing?
Hm I see!
Thanks for you time
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