The NetBSD Project

CVS log for src/sys/arch/sh3/sh3/exception.c

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

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.75 / (download) - annotate - [select for diffs], Thu Oct 5 19:41:05 2023 UTC (5 months, 3 weeks ago) by ad
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.74: +2 -6 lines
Diff to previous 1.74 (colored)

Arrange to update cached LWP credentials in userret() rather than during
syscall/trap entry, eliminating a test+branch on every syscall/trap.

This wasn't possible in the 3.99.x timeframe when l->l_cred came about
because there wasn't a reliable/timely way to force an ONPROC LWP running on
a remote CPU into the kernel (which is just about the only new thing in
this scheme).

Revision 1.74 / (download) - annotate - [select for diffs], Wed Sep 15 11:03:24 2021 UTC (2 years, 6 months ago) by rin
Branch: MAIN
CVS Tags: 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
Changes since 1.73: +4 -5 lines
Diff to previous 1.73 (colored)

For kernel mode address error, do not overwrite tf->tf_spc and tf->tf_r0
*before* checking pcb->pbc_onfault != NULL.

Should fix part of

PR port-sh3/56382
PR port-sh3/56401

i.e., DDB will no longer wrongly indicate NULL as fault PC for kernel mode
address error (and 0xe == EFAULT as r0).

Yes, we have another bugs that cause panics described in the two PRs, but
now we can examine them more easily :).

Revision 1.73 / (download) - annotate - [select for diffs], Tue Dec 3 12:42:21 2019 UTC (4 years, 3 months ago) by ad
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-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.72: +4 -3 lines
Diff to previous 1.72 (colored)

One more tweak.

Revision 1.72 / (download) - annotate - [select for diffs], Tue Dec 3 12:39:00 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.71: +5 -3 lines
Diff to previous 1.71 (colored)

tlb_exception: in slow path, check for usermode before calling userret().

Revision 1.71 / (download) - annotate - [select for diffs], Sun Dec 1 12:19:28 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.70: +35 -23 lines
Diff to previous 1.70 (colored)

sh3: make ASTs work as expected, and fix a few things in the TLB refill path.
With help from uwe@ and martin@.

Revision 1.70 / (download) - annotate - [select for diffs], Sat Nov 30 15:53:36 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.69: +11 -1 lines
Diff to previous 1.69 (colored)

Revert previous.  Looks like it requires a more extensive fix.

Revision 1.69 / (download) - annotate - [select for diffs], Fri Nov 29 18:27:33 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.68: +3 -13 lines
Diff to previous 1.68 (colored)

PR port-sparc/54718 (sparc install hangs since recent scheduler changes)

- userret() must be called every time we return to user, it's not optional.
- If clearing the AST with interrupts off, you must loop over userret().

Revision 1.68 / (download) - annotate - [select for diffs], Thu Nov 21 19:24:01 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.67: +2 -7 lines
Diff to previous 1.67 (colored)

mi_userret(): take care of calling preempt(), set spc_curpriority directly,
and remove MD code that does the same.

Revision 1.67 / (download) - annotate - [select for diffs], Sat Apr 6 03:06:27 2019 UTC (4 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.66: +2 -10 lines
Diff to previous 1.66 (colored)

Overhaul the API used to fetch and store individual memory cells in
userspace.  The old fetch(9) and store(9) APIs (fubyte(), fuword(),
subyte(), suword(), etc.) are retired and replaced with new ufetch(9)
and ustore(9) APIs that can return proper error codes, etc. and are
implemented consistently across all platforms.  The interrupt-safe
variants are no longer supported (and several of the existing attempts
at fuswintr(), etc. were buggy and not actually interrupt-safe).

Also augmement the ucas(9) API, making it consistently available on
all plaforms, supporting uniprocessor and multiprocessor systems, even
those that do not have CAS or LL/SC primitives.

Welcome to NetBSD 8.99.37.

Revision 1.66 / (download) - annotate - [select for diffs], Sun Oct 22 03:29:23 2017 UTC (6 years, 5 months ago) by uwe
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, 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, pgoyette-compat
Branch point for: phil-wifi
Changes since 1.65: +4 -2 lines
Diff to previous 1.65 (colored)

tlb_exception - set ksi_addr to va also when a userland page is not found.
Helps SIGSEGV handlers for PROT_NONE red zones.

Revision 1.65 / (download) - annotate - [select for diffs], Tue Jun 20 23:20:01 2017 UTC (6 years, 9 months ago) by uwe
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Changes since 1.64: +4 -4 lines
Diff to previous 1.64 (colored)

Use vmspace::vm_minsaddr instead of hardcoding USRSTACK.
Requested by joerg@.

Revision 1.64 / (download) - annotate - [select for diffs], Wed Mar 4 09:39:26 2015 UTC (9 years ago) by skrll
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.63: +15 -4 lines
Diff to previous 1.63 (colored)

Handle EINVAL in the fault path and send SIGBUS on mmap'd access past EOF.

From martin@

Revision 1.63 / (download) - annotate - [select for diffs], Sun Jul 8 20:14:12 2012 UTC (11 years, 8 months ago) by dsl
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, 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.62: +3 -3 lines
Diff to previous 1.62 (colored)

The MDP_USEDFPU (amd64 and sh3) and MDP_SSTEP (sh3) are lwp flags not
process ones, rename to MDL_xxx.

Revision 1.62 / (download) - annotate - [select for diffs], Sun Feb 19 21:06:26 2012 UTC (12 years, 1 month ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base10
Changes since 1.61: +2 -15 lines
Diff to previous 1.61 (colored)

Remove COMPAT_SA / KERN_SA.  Welcome to 6.99.3!
Approved by core@.

Revision 1.61 / (download) - annotate - [select for diffs], Fri Jan 28 21:06:08 2011 UTC (13 years, 2 months ago) by uwe
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, uebayasi-xip-base7, rmind-uvmplock-nbase, rmind-uvmplock-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jym-xensuspend-nbase, jym-xensuspend-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.60: +3 -2 lines
Diff to previous 1.60 (colored)

Implement PT_STEP.

Revision 1.60 / (download) - annotate - [select for diffs], Thu Jan 27 01:01:55 2011 UTC (13 years, 2 months ago) by uwe
Branch: MAIN
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored)

general_exception: when printing current mode in the panic message,
test "usermode" directly instead of testing for EXP_USER bit.

Revision 1.59 / (download) - annotate - [select for diffs], Fri Jan 14 02:06:30 2011 UTC (13 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: jruoho-x86intr-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.58: +3 -2 lines
Diff to previous 1.58 (colored)

Retire struct user, remove sys/user.h inclusions.  Note sys/user.h header
as obsolete.  Remove USER_TO_UAREA/UAREA_TO_USER macros.

Various #include fixes and review by matt@.

Revision 1.58 / (download) - annotate - [select for diffs], Wed Dec 29 13:49:32 2010 UTC (13 years, 3 months ago) by nisimura
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231
Changes since 1.57: +3 -3 lines
Diff to previous 1.57 (colored)

one more line for lwp_getpcb() conversion.

Revision 1.57 / (download) - annotate - [select for diffs], Wed Dec 29 13:43:58 2010 UTC (13 years, 3 months ago) by nisimura
Branch: MAIN
Changes since 1.56: +6 -4 lines
Diff to previous 1.56 (colored)

use lwp_getpcb() to hide the detail about how struct pcb is populated.

Revision 1.56 / (download) - annotate - [select for diffs], Mon Dec 20 00:25:43 2010 UTC (13 years, 3 months ago) by matt
Branch: MAIN
Changes since 1.55: +4 -4 lines
Diff to previous 1.55 (colored)

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.55 / (download) - annotate - [select for diffs], Sat Mar 20 23:31:30 2010 UTC (14 years ago) by chs
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, uebayasi-xip-base1
Changes since 1.54: +24 -14 lines
Diff to previous 1.54 (colored)

fix copy{in,out}{,str}() to return the error returned by uvm_fault().
fixes PR 41813.

Revision 1.54 / (download) - annotate - [select for diffs], Sat Nov 21 17:40:28 2009 UTC (14 years, 4 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.53: +2 -3 lines
Diff to previous 1.53 (colored)

Use lwp_getpcb() on mips, powerpc and sh3, clean from struct user usage.

Revision 1.53 / (download) - annotate - [select for diffs], Fri Dec 19 15:20:10 2008 UTC (15 years, 3 months ago) by njoly
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, mjf-devfs2-base, jymxensuspend-base, jym-xensuspend
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored)

Fix remaining archs (arm, luna68k, powerpc and sh3) that were still
using a proc argument instead of an expected lwp for ADDUPROF macro.

ok by christos.

Revision 1.52 / (download) - annotate - [select for diffs], Tue Oct 21 04:16:59 2008 UTC (15 years, 5 months ago) by wrstuden
Branch: MAIN
CVS Tags: 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, 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, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap
Changes since 1.51: +13 -23 lines
Diff to previous 1.51 (colored)

upcallret() will work much better if it's not in the middle of another
routine!

Revision 1.51 / (download) - annotate - [select for diffs], Wed Oct 15 06:51:18 2008 UTC (15 years, 5 months ago) by wrstuden
Branch: MAIN
CVS Tags: haad-dm-base1
Changes since 1.50: +25 -2 lines
Diff to previous 1.50 (colored)

Merge wrstuden-revivesa into HEAD.

Revision 1.50 / (download) - annotate - [select for diffs], Sat Jun 7 22:04:40 2008 UTC (15 years, 9 months ago) by uwe
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl
Branch point for: haad-dm
Changes since 1.49: +23 -4 lines
Diff to previous 1.49 (colored)

Pass trap code to kgdb_trap().

Revision 1.49 / (download) - annotate - [select for diffs], Sat Jun 7 00:51:55 2008 UTC (15 years, 9 months ago) by uwe
Branch: MAIN
Changes since 1.48: +9 -9 lines
Diff to previous 1.48 (colored)

Move EXPEVT_BREAK case next to EXPEVT_TRAPA case, they both generate
SIGTRAP and it's easier to read when they are together.

Revision 1.48 / (download) - annotate - [select for diffs], Wed May 21 14:07:29 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base3
Changes since 1.47: +2 -6 lines
Diff to previous 1.47 (colored)

Remove unneeded playing about with kernel_lock.

Revision 1.47 / (download) - annotate - [select for diffs], Tue May 20 20:43:30 2008 UTC (15 years, 10 months ago) by uwe
Branch: MAIN
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored)

Add semicolon that was lost some 5 years ago.
Reported missing by proper do-while macro hygiene in systm.h.

Revision 1.46 / (download) - annotate - [select for diffs], Thu Feb 21 01:49:07 2008 UTC (16 years, 1 month ago) by uwe
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base2, yamt-pf42-base, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa, mjf-devfs2
Changes since 1.45: +3 -3 lines
Diff to previous 1.45 (colored)

Use __arraycount.

Revision 1.45 / (download) - annotate - [select for diffs], Thu Feb 21 01:27:42 2008 UTC (16 years, 1 month ago) by uwe
Branch: MAIN
Changes since 1.44: +8 -8 lines
Diff to previous 1.44 (colored)

Revert previous, it's too noisy and misleading (e.g. single stepping
in ddb is not "fatal").  Need to redo it, but not now.

Revision 1.44 / (download) - annotate - [select for diffs], Tue Jan 8 01:25:13 2008 UTC (16 years, 2 months ago) by uwe
Branch: MAIN
CVS Tags: mjf-devfs-base, matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.43: +8 -8 lines
Diff to previous 1.43 (colored)

In general_exception() in do_panic case print error message *before*
we drop into ddb.

Revision 1.43 / (download) - annotate - [select for diffs], Wed Oct 17 19:57:07 2007 UTC (16 years, 5 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, jmcneill-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: mjf-devfs, bouyer-xeni386
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

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.42 / (download) - annotate - [select for diffs], Mon Oct 1 21:26:03 2007 UTC (16 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, yamt-x86pmap-base2, vmlocking-base, ppcoea-renovation-base, bouyer-xenamd64
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored)

Make want_resched a member of cpu_info.

Revision 1.41 / (download) - annotate - [select for diffs], Mon Sep 24 01:17:15 2007 UTC (16 years, 6 months ago) by uwe
Branch: MAIN
Changes since 1.40: +2 -8 lines
Diff to previous 1.40 (colored)

Do RAS check in sh_vector_interrupt, don't abuse ast() for that.

Revision 1.40 / (download) - annotate - [select for diffs], Mon Aug 27 00:22:20 2007 UTC (16 years, 7 months ago) by uwe
Branch: MAIN
CVS Tags: yamt-x86pmap-base, nick-csl-alignment-base5
Branch point for: yamt-x86pmap, matt-armv6
Changes since 1.39: +4 -48 lines
Diff to previous 1.39 (colored)

Move child_return() and startlwp() to be in the same file with
cpu_lwp_fork() that is used to call them.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Aug 15 12:07:26 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.38: +4 -13 lines
Diff to previous 1.38 (colored)

Changes to make ktrace LKM friendly and reduce ifdef KTRACE. Proposed
on tech-kern.

Revision 1.38 / (download) - annotate - [select for diffs], Thu May 17 14:51:28 2007 UTC (16 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: nick-csl-alignment, jmcneill-pm
Changes since 1.37: +4 -2 lines
Diff to previous 1.37 (colored)

merge yamt-idlelwp branch.  asked by core@.  some ports still needs work.

from doc/BRANCHES:

	idle lwp, and some changes depending on it.

	1. separate context switching and thread scheduling.
	   (cf. gmcgarry_ctxsw)
	2. implement idle lwp.
	3. clean up related MD/MI interfaces.
	4. make scheduler(s) modular.

Revision 1.37 / (download) - annotate - [select for diffs], Fri Mar 30 00:12:54 2007 UTC (17 years ago) by uwe
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic
Branch point for: ppcoea-renovation
Changes since 1.36: +4 -5 lines
Diff to previous 1.36 (colored)

Re-enable interrupts in tlb_exception too.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Mar 14 05:03:52 2007 UTC (17 years ago) by uwe
Branch: MAIN
CVS Tags: reinoud-bufcleanup
Changes since 1.35: +11 -3 lines
Diff to previous 1.35 (colored)

Convert _lock_cas to RAS.  Check for restart in ast() on return from interrupt.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Feb 21 22:59:51 2007 UTC (17 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.34: +5 -5 lines
Diff to previous 1.34 (colored)

Replace the Mach-derived boolean_t type with the C99 bool type.  A
future commit will replace use of TRUE and FALSE with true and false.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:12 2007 UTC (17 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-idlelwp
Changes since 1.33: +11 -36 lines
Diff to previous 1.33 (colored)

Merge newlock2 to head.

Revision 1.33 / (download) - annotate - [select for diffs], Sun Oct 8 18:20:42 2006 UTC (17 years, 5 months ago) by uwe
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, newlock2-nbase, newlock2-base, netbsd-4-base
Branch point for: wrstuden-fixsa, netbsd-4
Changes since 1.32: +6 -2 lines
Diff to previous 1.32 (colored)

general_exception() is called with all interrupts masked in SR
(effectively we were running syscalls with interrupts disabled).
splx back to previous interrupt level from tf->tf_ssr.

XXX: tlb_exception() still has that problem.

Revision 1.32 / (download) - annotate - [select for diffs], Mon Sep 4 23:57:52 2006 UTC (17 years, 6 months ago) by uwe
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, rpaulo-netinet-merge-pcb-base
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.31: +2 -5 lines
Diff to previous 1.31 (colored)

general_exception: g/c infinite loop after the call to panic.

Revision 1.31 / (download) - annotate - [select for diffs], Sat Jul 22 22:43:43 2006 UTC (17 years, 8 months ago) by uwe
Branch: MAIN
CVS Tags: yamt-pdpolicy-base8, yamt-pdpolicy-base7, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.30: +16 -12 lines
Diff to previous 1.30 (colored)

tlb_exception: Move and indent TLB_ASSERT to reduce visual clutter.
Fix function name in the panic message.  Print expevt on panic.
Split panic message so that the dumped numbers are on a separate line.

Revision 1.30 / (download) - annotate - [select for diffs], Sat Jul 22 21:58:29 2006 UTC (17 years, 8 months ago) by uwe
Branch: MAIN
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored)

exp_type[] was constified in exception.c but an extern declaration in
db_interface.c was not updated.  Declare it publicly.  While here,
constify the array itself too.

Revision 1.29 / (download) - annotate - [select for diffs], Sat Jul 22 03:22:15 2006 UTC (17 years, 8 months ago) by uwe
Branch: MAIN
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

Report traps from user break controller as ksi_code = TRAP_TRACE

Revision 1.28 / (download) - annotate - [select for diffs], Sat Jul 22 03:06:56 2006 UTC (17 years, 8 months ago) by uwe
Branch: MAIN
Changes since 1.27: +10 -11 lines
Diff to previous 1.27 (colored)

Minor cosmetics.

Revision 1.27 / (download) - annotate - [select for diffs], Wed Jul 19 21:11:45 2006 UTC (17 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.26: +4 -2 lines
Diff to previous 1.26 (colored)

- Hold a reference to the process credentials in each struct lwp.
- Update the reference on syscall and user trap if p_cred has changed.
- Collect accounting flags in the LWP, and collate on LWP exit.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Mar 16 15:10:06 2006 UTC (18 years ago) by he
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, simonb-timecounters-base, peter-altq-base, peter-altq, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, chap-midi-nbase, chap-midi-base, chap-midi
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored)

Transform to new signature for uvm_fault() by dropping the third arg.
Discussed with drochner.

Revision 1.25 / (download) - annotate - [select for diffs], Tue Mar 7 07:21:50 2006 UTC (18 years ago) by thorpej
Branch: MAIN
CVS Tags: yamt-pdpolicy-base2
Branch point for: elad-kernelauth
Changes since 1.24: +2 -3 lines
Diff to previous 1.24 (colored)

Syscall debug tracing is handled by trace_enter() / trace_exit().  Change
trace_is_enabled() to return TRUE if SYSCALL_DEBUG is defined, and g/c
all of the SYSCALL_DEBUG handling from individual system call dispatch
routines.

Revision 1.24 / (download) - annotate - [select for diffs], Tue Mar 7 03:32:05 2006 UTC (18 years ago) by thorpej
Branch: MAIN
Changes since 1.23: +2 -6 lines
Diff to previous 1.23 (colored)

Clean up fallout proc_is_traced_p() change:
- proc_is_traced_p() -> trace_is_enabled(), to match trace_enter() and
  trace_exit().
- trace_is_enabled() becomes a real function.
- Remove unnecessary include files from various files that used to care
  about KTRACE and SYSTRACE, but do no more.

Revision 1.23 / (download) - annotate - [select for diffs], Sun Dec 11 12:19:00 2005 UTC (18 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

merge ktrace-lwp.

Revision 1.22 / (download) - annotate - [select for diffs], Sun Jul 10 22:27:20 2005 UTC (18 years, 8 months ago) by uwe
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Changes since 1.21: +3 -144 lines
Diff to previous 1.21 (colored)

Implement syscall_intern for sh3.

Revision 1.21 / (download) - annotate - [select for diffs], Fri Jul 1 18:01:45 2005 UTC (18 years, 9 months ago) by christos
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.20: +4 -3 lines
Diff to previous 1.20 (colored)

PR/29607: Christian Biere systrace doesn't handle interrupted syscalls properly
Instead of jumping to the default "bad" case, jump to the error handling
switch, so that we can deal with ERESTART/EJUSTRETURN properly.

Revision 1.20 / (download) - annotate - [select for diffs], Tue May 31 22:01:24 2005 UTC (18 years, 10 months ago) by uwe
Branch: MAIN
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored)

Constify as -Wcast-qual seyeth.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Mar 24 15:38:41 2004 UTC (20 years ago) by wiz
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

Move
	(c) TNF
line from 4-clause UCB to 3-clause UCB license; in other words,
remove UCB's ad clause from the license TNF grants.
There is no point in TNF demanding that UCB's ad clause be followed
when even UCB doesn't demand it any longer.

Ok'd by board@ and agc@.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Mar 14 01:08:48 2004 UTC (20 years ago) by cl
Branch: MAIN
Changes since 1.17: +3 -4 lines
Diff to previous 1.17 (colored)

add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
  * VP id
  * lock on VP data
  * LWP on VP
  * recently blocked LWP on VP
  * queue of LWPs woken which ran on this VP before sleep
  * faultaddr
  * LWP cache for upcalls
  * upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP

Revision 1.17 / (download) - annotate - [select for diffs], Mon Nov 24 03:11:16 2003 UTC (20 years, 4 months ago) by uwe
Branch: MAIN
Changes since 1.16: +18 -13 lines
Diff to previous 1.16 (colored)

general_exception() now receives TEA as a third argument.  For user
mode EXPEVT_ADDR_ERR_{LD,ST} traps pass it as ksi_addr, also use it to
decide if this is a SIGBUS (unaliged access) or SIGSEGV (kernel VA
access).

Report EXPEVT_TLB_PROT_LD as SEGV_ACCERR, not SEGV_MAPERR.

While here, consistently use standard uint32_t instead of u_int32_t.

Revision 1.16 / (download) - annotate - [select for diffs], Sun Nov 23 23:13:11 2003 UTC (20 years, 4 months ago) by uwe
Branch: MAIN
Changes since 1.15: +50 -11 lines
Diff to previous 1.15 (colored)

Implement siginfo for sh3.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Oct 31 03:28:13 2003 UTC (20 years, 5 months ago) by simonb
Branch: MAIN
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (colored)

Don't pass the (unused) return value args to the
trace_enter()/systrace_enter() functions.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Oct 31 02:59:29 2003 UTC (20 years, 5 months ago) by uwe
Branch: MAIN
Changes since 1.13: +3 -2 lines
Diff to previous 1.13 (colored)

When signaling SIGTRAP for debugger break adjust pc to point back to
the TRAPA instruction.  This makes gdb much happier.

Revision 1.13 / (download) - annotate - [select for diffs], Fri Oct 31 02:46:58 2003 UTC (20 years, 5 months ago) by uwe
Branch: MAIN
Changes since 1.12: +5 -2 lines
Diff to previous 1.12 (colored)

tlb_exception: pacify -Wuninitialized by adding default case.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Oct 22 21:10:15 2003 UTC (20 years, 5 months ago) by uwe
Branch: MAIN
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored)

Don't compare an integer to NULL.

Revision 1.11 / (download) - annotate - [select for diffs], Mon Oct 13 18:08:45 2003 UTC (20 years, 5 months ago) by cl
Branch: MAIN
Changes since 1.10: +10 -2 lines
Diff to previous 1.10 (colored)

add MD part of SA/pthread pagefault handling on sh3

Revision 1.10 / (download) - annotate - [select for diffs], Thu Aug 7 16:29:29 2003 UTC (20 years, 7 months ago) by agc
Branch: MAIN
Changes since 1.9: +36 -4 lines
Diff to previous 1.9 (colored)

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Jul 15 03:35:57 2003 UTC (20 years, 8 months ago) by lukem
Branch: MAIN
Changes since 1.8: +4 -1 lines
Diff to previous 1.8 (colored)

__KERNEL_RCSID()

Revision 1.8 / (download) - annotate - [select for diffs], Sun Jun 29 22:28:52 2003 UTC (20 years, 9 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.7: +1 -1 lines
Diff to previous 1.7 (colored)

Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.

Revision 1.7 / (download) - annotate - [select for diffs], Sat Jun 28 14:21:06 2003 UTC (20 years, 9 months ago) by darrenr
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V

Revision 1.6 / (download) - annotate - [select for diffs], Sun Mar 9 16:14:29 2003 UTC (21 years ago) by tsutsui
Branch: MAIN
Changes since 1.5: +6 -2 lines
Diff to previous 1.5 (colored)

In tlb_exception(), don't panic immediately on access at va == 0
from kernel mode if fault hander is set.

Revision 1.5 / (download) - annotate - [select for diffs], Sat Jan 18 06:33:43 2003 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.4: +110 -74 lines
Diff to previous 1.4 (colored)

Merge the nathanw_sa branch.

Revision 1.4 / (download) - annotate - [select for diffs], Sat Dec 21 16:23:59 2002 UTC (21 years, 3 months ago) by manu
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, fvdl_fs64_base
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

Pass the system call table to trace_enter() and ktrsys() so that it is
possible to use alternate system call tables. This is usefull for
displaying correctly the arguments in Mach binaries traces.

If NULL is given, then the regular systam call table for the process is used.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Nov 15 20:06:03 2002 UTC (21 years, 4 months ago) by manu
Branch: MAIN
CVS Tags: gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

Add a realcode argument to trace_enter and ktrsyscall. realcode is the
original system call number, which can be negative for a Mach trap.
We cannot just replace code by realcode, because ktrsyscall uses it as
an index in the system call table, thus crashing the kernel when the
value is negative.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jun 17 16:33:17 2002 UTC (21 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gehenna-devsw-base
Branch point for: nathanw_sa, kqueue
Changes since 1.1: +12 -15 lines
Diff to previous 1.1 (colored)

MD systrace gluons.

Revision 1.1 / (download) - annotate - [select for diffs], Thu May 9 12:24:20 2002 UTC (21 years, 10 months ago) by uch
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6
Branch point for: gehenna-devsw

rework general exception, and TLB exception handling for new pmap.
all exception staffs are moved to exception.[ch]

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>