This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
Re: LPC2xxx patch for support of vectored interrupt controller
- From: Hans Rosenfeld <rosenfeld at grumpf dot hope-2000 dot org>
- To: uwe dot kindler at cetoni dot de
- Cc: ecos-patches at sourceware dot org
- Date: Fri, 17 Aug 2007 16:02:09 +0200
- Subject: Re: LPC2xxx patch for support of vectored interrupt controller
- References: <21907044.603801184047861289.JavaMail.servlet@kundenserver>
On Tue, Jul 10, 2007 at 08:11:01AM +0200, uwe.kindler@cetoni.de wrote:
> the following patch adds support for the vectored interrupt controller
> to the LPC2xxx HAL. Now the LPC2xxx HAL supports up to 17 interrupt
> priorities. This patch improves interrupt processing times for
> vectored IRQs and the speed of the whole system because also the
> system clock interrupt processing time is improved.
I'm a bit confused about that VIC support.
There is an assertion in hal_interrupt_set_level() that makes sure that
no priority < 16 is used more than once.
The default clock interrupt priority is 0, as are the interrupt
priorities for CAN, SPI and I2C, and the driver for the RTL8019 ethernet
chip I use doesn't even support anything else (but that could be changed).
The kintr0 test creates one interrupt of priority 0 and two of priority 1.
I doubt that this will just work, and I'm a bit unsure what the right
solution would be.
One very simple solution would be to just use the next higher free
priority if the chosen priority is already used. This will be
problematic if some code relies on the correct priority.
A less simple solution would be to fix the drivers and the kintr0 test
to use configurable priorities. If it wouldn't involve kintr0 I would
just do that.
--
%SYSTEM-F-ANARCHISM, The operating system has been overthrown