This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: LPC2xxx patch for support of vectored interrupt controller
- From: Andrew Lunn <andrew at lunn dot ch>
- To: Hans Rosenfeld <rosenfeld at grumpf dot hope-2000 dot org>
- Cc: Andrew Lunn <andrew at lunn dot ch>, ecos-discuss at ecos dot sourceware dot org
- Date: Wed, 22 Aug 2007 12:06:26 +0200
- Subject: [ECOS] Re: LPC2xxx patch for support of vectored interrupt controller
- References: <21907044.603801184047861289.JavaMail.servlet@kundenserver> <20070817140209.GA26081@grumpf.hope-2000.org> <20070817171322.GB26081@grumpf.hope-2000.org> <20070820151336.GA1125@grumpf.hope-2000.org> <20070822082451.GF31057@lunn.ch> <20070822084026.GA2126@grumpf.hope-2000.org> <20070822091803.GH31057@lunn.ch> <20070822095228.GD2126@grumpf.hope-2000.org>
On Wed, Aug 22, 2007 at 11:52:28AM +0200, Hans Rosenfeld wrote:
> On Wed, Aug 22, 2007 at 11:18:03AM +0200, Andrew Lunn wrote:
> > I think much better way to do this is:
> >
> > cdl_option CYGNUM_KERNEL_INTR_TEST_PRIO_A {
> > display "interrupt priority used by intr0/kintr0 test"
> > flavor data
> > default_value 0
> > legal_values 0 to 16
> > description "The intr0 and kintr0 tests create several interrupts.
> > This option selects the interrupt priority to be used
> > for these interrupts."
> > }
> >
> > cdl_option CYGNUM_KERNEL_INTR_TEST_PRIO_B {
> > display "interrupt priority used by intr0/kintr0 test"
> > flavor data
> > default_value 1
> > legal_values 0 to 16
> > description "The intr0 and kintr0 tests create several interrupts.
> > This option selects the interrupt priority to be used
> > for these interrupts."
> > }
> >
> > and then in the LPC2XXX hal statements like
> >
> > requires { is_active(CYGNUM_KERNEL_INTR_TEST_PRIO_A)
> > implies { CYGNUM_KERNEL_INTR_TEST_PRIO_A == 16 } }
> >
> > requires { is_active(CYGNUM_KERNEL_INTR_TEST_PRIO_B)
> > implies { CYGNUM_KERNEL_INTR_TEST_PRIO_B == 16 } }
> >
> > It makes the test more flexible. You can how for example use vectors 5
> > and 15 which was not possible before.
>
> Looks good, but I'm unsure about PRIO_A and PRIO_B vs. PRIO_0 and
> PRIO_1. I used PRIO_0 where the test used a hardcoded 0, and PRIO_1
> where test used a hardcoded 1 (twice). How will PRIO_A and PRIO_B map to
> this?
I wanted to avoid _0 and _1 because it may make reader of the code
think they have the value of 0 and 1! If a reading is interested in
the value, using A and B makes the reader go looking for the actual
value, rather than assume they are 0 and 1.
In the code i would replace 0 with CYGNUM_KERNEL_INTR_TEST_PRIO_A and
1 with CYGNUM_KERNEL_INTR_TEST_PRIO_B, since the defaults set them to
these values.
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss