Home | History | Annotate | Download | only in pic
History log of /src/sys/arch/powerpc/pic/pic_prepivr.c
RevisionDateAuthorComments
 1.9  01-Jun-2017  chs remove checks for failure after memory allocation calls that cannot fail:

kmem_alloc() with KM_SLEEP
kmem_zalloc() with KM_SLEEP
percpu_alloc()
pserialize_create()
psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.
 1.8  28-Jul-2012  matt branches: 1.8.2; 1.8.16;
Fix -fno-common fallout.
 1.7  01-Feb-2012  matt Use kmem instead of malloc. Remove unneeded <sys/malloc.h> includes.
 1.6  20-Jun-2011  matt branches: 1.6.2; 1.6.6;
<arch/powerpc/... -> <powerpc/...
 1.5  18-Jun-2011  matt Use <sys/foo.h> instead of <machine/foo.h> if such a file exists.
Don't assume <sys/cpu.h> includes <powerpc/subarch/cpu*.h>. Include it
explicitly.
 1.4  28-Apr-2008  martin branches: 1.4.32;
Remove clause 3 and 4 from TNF licenses
 1.3  11-Dec-2007  garbled branches: 1.3.8; 1.3.10; 1.3.12;
Fix the endless stream of 7's problem on i8259-like interrupt controllers
once and for all. The i8259 does not like to be read in a loop, when an
interrupt comes in, it will return a valid value, however, if you keep
reading it until there are no outstanding interrupts, it will return 7
(which is the lpt interrupt). Change the pic handler to give an argument
to the get_irq functions of mode, which indicates if this is the first
time we are asking, or if we are just rechecking in a loop. Non-i8259
handlers can safely ignore this argument.

Tested to fix the stream of 7's problem on prep and ofppc. Got rid of
the nasty hack in ofppc with this too, and the prep machine seems to take
less interrupts now, which is a good thing.
 1.2  17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.8; 1.2.10; 1.2.12; 1.2.14;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.1  03-May-2007  garbled branches: 1.1.2; 1.1.6; 1.1.8;
file pic_prepivr.c was initially added on branch ppcoea-renovation.
 1.1.8.1  18-Oct-2007  yamt sync with head.
 1.1.6.1  02-Nov-2007  joerg More diff reduce to HEAD due to botched up merging.
 1.1.2.9  11-Oct-2007  macallan add NULL pic_finish_setup()
 1.1.2.8  10-Oct-2007  garbled Change pic_prepivr around a bit. Handle the default IRQ 7 from the 8259
better, and add a new motivr_get_irq(). The motorola machines require an
actual read from the 8259 for PCI irqs, so in that case, we read the
8259, and then read the IVR to ack the irq.

Move i8259_get_irq() to i8259_common.c for above.

Fix some minor typos in the chip id's for prep residual.

Fix ibmnws and prep to properly initialize the prep ivr depending on if
the machine is motorola, or IBM based.

Tested on a 7043 and an MTX604
 1.1.2.7  09-May-2007  garbled The i8259 and prepivr code had a bunch of functions that were duplicates
of one another. Break those out into i8259_common.c and share that file
between the two of them.
 1.1.2.6  07-May-2007  garbled add the third argument to prepivr_establish_irq()
 1.1.2.5  04-May-2007  nisimura follow up to the previous change for struct pic_ops, and make
pic_i8259.c compilable.
 1.1.2.4  04-May-2007  garbled Add an i8259 pic. Compile tested only.
Add 8259 initialization code to prepivr. (Forgot to add this when I nuked
init_icu(), oddly enough, my machine didn't care, but I'm sure thats pure
luck.)
There is probably alot more sharing that can take place between these two
files, but I'm not sure how to accomplish it yet because of the PIC_XXX
options. That will be a TODO item.
 1.1.2.3  03-May-2007  garbled Move the functions down from openpic.c into pic_openpic.c, as there
really is no need to have them over there when all the interrupt routines
will be using pic_openpic.c
Change the openpic setup to set all the irqs except 0 to negative polarity.
Set the spurious vector reg to 0xff.
Emit a nice printf showing the version of the openpic, and getrid of the
maxint thing.
Add a global, primary_pic, so machines can elect any registered pic as
the primary interrupt controller.
Clean up a few nits in pic_prepivr to make it more similar to the openpic
one, add a prototype for the setup_prepivr function, etc etc.
 1.1.2.2  03-May-2007  nisimura - files.pic
allow to choose files as designated for Makefile.
- pic_openpic.c, pic_prepivr.c
remove #ifdef PIC_xxx constructs.
- pic_openpic.c
honour OPENPIC feature register NIRQ field for max. number of
available irqs. Valid for MPC107/MPC824x EPIC.
 1.1.2.1  03-May-2007  garbled Add a generic prepIVR pic. used by ibmnws and prep.
 1.2.14.1  13-Dec-2007  bouyer Sync with HEAD
 1.2.12.1  13-Dec-2007  yamt sync with head.
 1.2.10.1  26-Dec-2007  ad Sync with head.
 1.2.8.3  09-Jan-2008  matt sync with HEAD
 1.2.8.2  06-Nov-2007  matt sync with HEAD
 1.2.8.1  17-Oct-2007  matt file pic_prepivr.c was added on branch matt-armv6 on 2007-11-06 23:20:57 +0000
 1.2.4.3  21-Jan-2008  yamt sync with head
 1.2.4.2  27-Oct-2007  yamt sync with head.
 1.2.4.1  17-Oct-2007  yamt file pic_prepivr.c was added on branch yamt-lazymbuf on 2007-10-27 11:28:01 +0000
 1.2.2.2  23-Oct-2007  ad Sync with head.
 1.2.2.1  17-Oct-2007  ad file pic_prepivr.c was added on branch vmlocking on 2007-10-23 20:36:22 +0000
 1.3.12.1  16-May-2008  yamt sync with head.
 1.3.10.1  18-May-2008  yamt sync with head.
 1.3.8.1  02-Jun-2008  mjf Sync with HEAD.
 1.4.32.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.6.1  18-Feb-2012  mrg merge to -current.
 1.6.2.2  30-Oct-2012  yamt sync with head
 1.6.2.1  17-Apr-2012  yamt sync with head
 1.8.16.1  28-Aug-2017  skrll Sync with HEAD
 1.8.2.1  03-Dec-2017  jdolecek update from HEAD

RSS XML Feed