[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [openrisc] PIC documentation



Scott,
 
my worry behind changing/adding architecture is because existing software needs to be changed. There is not much to change, but as you know, it takes time to really change it in all the different software places (to name a few: uclinux, orpmon, test cases that use interrupts). So my mine concern is that we render this software useless in future implementations. >From this POV it might just be better to say in the manual that only level interrupts are supported and for edge triggered an external interrupt controller is needed. My question is, how many interrupt controllers, specifically in system on chip, are edge triggered? In my opinion most of the stuff today in SoC is level.
 
Anyway yes the patch for OR1200 lower two interrupt inputs is OK. I'll commit to the CVS.
 
regards,
Damjan
 
 
----- Original Message -----
Sent: Wednesday, February 26, 2003 6:33 AM
Subject: RE: [openrisc] PIC documentation

 

 

-----Original Message-----
From: owner-openrisc@opencores.org [mailto:owner-openrisc@opencores.org] On Behalf Of Damjan Lampret
Sent:
Tuesday, February 25, 2003 5:03 AM
To: openrisc@opencores.org
Subject: Re: [openrisc] PIC documentation

 

Scott,

 

before we make a rush decision let see what are some other options.

 

How about clearing pending interrupts in PICSR by reading PICSR register. This would constitute an atomic interrupt read/clear operation. You get pending interrupts and ack them by single PICSR read operation. Any current software would have to be modified if it doesn't store PICSR status already and therefore this could mean that current software wouldn't have to be modified and there would be no two version of the software in the future.

 

 

 

One problem I can imagine with this solution is that reading the PICSR clears *all* pending interrupts, not just the one that originally triggered the dispatch to the interrupt service routine (ISR).  That means that the ISR that reads the PICSR will need to service all pending interrupts (or somehow post them to the OS for deferred servicing).  Whether or not your proposed change to the PIC would cause lack of forward-compatibility in SW seems somewhat dependent on how ISRs are implemented.  I would hazard that some ISRs exist that service only a single interrupt, then resume program execution, possibly to be interrupted immediately again.  (Actually it’s not much of a guess; I have written such code for the OpenRISC port of eCos myself.)

 

-Scott