The NetBSD Project

CVS log for src/sys/arch/usermode/usermode/trap.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.74 / (download) - annotate - [select for diffs], Sat May 28 21:14:56 2022 UTC (22 months, 2 weeks ago) by andvar
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, 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.73: +5 -5 lines
Diff to previous 1.73 (colored)

fix various typos in comments, mainly origional->original,
extened->extended, incomming->incoming.

Revision 1.73 / (download) - annotate - [select for diffs], Sat May 28 10:36:22 2022 UTC (22 months, 2 weeks ago) by andvar
Branch: MAIN
Changes since 1.72: +3 -3 lines
Diff to previous 1.72 (colored)

fix various typos, mainly in comments.

Revision 1.68.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:56 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.68.2.1: +7 -13 lines
Diff to previous 1.68.2.1 (colored) to branchpoint 1.68 (colored) next main 1.69 (colored)

Merge changes from current as of 20200406

Revision 1.72 / (download) - annotate - [select for diffs], Fri Nov 29 18:27:33 2019 UTC (4 years, 4 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.71: +7 -7 lines
Diff to previous 1.71 (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.71 / (download) - annotate - [select for diffs], Thu Nov 21 19:24:02 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.70: +2 -8 lines
Diff to previous 1.70 (colored)

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

Revision 1.68.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:51 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.68: +32 -8 lines
Diff to previous 1.68 (colored)

Sync with HEAD

Revision 1.66.38.3 / (download) - annotate - [select for diffs], Thu Sep 6 06:55:43 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.66.38.2: +32 -8 lines
Diff to previous 1.66.38.2 (colored) to branchpoint 1.66 (colored) next main 1.67 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.70 / (download) - annotate - [select for diffs], Wed Aug 1 09:44:31 2018 UTC (5 years, 8 months ago) by reinoud
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-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.69: +31 -7 lines
Diff to previous 1.69 (colored)

Oops, forgot a debug printf

Revision 1.69 / (download) - annotate - [select for diffs], Sat Jul 28 17:17:38 2018 UTC (5 years, 8 months ago) by reinoud
Branch: MAIN
Changes since 1.68: +3 -3 lines
Diff to previous 1.68 (colored)

Fix typo

Revision 1.66.38.2 / (download) - annotate - [select for diffs], Mon Jun 25 07:25:46 2018 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.66.38.1: +10 -4 lines
Diff to previous 1.66.38.1 (colored) to branchpoint 1.66 (colored)

Sync with HEAD

Revision 1.68 / (download) - annotate - [select for diffs], Mon Jun 11 19:23:21 2018 UTC (5 years, 10 months ago) by reinoud
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0728, pgoyette-compat-0625
Branch point for: phil-wifi
Changes since 1.67: +10 -4 lines
Diff to previous 1.67 (colored)

Prevent nested SIGIOs ruining the system stack

Revision 1.66.38.1 / (download) - annotate - [select for diffs], Mon May 21 04:36:02 2018 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.66: +21 -13 lines
Diff to previous 1.66 (colored)

Sync with HEAD

Revision 1.67 / (download) - annotate - [select for diffs], Fri May 18 20:24:16 2018 UTC (5 years, 10 months ago) by reinoud
Branch: MAIN
CVS Tags: pgoyette-compat-0521
Changes since 1.66: +21 -13 lines
Diff to previous 1.66 (colored)

Replace the dynamically allocated signal stack to a static claimed one and add
diagnostic messages that can be enabled.

Revision 1.41.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:28 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.41.2.1: +9 -11 lines
Diff to previous 1.41.2.1 (colored) to branchpoint 1.41 (colored) next main 1.42 (colored)

sync with head

Revision 1.63.2.3 / (download) - annotate - [select for diffs], Wed Aug 8 15:32:25 2012 UTC (11 years, 8 months ago) by martin
Branch: netbsd-6
CVS Tags: 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, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.63.2.2: +9 -11 lines
Diff to previous 1.63.2.2 (colored) to branchpoint 1.63 (colored) next main 1.64 (colored)

Pull up following revision(s) (requested by reinoud in ticket #463):
	sys/arch/usermode/usermode/trap.c: revision 1.66
Fix IO lockups in NetBSD/usermode.
1) Don't block IO signals since the return path is not garanteed to enable the
signal again.
2) Since signals can get dropped, do a 2nd pass over the routines.

Revision 1.66 / (download) - annotate - [select for diffs], Sat Aug 4 14:53:32 2012 UTC (11 years, 8 months ago) by reinoud
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base-20171202, tls-maxphys-base, tls-maxphys, 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, 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, pgoyette-compat-base, 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, 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, nick-nhusb-base, nick-nhusb, 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, 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, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, khorben-n900, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Branch point for: pgoyette-compat
Changes since 1.65: +9 -11 lines
Diff to previous 1.65 (colored)

Fix IO lockups in NetBSD/usermode.

1) Don't block IO signals since the return path is not garanteed to enable the
signal again.
2) Since signals can get dropped, do a 2nd pass over the routines.

Revision 1.41.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:07:00 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.41: +536 -187 lines
Diff to previous 1.41 (colored)

sync with head

Revision 1.63.2.2 / (download) - annotate - [select for diffs], Thu Mar 8 17:21:20 2012 UTC (12 years, 1 month ago) by riz
Branch: netbsd-6
Changes since 1.63.2.1: +8 -3 lines
Diff to previous 1.63.2.1 (colored) to branchpoint 1.63 (colored)

Pull up following revision(s) (requested by reinoud in ticket #91):
	sys/arch/usermode/usermode/trap.c: revision 1.65
Use the signal's signo instead of just returning SIGSEGV and add a comment

Revision 1.63.2.1 / (download) - annotate - [select for diffs], Wed Mar 7 23:44:23 2012 UTC (12 years, 1 month ago) by riz
Branch: netbsd-6
Changes since 1.63: +30 -8 lines
Diff to previous 1.63 (colored)

Pull up following revision(s) (requested by reinoud in ticket #89):
	sys/arch/usermode/usermode/thunk.c: revision 1.81
	sys/arch/usermode/target/i386/cpu_i386.c: revision 1.4
	sys/arch/usermode/include/thunk.h: revision 1.61
	sys/arch/usermode/include/intr.h: revision 1.9
	sys/arch/usermode/dev/cpu.c: revision 1.70
	sys/arch/usermode/dev/ttycons.c: revision 1.19
	sys/arch/usermode/usermode/trap.c: revision 1.64
Implement signal forwarding to userland for usermode kernels. Especially
SIGFPE is important since the urkel shouldn't stop when a userland program
devides by zero!

Revision 1.42.2.4 / (download) - annotate - [select for diffs], Tue Mar 6 18:26:39 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.42.2.3: +36 -9 lines
Diff to previous 1.42.2.3 (colored) to branchpoint 1.42 (colored) next main 1.43 (colored)

sync to -current

Revision 1.42.2.3 / (download) - annotate - [select for diffs], Tue Mar 6 09:56:11 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.42.2.2: +9 -36 lines
Diff to previous 1.42.2.2 (colored) to branchpoint 1.42 (colored)

sync to -current

Revision 1.42.2.2 / (download) - annotate - [select for diffs], Sun Mar 4 00:46:14 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.42.2.1: +36 -9 lines
Diff to previous 1.42.2.1 (colored) to branchpoint 1.42 (colored)

sync to latest -current.

Revision 1.65 / (download) - annotate - [select for diffs], Sat Mar 3 21:29:02 2012 UTC (12 years, 1 month ago) by reinoud
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base4, jmcneill-usbmp-base10
Changes since 1.64: +8 -3 lines
Diff to previous 1.64 (colored)

Use the signal's signo instead of just returning SIGSEGV and add a comment

Revision 1.64 / (download) - annotate - [select for diffs], Sat Mar 3 21:15:16 2012 UTC (12 years, 1 month ago) by reinoud
Branch: MAIN
Changes since 1.63: +30 -8 lines
Diff to previous 1.63 (colored)

Implement signal forwarding to userland for usermode kernels. Especially
SIGFPE is important since the urkel shouldn't stop when a userland program
devides by zero!

Revision 1.42.2.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:33:26 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.42: +476 -184 lines
Diff to previous 1.42 (colored)

merge to -current.

Revision 1.63 / (download) - annotate - [select for diffs], Wed Feb 15 15:20:53 2012 UTC (12 years, 2 months ago) by reinoud
Branch: MAIN
CVS Tags: netbsd-6-base, jmcneill-usbmp-base5, jmcneill-usbmp-base3, jmcneill-usbmp-base2
Branch point for: netbsd-6
Changes since 1.62: +7 -2 lines
Diff to previous 1.62 (colored)

Prevent recursive IO signals. This prevents crashes when pieces of text are
pasted in say an Xterm. Each char might create a SIGIO running out of
stackspace very quickly!

Revision 1.62 / (download) - annotate - [select for diffs], Sun Jan 22 17:51:39 2012 UTC (12 years, 2 months ago) by reinoud
Branch: MAIN
Changes since 1.61: +3 -3 lines
Diff to previous 1.61 (colored)

Fix compilation issue for target amd64.

Revision 1.61 / (download) - annotate - [select for diffs], Sat Jan 21 22:09:57 2012 UTC (12 years, 2 months ago) by reinoud
Branch: MAIN
Changes since 1.60: +253 -145 lines
Diff to previous 1.60 (colored)

Complete rewrite of the signal and spl framework for NetBSD/usermode

Signals are now moved from the sigaltstack ASAP and stacked on a replacement
stack for each processes.

Preemption now works though could be enhanced a bit more

Revision 1.60 / (download) - annotate - [select for diffs], Wed Jan 18 12:39:45 2012 UTC (12 years, 2 months ago) by reinoud
Branch: MAIN
Changes since 1.59: +82 -52 lines
Diff to previous 1.59 (colored)

Another step towards unification of the signal handers: separate the printing
of details usefull for debugging / porting from the main code.

Revision 1.59 / (download) - annotate - [select for diffs], Tue Jan 17 20:50:38 2012 UTC (12 years, 2 months ago) by reinoud
Branch: MAIN
Changes since 1.58: +3 -3 lines
Diff to previous 1.58 (colored)

Do init the astpending variable.

Revision 1.58 / (download) - annotate - [select for diffs], Tue Jan 17 19:46:55 2012 UTC (12 years, 2 months ago) by reinoud
Branch: MAIN
Changes since 1.57: +52 -54 lines
Diff to previous 1.57 (colored)

Clean up userret/ast handling. Now called ONLY when its 100% clear that it is
returning to userland.

Revision 1.57 / (download) - annotate - [select for diffs], Sat Jan 14 21:45:28 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.56: +54 -6 lines
Diff to previous 1.56 (colored)

Reimplement userret() to also include AST for preemption.

Note it would be nice if we could do the check "are we going to userland?" in
a less intrusive way.

Revision 1.56 / (download) - annotate - [select for diffs], Sat Jan 14 17:42:52 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.55: +186 -67 lines
Diff to previous 1.55 (colored)

Revamp the NetBSD/usermode pagefault and illegal instruction handing. It now
can handle recursive entry and is a lot more memory tight compared to the old
implementation. Performance wise:

* slightly less number of syscalls/sec possible though could be optimized
* a lot faster context creation / destruction making overall operation faster.

Revision 1.55 / (download) - annotate - [select for diffs], Wed Jan 11 12:40:26 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.54: +26 -47 lines
Diff to previous 1.54 (colored)

Cleanup trap.c and add a stop_all_signal_handlers(void) i: bluntly stopping
all known usages of signal handlers, to be used in shutdown.

Revision 1.54 / (download) - annotate - [select for diffs], Sat Jan 7 19:45:14 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.53: +7 -4 lines
Diff to previous 1.53 (colored)

Cleanup trap debug messages

Revision 1.53 / (download) - annotate - [select for diffs], Fri Jan 6 20:39:42 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.52: +19 -19 lines
Diff to previous 1.52 (colored)

printf()->thunk_printf() since its for debugging and should be printed outside
the kernel's printing system.

Revision 1.52 / (download) - annotate - [select for diffs], Tue Jan 3 21:28:50 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.51: +3 -3 lines
Diff to previous 1.51 (colored)

Rework NetBSD/usermode pmap fixing some oddities that were left over from
earlier times when we were forced to run PIE executables and were forced to
use a KVM above the kernel.

Revision 1.51 / (download) - annotate - [select for diffs], Tue Jan 3 12:05:00 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.50: +17 -17 lines
Diff to previous 1.50 (colored)

Rename the debug printf's to use a thunk_ prefix to avoid confusion.

Revision 1.50 / (download) - annotate - [select for diffs], Tue Jan 3 10:53:46 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.49: +17 -13 lines
Diff to previous 1.49 (colored)

Fix logic that checks if its the kernel or a userland process that causes the
trap. Signal sending still needs to be addressed.

Revision 1.49 / (download) - annotate - [select for diffs], Mon Jan 2 22:02:51 2012 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.48: +4 -2 lines
Diff to previous 1.48 (colored)

Remove tests that are dubious and should be (re)moved anyway.

Revision 1.48 / (download) - annotate - [select for diffs], Mon Dec 26 22:04:35 2011 UTC (12 years, 3 months ago) by jmcneill
Branch: MAIN
Changes since 1.47: +11 -9 lines
Diff to previous 1.47 (colored)

make sure the sigio signal handler runs on the alternate signal stack,
fixes random SIGILLs seen recently

Revision 1.47 / (download) - annotate - [select for diffs], Mon Dec 26 12:29:39 2011 UTC (12 years, 3 months ago) by jmcneill
Branch: MAIN
Changes since 1.46: +5 -2 lines
Diff to previous 1.46 (colored)

add sigio_intr_establish so more than one driver can register a SIGIO handler

Revision 1.46 / (download) - annotate - [select for diffs], Sun Dec 25 21:10:00 2011 UTC (12 years, 3 months ago) by reinoud
Branch: MAIN
Changes since 1.45: +3 -3 lines
Diff to previous 1.45 (colored)

Fix VM_MAX_ADDRESS that is NOT the max address BUT the max userland address
Fix VM_MAX_KERNEL_ADDRESS that is the absolute max address accesable by the
kernel...

Revision 1.45 / (download) - annotate - [select for diffs], Wed Dec 14 18:51:39 2011 UTC (12 years, 4 months ago) by reinoud
Branch: MAIN
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (colored)

Remove the need for a siginfo structure in illegal instruction handling.

Revision 1.44 / (download) - annotate - [select for diffs], Wed Dec 14 04:12:22 2011 UTC (12 years, 4 months ago) by jmcneill
Branch: MAIN
Changes since 1.43: +7 -3 lines
Diff to previous 1.43 (colored)

need to sigaltstack for each lwp

Revision 1.43 / (download) - annotate - [select for diffs], Tue Dec 13 17:54:01 2011 UTC (12 years, 4 months ago) by reinoud
Branch: MAIN
Changes since 1.42: +4 -17 lines
Diff to previous 1.42 (colored)

Remove old debugging cruft

Revision 1.42 / (download) - annotate - [select for diffs], Sun Nov 27 21:38:17 2011 UTC (12 years, 4 months ago) by reinoud
Branch: MAIN
CVS Tags: jmcneill-usbmp-pre-base2, jmcneill-usbmp-base
Branch point for: jmcneill-usbmp
Changes since 1.41: +192 -162 lines
Diff to previous 1.41 (colored)

Big patch that changes the signal stack usage of urkel significantly.

Formerly, all signals came on the signal stack and the two important ones were
then forwared to either the system call or the pagefault handler. This worked
fine but the signal stack remains that, a stack. When we go multi-process this
stack gets corrupted and out-of-order with all kind of nastyness since a
userland process switch can occure when a system call is called or when a
process gets a page fault.

The new scheme only uses the signal stack as a jumpboard. It swaps states and
then returns from the signal, clearing the stack but instead of returning to
the code it now jumpt to the handler and that handler then returns to the code
when its finished.

Revision 1.41 / (download) - annotate - [select for diffs], Fri Sep 16 16:29:11 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache
Changes since 1.40: +19 -19 lines
Diff to previous 1.40 (colored)

Move the debug printf's to the new dprintf_debug() and disable the SIGALRM
blocking since we queue them now.

Revision 1.40 / (download) - annotate - [select for diffs], Thu Sep 15 12:25:25 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.39: +4 -4 lines
Diff to previous 1.39 (colored)

Move to dprintf_debug()

Revision 1.39 / (download) - annotate - [select for diffs], Sat Sep 10 10:29:39 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored)

The illegal instruction handler can exist on the usermodes stack and the
stackframe will disappear when its switched back.

Revision 1.38 / (download) - annotate - [select for diffs], Fri Sep 9 12:21:57 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.37: +5 -5 lines
Diff to previous 1.37 (colored)

Be more verbose in trap.c on what address should be passed to userland. Also
detail about what function goes into recurse

Revision 1.37 / (download) - annotate - [select for diffs], Thu Sep 8 19:39:00 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.36: +8 -6 lines
Diff to previous 1.36 (colored)

Implement a working(!) syscall! well, it can call a number of syscalls without
dying ;)

Revision 1.36 / (download) - annotate - [select for diffs], Thu Sep 8 15:13:27 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.35: +5 -4 lines
Diff to previous 1.35 (colored)

Use the machdep.h and now use the md_check_syscall_opcode()

Revision 1.35 / (download) - annotate - [select for diffs], Thu Sep 8 14:49:42 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.34: +12 -20 lines
Diff to previous 1.34 (colored)

Create syscall() prototype and let illegal instruction handler switch to that
switchframe

Revision 1.34 / (download) - annotate - [select for diffs], Thu Sep 8 11:56:48 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.33: +4 -6 lines
Diff to previous 1.33 (colored)

Remove struct trapframe

Revision 1.33 / (download) - annotate - [select for diffs], Wed Sep 7 14:03:49 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.32: +21 -5 lines
Diff to previous 1.32 (colored)

Add skeleton for possible system call implementation

Revision 1.32 / (download) - annotate - [select for diffs], Wed Sep 7 10:19:40 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.31: +2 -3 lines
Diff to previous 1.31 (colored)

Better not copy this trapframe

Revision 1.31 / (download) - annotate - [select for diffs], Wed Sep 7 10:00:19 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.30: +11 -9 lines
Diff to previous 1.30 (colored)

Print the byte codes that failed

State actions to implement.

Revision 1.30 / (download) - annotate - [select for diffs], Tue Sep 6 09:55:04 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.29: +2 -9 lines
Diff to previous 1.29 (colored)

cpu_lwp_inkernel approach won't work, back to the drawing board

Revision 1.29 / (download) - annotate - [select for diffs], Tue Sep 6 09:38:27 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.28: +10 -10 lines
Diff to previous 1.28 (colored)

Move sanity check before pmap since pmap and uvm can't be looking outside this
box

Revision 1.28 / (download) - annotate - [select for diffs], Mon Sep 5 21:38:05 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.27: +8 -2 lines
Diff to previous 1.27 (colored)

adjust cpu_lwp_inkernel in mem access and illegal insn handlers

Revision 1.27 / (download) - annotate - [select for diffs], Mon Sep 5 18:50:34 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.26: +7 -2 lines
Diff to previous 1.26 (colored)

Check for NULL pcb!

Revision 1.26 / (download) - annotate - [select for diffs], Mon Sep 5 12:04:40 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.25: +4 -4 lines
Diff to previous 1.25 (colored)

Use thunk's version of sigemptyset()

Revision 1.25 / (download) - annotate - [select for diffs], Mon Sep 5 11:56:52 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.24: +10 -10 lines
Diff to previous 1.24 (colored)

Initialise the alternative signal stack before referring to it

Revision 1.24 / (download) - annotate - [select for diffs], Mon Sep 5 11:10:36 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.23: +8 -5 lines
Diff to previous 1.23 (colored)

Block SIGALRM on memory access and illegal instruction signal

Revision 1.23 / (download) - annotate - [select for diffs], Sun Sep 4 21:01:39 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.22: +4 -4 lines
Diff to previous 1.22 (colored)

pcb->errno to pcb->pcb_errno

Revision 1.22 / (download) - annotate - [select for diffs], Sun Sep 4 20:54:52 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.21: +7 -5 lines
Diff to previous 1.21 (colored)

Try to preserve errno over traps and on context switches

Revision 1.21 / (download) - annotate - [select for diffs], Sun Sep 4 12:17:59 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.20: +7 -3 lines
Diff to previous 1.20 (colored)

mem_access_handler: panic if we receive sigsegv or sigbus with SI_NOINFO,
and when "peeing outside the box" print the offending va

Revision 1.20 / (download) - annotate - [select for diffs], Sat Sep 3 15:33:56 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.19: +83 -19 lines
Diff to previous 1.19 (colored)

Add SIGILL handler, doing nothing than printing out details.
Move the address check to be done later so pmap and uvm have their go first.

Also some minor cosmetic fixes

Revision 1.19 / (download) - annotate - [select for diffs], Sat Sep 3 15:00:28 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.18: +8 -6 lines
Diff to previous 1.18 (colored)

Get this compiling (but not quite linking yet) on Linux

Revision 1.18 / (download) - annotate - [select for diffs], Fri Sep 2 14:54:41 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.17: +3 -2 lines
Diff to previous 1.17 (colored)

Add note on how to posibly create a signal and send it to a userland program

Revision 1.17 / (download) - annotate - [select for diffs], Fri Sep 2 10:11:43 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.16: +4 -4 lines
Diff to previous 1.16 (colored)

Disable the debug_fh code for now

Revision 1.16 / (download) - annotate - [select for diffs], Thu Sep 1 18:20:20 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.15: +11 -4 lines
Diff to previous 1.15 (colored)

Use a alternative dedicated signal stack for the sigsegv errors; the userland
stack like that of ld.elf_so can be too short to allow for such deep
stacktraces.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Sep 1 15:03:41 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.14: +11 -8 lines
Diff to previous 1.14 (colored)

Enhance debugging capabilities of NetBSD/usermode by allowing `trap.c' to
write a system image of the memory it traps. Its extremely dirty but at least
you can look at the data and code thats giving the trouble. Its memory or
state is NOT saved in the coredump of the NetBSD/usermode program.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Aug 31 12:42:41 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.13: +41 -44 lines
Diff to previous 1.13 (colored)

Completely redo R/M emulation and fault handling taking UVM as authorative
answer and not relying on UVM's pmap directions since UVM has its own schemes
for COW etc.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Aug 29 14:59:09 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.12: +42 -17 lines
Diff to previous 1.12 (colored)

Implement read and modify detection code

Revision 1.12 / (download) - annotate - [select for diffs], Mon Aug 29 13:15:54 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.11: +6 -3 lines
Diff to previous 1.11 (colored)

mem_access_handler: print originating lwp ptr + pid + lid

Revision 1.11 / (download) - annotate - [select for diffs], Mon Aug 29 12:42:19 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.10: +16 -7 lines
Diff to previous 1.10 (colored)

Hack trap for now to upgrade protection.. this really needs fixing soon

Revision 1.10 / (download) - annotate - [select for diffs], Sun Aug 28 19:38:20 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.9: +5 -5 lines
Diff to previous 1.9 (colored)

Don't use the content of trapframe yet until we know how to use fill it

Revision 1.9 / (download) - annotate - [select for diffs], Sun Aug 28 00:40:10 2011 UTC (12 years, 7 months ago) by jmcneill
Branch: MAIN
Changes since 1.8: +2 -13 lines
Diff to previous 1.8 (colored)

cpu_lwp_trampoline isn't supposed to return, so drop the atexit handler
and drop a panic() at the end of the function

Revision 1.8 / (download) - annotate - [select for diffs], Sat Aug 27 21:19:17 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.7: +15 -2 lines
Diff to previous 1.7 (colored)

Catch the atexit() so we can bypass the libc feature that if one ucontext()
ends that it then call exit()

Revision 1.7 / (download) - annotate - [select for diffs], Sat Aug 27 18:01:37 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.6: +11 -4 lines
Diff to previous 1.6 (colored)

Implement trap recursion detection and fix small one-off error in range
checks for kernel space

Revision 1.6 / (download) - annotate - [select for diffs], Thu Aug 25 19:06:03 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.5: +5 -5 lines
Diff to previous 1.5 (colored)

A trap is now allways asked for RW access... that needs to be fixed but thats
later care.

Revision 1.5 / (download) - annotate - [select for diffs], Thu Aug 25 15:02:54 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.4: +5 -2 lines
Diff to previous 1.4 (colored)

Check if we pee'd outside the box!

Revision 1.4 / (download) - annotate - [select for diffs], Thu Aug 25 14:38:56 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

Update and claim copyright

Revision 1.3 / (download) - annotate - [select for diffs], Thu Aug 25 14:37:57 2011 UTC (12 years, 7 months ago) by reinoud
Branch: MAIN
Changes since 1.2: +115 -2 lines
Diff to previous 1.2 (colored)

Implement first generation of memory access handler for the kernel.

Revision 1.1.18.1 / (download) - annotate - [select for diffs], Thu Mar 11 15:03:05 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.1: +2 -8 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

sync with head

Revision 1.2 / (download) - annotate - [select for diffs], Wed Oct 21 16:07:00 2009 UTC (14 years, 5 months ago) by snj
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base7, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, matt-premerge-20091211, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jym-xensuspend-base, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.1: +2 -8 lines
Diff to previous 1.1 (colored)

Drop 3rd and 4th clauses.  OK jmcneill (copyright holder).

Revision 1.1.8.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:05:13 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.1.8.1: +46 -0 lines
Diff to previous 1.1.8.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Sync with HEAD.

Revision 1.1.6.2 / (download) - annotate - [select for diffs], Mon Jan 21 09:39:58 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1.6.1: +46 -0 lines
Diff to previous 1.1.6.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head

Revision 1.1.4.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:49:31 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.1.4.1: +46 -0 lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with HEAD

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Wed Jan 2 21:51:07 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.1.2.1: +46 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Sync with HEAD

Revision 1.1.8.1, Sat Dec 29 14:38:37 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.1: +0 -46 lines
FILE REMOVED

file trap.c was added on branch mjf-devfs on 2008-02-18 21:05:13 +0000

Revision 1.1.6.1, Sat Dec 29 14:38:37 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1: +0 -46 lines
FILE REMOVED

file trap.c was added on branch yamt-lazymbuf on 2008-01-21 09:39:58 +0000

Revision 1.1.4.1, Sat Dec 29 14:38:37 2007 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.1: +0 -46 lines
FILE REMOVED

file trap.c was added on branch matt-armv6 on 2008-01-09 01:49:31 +0000

Revision 1.1.2.1, Sat Dec 29 14:38:37 2007 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.1: +0 -46 lines
FILE REMOVED

file trap.c was added on branch bouyer-xeni386 on 2008-01-02 21:51:07 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Sat Dec 29 14:38:37 2007 UTC (16 years, 3 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, 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, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, nick-net80211-sync-base, nick-net80211-sync, 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, mjf-devfs2, mjf-devfs-base, 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, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jymxensuspend-base, jym-xensuspend, hpcarm-cleanup-nbase, hpcarm-cleanup-base, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1, ad-audiomp2-base, ad-audiomp2
Branch point for: yamt-nfs-mp, yamt-lazymbuf, mjf-devfs, matt-armv6, bouyer-xeni386

Import work-in-progress NetBSD/usermode port.

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>