Home | History | Annotate | Download | only in include
History log of /src/sys/arch/powerpc/include/intr.h
RevisionDateAuthorComments
 1.19  11-Jul-2022  martin PR 56922: disabel fast softints for powerpc for now.
 1.18  02-Mar-2021  rin Turn imask into static.

XXX
Other macro etc. in powerpc/intr.h should also be moved into
powerpc/pic/intr.c, or protected by __INTR_PRIVATE.
 1.17  16-Apr-2020  rin branches: 1.17.2;
Revert previous for now:
http://mail-index.netbsd.org/source-changes/2020/04/16/msg116278.html

The reasoning turned out to be wrong; __KERNEL_RCSID() in header files
does *not* overwrite RCSID in main source files. The real problem is that
it inserts its RCSID into *every* object files. However, it can be still
useful even if heavily duplicated.
 1.16  16-Apr-2020  rin Stop using __KERNEL_RCSID() in header files; it confuses ident(1) by
overwriting RCSID in main source files.

XXX
The first argument of __KERNEL_RCSID() is neglected for ELF. If we wish
to have RCSID of header files in kernel binary, we need something like
__FBSDID() macro in FreeBSD.
 1.15  20-Feb-2020  rin branches: 1.15.4;
Fix !__HAVE_FAST_SOFTINTS build for debugging.
 1.14  24-Oct-2019  macallan branches: 1.14.2;
bump NIRQ to 256 since we're going to use vectors above 128
 1.13  19-Apr-2018  christos branches: 1.13.2; 1.13.6;
s/static inline/static __inline/g for consistency.
 1.12  19-Oct-2016  nonaka branches: 1.12.14;
Added MSI/MSI-X and interrupt_distribute(9) support for powerpc.
 1.11  23-Aug-2013  matt branches: 1.11.6; 1.11.10;
Fix kern_softint.c errors (tested with WALNUT & EV64260)
 1.10  14-Jan-2012  phx branches: 1.10.6; 1.10.10;
Some PICs have the capability to define the interrupt's polarity (OpenPIC
for example). So the accepted interrupt types have been extended to:
- IST_EDGE_FALLING (which is the same as IST_EDGE)
- IST_EDGE_RISING (new)
- IST_LEVEL_LOW (is the same as IST_LEVEL)
- IST_LEVEL_HIGH (new)
Old code will continue to work without modification.
 1.9  20-Jun-2011  matt branches: 1.9.2; 1.9.6;
PowerPC now exports a common view of cpu.h, vmparam.h and pmap.h
when building a MODULAR kernel or compiling _MODULE.
It should be noted that MODULAR or _MODULE export a view of the kernel
as being MULTIPROCESSOR (even if isn't).
The shared pmap TLB uses mdpg in places where it used mdpg to avoid
deadly embrance inclusion problems.
 1.8  17-Jun-2011  matt intr.h must not include cpu due to deadly embrace with SOFTINT_COUNT.
Cleanup intr.h so MD definitions can overload common definitions.
Rototill pic/intr.c. Virtual IRQs can now be reclaimed. separate virq
from hwirq from picirq. Redo intr mask calculations.
tested on pmppc and macppc (MP).
 1.7  17-Jun-2011  matt Change from level to ipl since we aren't dealing a mask anymore, just a
simple value.
Fix intr_calculatemasks to deal with ipl isn't a mask. Let establish
and disestablish determine the highest ipl for the interrut source being
modified. No reason to recompute that for every source when only one changes
at a time. Only change idepth while in the loop.
 1.6  16-Jun-2011  macallan enable FAST_SOFTINTR support for all ports that use powerpc/pic/
This has been successfully tested on macppc
TODO:
- ibm4xx needs to be adapted
- SMP doesn't work yet, 2nd CPU crashes when trying to leave the idle loop
 1.5  25-Apr-2010  kiyohara branches: 1.5.6;
Fix forgot to commit.
Support 64-bit imask for powerpc/pic.
 1.4  29-Apr-2008  martin branches: 1.4.20; 1.4.22;
Convert to new 2 clause license
 1.3  03-Dec-2007  ad branches: 1.3.14; 1.3.16; 1.3.18;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.2  17-Oct-2007  garbled branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8;
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  04-May-2007  macallan branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file intr.h was initially added on branch ppcoea-renovation.
 1.1.10.1  25-Oct-2007  bouyer Sync with HEAD.
 1.1.8.1  18-Oct-2007  yamt sync with head.
 1.1.6.2  09-Dec-2007  jmcneill Sync with HEAD.
 1.1.6.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.1.2.3  10-May-2007  garbled More cleanup:
1) Remove lcsplx, strayintr, and foosoft from all the converted ports.
None of this stuff is needed anymore.
2) because lcsplx is just "return spllower", just call spllower from
locore_subr.S instead.
3) Every port (except macppc) had a pretty similar cpu_configure(), so
take the common parts out and make a genppc_cpu_configure() in an attempt
to stop using imask[] outside of intr.c
 1.1.2.2  08-May-2007  garbled Make powerpc/intr.h more common than it previously was. Having done
that, delete all the duplicate entries from the 4 ports that have
converted to shared pic code. Also, commit a minor change to sandpoint
that I forgot to commit earlier (delete an unused variable)
 1.1.2.1  04-May-2007  macallan move some common interrupt-related stuff here
 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 intr.h was added on branch matt-armv6 on 2007-11-06 23:20:34 +0000
 1.2.6.1  08-Dec-2007  mjf Sync with HEAD.
 1.2.4.3  07-Dec-2007  yamt sync with head
 1.2.4.2  27-Oct-2007  yamt sync with head.
 1.2.4.1  17-Oct-2007  yamt file intr.h was added on branch yamt-lazymbuf on 2007-10-27 11:27:45 +0000
 1.2.2.3  03-Dec-2007  ad Sync with HEAD.
 1.2.2.2  23-Oct-2007  ad Sync with head.
 1.2.2.1  17-Oct-2007  ad file intr.h was added on branch vmlocking on 2007-10-23 20:36:02 +0000
 1.3.18.2  11-Aug-2010  yamt sync with head.
 1.3.18.1  16-May-2008  yamt sync with head.
 1.3.16.1  18-May-2008  yamt sync with head.
 1.3.14.1  02-Jun-2008  mjf Sync with HEAD.
 1.4.22.1  30-May-2010  rmind sync with head
 1.4.20.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.5.6.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9.6.1  18-Feb-2012  mrg merge to -current.
 1.9.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.2.1  17-Apr-2012  yamt sync with head
 1.10.10.1  28-Aug-2013  rmind sync with head
 1.10.6.2  03-Dec-2017  jdolecek update from HEAD
 1.10.6.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.10.1  04-Nov-2016  pgoyette Sync with HEAD
 1.11.6.1  05-Dec-2016  skrll Sync with HEAD
 1.12.14.1  22-Apr-2018  pgoyette Sync with HEAD
 1.13.6.1  25-Feb-2020  martin Pull up following revision(s) (requested by rin in ticket #729):

sys/arch/powerpc/include/intr.h: revision 1.15

Fix !__HAVE_FAST_SOFTINTS build for debugging.
 1.13.2.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.13.2.1  08-Apr-2020  martin Merge changes from current as of 20200406
 1.14.2.1  29-Feb-2020  ad Sync with head.
 1.15.4.1  20-Apr-2020  bouyer Sync with HEAD
 1.17.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed