This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: LPC2xxx patch for support of vectored interrupt controller


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]