The NetBSD Project

CVS log for src/sys/arch/powerpc/pic/intr.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / arch / powerpc / pic

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.34 / (download) - annotate - [select for diffs], Wed Feb 16 23:49:27 2022 UTC (2 years, 1 month ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.33: +4 -4 lines
Diff to previous 1.33 (unified)

powerpc: Sprinkle "memory" clobbers on eieio and nearby asm blocks.

Otherwise the compiler may reorder these around loads and stores,
which mostly defeats the purpose.  `asm volatile' just ensures the
instruction isn't _deleted_; it may still move around.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Mar 23 08:07:23 2021 UTC (3 years ago) by skrll
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.32: +4 -3 lines
Diff to previous 1.32 (unified)

KNF

Revision 1.32 / (download) - annotate - [select for diffs], Mon Mar 22 01:36:10 2021 UTC (3 years ago) by rin
Branch: MAIN
Changes since 1.31: +8 -6 lines
Diff to previous 1.31 (unified)

Brush up previous, or make things more similar to x86:

- Prevent pic_name from appearing vmstat(1) twice.
- Restore "irq" in interrupt id fields of intrctl(8).

For these purposes,

- Add is_evname member to struct intr_source.
- Bump size of is_source to INTRIDBUF, and rename it to is_intrid for clarity.

Now, outputs from vmstat(1) and intrctl(8) are like:

----
$ vmstat -ev
...
openpic irq 39                                 3967   26 intr
...
$ intrctl list
interrupt id   CPU0  device name(s)
...
openpic irq 39 3967* wdc1
...
----

Revision 1.31 / (download) - annotate - [select for diffs], Sat Mar 6 07:24:24 2021 UTC (3 years ago) by rin
Branch: MAIN
Branch point for: thorpej-cfargs
Changes since 1.30: +4 -4 lines
Diff to previous 1.30 (unified)

Include PIC name to interrupt source, instead of just "irq", so that
it appears in "interrupt id" field of intrctl(8).

Should be useful when multiple PICs are simultaneously available as in
405EX (where uic[12] are cascaded to uic0).

Revision 1.30 / (download) - annotate - [select for diffs], Tue Mar 2 07:37:27 2021 UTC (3 years ago) by rin
Branch: MAIN
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (unified)

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.

Revision 1.29 / (download) - annotate - [select for diffs], Mon Jul 6 10:31:23 2020 UTC (3 years, 8 months ago) by rin
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.28: +3 -2 lines
Diff to previous 1.28 (unified)

Include missing opt_ppcarch.h.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Jul 6 09:34:18 2020 UTC (3 years, 8 months ago) by rin
Branch: MAIN
Changes since 1.27: +6 -4 lines
Diff to previous 1.27 (unified)

Style and cosmetic changes. No binary changes intended.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Feb 20 05:10:01 2020 UTC (4 years, 1 month ago) by rin
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3
Changes since 1.26: +17 -8 lines
Diff to previous 1.26 (unified)

eieio is implemented as sync on 40x. Therefore, "sync; eieio" and
"eieio; sync" can be replaced by a single sync.

Revision 1.26 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:26 2018 UTC (5 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, netbsd-9-base, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, isaki-audio2-base, isaki-audio2, ad-namecache-base2, ad-namecache-base1, ad-namecache-base
Branch point for: netbsd-9, ad-namecache
Changes since 1.25: +5 -5 lines
Diff to previous 1.25 (unified)

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) < (b) ? (a) : (b))
	#define max(a, b)	((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)

Revision 1.25 / (download) - annotate - [select for diffs], Wed Oct 19 00:08:42 2016 UTC (7 years, 5 months ago) by nonaka
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-compat-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.24: +165 -4 lines
Diff to previous 1.24 (unified)

Added MSI/MSI-X and interrupt_distribute(9) support for powerpc.

Revision 1.24 / (download) - annotate - [select for diffs], Thu May 26 17:38:05 2016 UTC (7 years, 10 months ago) by macallan
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.23: +3 -13 lines
Diff to previous 1.23 (unified)

treat IPIs like regular interrupts at IPL_HIGH
should fix port-powerpc/44387
tested by chuq

Revision 1.23 / (download) - annotate - [select for diffs], Fri Aug 31 13:12:52 2012 UTC (11 years, 6 months ago) by macallan
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, khorben-n900, agc-symver-base, agc-symver
Branch point for: tls-maxphys, nick-nhusb
Changes since 1.22: +12 -9 lines
Diff to previous 1.22 (unified)

when calculating per-IPL virq masks, take into account that shared IRQs may
request different IPLs
fixes vr(4)-related problems seen on ofppc

Revision 1.22 / (download) - annotate - [select for diffs], Thu Jun 7 04:37:09 2012 UTC (11 years, 9 months ago) by macallan
Branch: MAIN
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (unified)

fix same thinko as in previous commit, in have_pending_intr_p()

Revision 1.21 / (download) - annotate - [select for diffs], Thu Jun 7 02:39:22 2012 UTC (11 years, 9 months ago) by macallan
Branch: MAIN
Changes since 1.20: +7 -3 lines
Diff to previous 1.20 (unified)

look at the right cpu_softints bits in pic_do_pending_int()
so we call the right softint handlers

Revision 1.20 / (download) - annotate - [select for diffs], Wed Feb 1 09:54:03 2012 UTC (12 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10
Branch point for: netbsd-6
Changes since 1.19: +6 -6 lines
Diff to previous 1.19 (unified)

Use kmem instead of malloc.  Remove unneeded <sys/malloc.h> includes.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Jan 14 19:35:59 2012 UTC (12 years, 2 months ago) by phx
Branch: MAIN
Changes since 1.18: +10 -6 lines
Diff to previous 1.18 (unified)

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.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Sep 27 01:02:36 2011 UTC (12 years, 6 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.17: +4 -4 lines
Diff to previous 1.17 (unified)

Modify *ASSERTMSG() so they are now used as variadic macros. The main goal
is to provide routines that do as KASSERT(9) says: append a message
to the panic format string when the assertion triggers, with optional
arguments.

Fix call sites to reflect the new definition.

Discussed on tech-kern@. See
http://mail-index.netbsd.org/tech-kern/2011/09/07/msg011427.html

Revision 1.17 / (download) - annotate - [select for diffs], Tue Jun 21 18:02:43 2011 UTC (12 years, 9 months ago) by rjs
Branch: MAIN
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (unified)

Make it compile when PIC_DEBUG is defined.

Revision 1.16 / (download) - annotate - [select for diffs], Mon Jun 20 06:23:52 2011 UTC (12 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.15: +10 -8 lines
Diff to previous 1.15 (unified)

Cleanup includes.  Explicitly include <powerpc/psl.h>

Revision 1.15 / (download) - annotate - [select for diffs], Fri Jun 17 23:36:18 2011 UTC (12 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.14: +147 -213 lines
Diff to previous 1.14 (unified)

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).

Revision 1.14 / (download) - annotate - [select for diffs], Fri Jun 17 05:15:23 2011 UTC (12 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.13: +77 -98 lines
Diff to previous 1.13 (unified)

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.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Jun 16 04:37:48 2011 UTC (12 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.12: +17 -6 lines
Diff to previous 1.12 (unified)

Make sure OEA ports without __HAVE_FAST_SOFTINTS still compile.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Jun 16 02:43:43 2011 UTC (12 years, 9 months ago) by macallan
Branch: MAIN
Changes since 1.11: +35 -37 lines
Diff to previous 1.11 (unified)

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

Revision 1.11 / (download) - annotate - [select for diffs], Sun Jun 5 16:52:26 2011 UTC (12 years, 9 months ago) by matt
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base
Changes since 1.10: +3 -3 lines
Diff to previous 1.10 (unified)

Remove <machine/atomic.h>; use <sys/atomic.h> instead.
Add <powerpc/cpuset.h> (for mpc85xx pmap).
Add some initial MP code for mpc85xx
Rework ipi code to be common across all ppcs
Change PPC to keep curlwp in %r13 while in the kernel.
Move astpending from cpu_info to mdlwp
Improve cpu_need_resched to be more MP friendly.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Dec 20 00:25:41 2010 UTC (13 years, 3 months ago) by matt
Branch: MAIN
CVS Tags: uebayasi-xip-base7, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jym-xensuspend-base, jruoho-x86intr-base, cherry-xenmp-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: jruoho-x86intr, cherry-xenmp
Changes since 1.9: +5 -6 lines
Diff to previous 1.9 (unified)

Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits.  Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.

Revision 1.9 / (download) - annotate - [select for diffs], Wed May 12 06:11:31 2010 UTC (13 years, 10 months ago) by macallan
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (unified)

make this work again

Revision 1.8 / (download) - annotate - [select for diffs], Sat Apr 24 09:39:57 2010 UTC (13 years, 11 months ago) by kiyohara
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Changes since 1.7: +29 -32 lines
Diff to previous 1.7 (unified)

Support 64-bit imask for powerpc/pic.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Mar 10 18:28:30 2010 UTC (14 years ago) by kiyohara
Branch: MAIN
Branch point for: rmind-uvmplock
Changes since 1.6: +11 -11 lines
Diff to previous 1.6 (unified)

Remove white-spaces.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Apr 29 06:53:02 2008 UTC (15 years, 11 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, uebayasi-xip-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, matt-premerge-20091211, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jymxensuspend-base, jym-xensuspend, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: uebayasi-xip
Changes since 1.5: +2 -5 lines
Diff to previous 1.5 (unified)

Convert to new 2 clause license

Revision 1.5 / (download) - annotate - [select for diffs], Tue Apr 8 02:33:03 2008 UTC (15 years, 11 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base
Branch point for: yamt-pf42, yamt-nfs-mp
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (unified)

SMP support for ofppc.  (finally)  Much thanks to Matt Thomas for help in
figuring out all the crazy nuances of getting this working, and to
Michael Lorenz for testing/fixing my changes on macppc.  Tested with a
quad-proc 7044-270.
Summary of changes:

Bumped CPU_MAXNUM to 16 on ofppc.
Added md_* routines to ofppc/cpu.c, to sync the timebase, and awaken the CPUs.
Fixed a bug in the test for a 64bit bridge cpu early in locore.S
Added code to set the interrupt priority for all CPUs with an openpic.
Change rtas to probe before cpus, to allow use of the rtas freeze/thaw
timebase code routines.
Fix CPU_INFO_FOREACH macro to iterate through detected cpus, not CPU_MAXNUM.
Change most uses of ci_cpuid to ci_index, to deal with CPUs that do not allow
writing to SPR_PIR.  Don't write SPR_PIR unless the secondary cpu identifies
itself as 0.
Change the hatchstack/interrupt stack allocations to allocate a 8192byte
interrupt stack, and a 4096 byte hatch stack, align them to 16 bytes, and
allocate them no lower than 0x10000.  Allocate them separately to prevent the
hatch stack corrupting the interrupt stack later on.
If the CPU is a 64bit cpu, copy SPR_ASR in cpu_hatch()
Set the idle stack to ci->ci_data.cpu_idlelwp->l_addr->u_pcb.pcb_sp.
Add OF_start_cpu().  Add a routine to ofwoea_initppc to spin up secondary
procs early, and place them into a spinloop waiting for the hatch routines
to be ready.
Modify the ipi routines to deal with openpics that reverse byte order on read
from an ipi register. (such as on the 7044)
Change the rtas setup to allocate the rtas physical base address above
the kernel, to avoid mucking up the hatch/interrupt stacks.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Dec 11 18:04:19 2007 UTC (16 years, 3 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, vmlocking2-base3, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.3: +5 -5 lines
Diff to previous 1.3 (unified)

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.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Dec 3 15:34:14 2007 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base2, yamt-kmem-base, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base
Branch point for: yamt-kmem, vmlocking2, bouyer-xeni386
Changes since 1.2: +23 -20 lines
Diff to previous 1.2 (unified)

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.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Oct 17 19:56:45 2007 UTC (16 years, 5 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: yamt-lazymbuf, vmlocking, mjf-devfs, matt-armv6
Changes since 1.1: +799 -0 lines
Diff to previous 1.1 (unified)

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.

Revision 1.1, Wed May 2 02:59:01 2007 UTC (16 years, 11 months ago) by macallan
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-idlelwp-base8, vmlocking-base, ppcoea-renovation-base, mjf-ufs-trans-base, hpcarm-cleanup, bouyer-xenamd64
Branch point for: yamt-x86pmap, ppcoea-renovation, jmcneill-pm
FILE REMOVED

file intr.c was initially added on branch ppcoea-renovation.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>