Commit Graph

234298 Commits

Author SHA1 Message Date
christos bd64c25012 merge conflicts 2015-03-31 21:39:42 +00:00
christos f907ecca40 Numbers seem to be off here:
Thursday Feb. 12, 2015 guy@alum.mit.edu/mcr@sandelman.ca
  Summary for 1.8.0 libpcap release
        Support for filtering Geneve encapsulated packets.

Wednesday Nov. 12, 2014 guy@alum.mit.edu/mcr@sandelman.ca
  Summary for 1.7.0 libpcap release
        Fix handling of zones for BPF on Solaris
        new DLT for ZWAVE
        clarifications for read timeouts.
        added bpf_filter1() with extensions
        some fixes to compilation without stdint.h
        EBUSY can now be returned by SNFv3 code.
2015-03-31 21:25:19 +00:00
riastradh d14ef2c7cc More details on what may sleep and what won't sleep when. 2015-03-31 21:08:06 +00:00
jmcneill 3c1e6be6f8 when resetting RTL8211F, make sure to disable manual MDI mode 2015-03-31 21:01:02 +00:00
riastradh c380b27c05 Nesting shared in lazy is OK. Note nesting never blocks. 2015-03-31 20:50:29 +00:00
christos 6bb2a64eb0 CID 1292550: Missing call to va_end(). 2015-03-31 18:01:09 +00:00
matt 019155557a Add RISCV bits 2015-03-31 17:58:30 +00:00
matt 9e7510ab24 Update RISCV tls assembly tests 2015-03-31 17:57:40 +00:00
riz afea39b2f2 Spell "Independent" correctly in cargo-culted comments. 2015-03-31 17:37:47 +00:00
matt 163496bc0e Deal with NetBSD using dwarf EH 2015-03-31 17:18:35 +00:00
skrll ae6e5eb102 More instructions. Lots left to do. 2015-03-31 16:15:07 +00:00
riastradh 68bdcb5496 Prohibit cross-mount transactions. 2015-03-31 15:49:45 +00:00
riastradh 590c31eca4 Revamp fstrans(9) man page.
- Fix example: fstrans_start never fails and returns void.
- Add fstrans_mount/fstrans_unmount.
- Explain intent, not just mechanism.
- Add internal cross-references and redundant information from
  different callers' perspectives.
2015-03-31 15:47:50 +00:00
matt d67e7afb11 Use lla instead doing the pcrel relocs ourselves. 2015-03-31 11:59:41 +00:00
matt ea4911da8a Accept the one instruction penalty and just use PTR_LA instead of doing
the relocs ourselves.
2015-03-31 11:53:13 +00:00
matt 16946e2051 Fix botch on putting user stack pointer into trapframe. 2015-03-31 11:48:10 +00:00
riastradh 24895d95c1 Amplify that even if we fixed it now the tentacles are still stuck. 2015-03-31 11:43:05 +00:00
plunky da04c17630 fix typo: sdp_seq_seq->sdp_set_seq 2015-03-31 09:26:45 +00:00
plunky ab4f70e666 fix typo: sparce->sparse 2015-03-31 09:25:41 +00:00
ozaki-r 71b1eb47ca Remove unnecessary opt_ipsec.h inclusions 2015-03-31 08:47:01 +00:00
ozaki-r 7f0bd664ae Add missing ifdef IPSEC 2015-03-31 08:44:43 +00:00
martin 7d1d1b71a1 Add resize_root 2015-03-31 07:57:57 +00:00
matt 1a68694ee8 Optimize the exception handle a little bit more. 2015-03-31 06:47:47 +00:00
matt b12144c585 We have _REG_SP so use it. 2015-03-31 01:36:27 +00:00
matt 5539e041c8 Since there is only "scratch" system register for use on exception, come
up with a new scheme for its use.  Use PTR_LA, INT_S/INT_L, etc.  Disable
interrupts when returning from exceptions.  Use L_CPU(tp) to get the curcpu
pointer.

When the cpu gets an exception from kernel mode, the sscratch register will be
0 and curlwp will be in the "tp" register.  When the cpu gets an exception from
user mode, the sscratch register will be a pointer to the current lwp.

When an exception happends, the sp is atomically swapped with the sscratch
register.

	If the sp is zero, the exception was a kernel exception and the
	kernel exception path is taken: sp and sscratch are swapped again
	so sscratch is zero again and then a trapframe is allocated from
	the kernel stack.  The t1 register is saved and then the pre-trapframe
	sp is written to the trapframe.

	If sp was non-zero, the exception was from user mode.  The tp register
	is temporarily saved in L_MD_TP(sp) and sp is moved tp.  tp now
	contains a pointer to the current lwp.  A pointer to the user
	trapframe is loaded from L_MD_UTF(tp).  Then t1 is saved in the
	trapframe so it can be used.  The old sp is fetched from sscratch
	while sscratch is zeroed (indicated kernel mode).  The old sp is
	saved in the trapframe.

	Upon exiting the exception, if the exception is returning to user
	mode, the contents of tp is written to sscratch.
2015-03-31 01:30:50 +00:00
matt 234a34a18b Get curcpu() from L_CPU(tp) 2015-03-31 01:15:26 +00:00
matt 8b1d38bd25 Use sfence.vm instruction and change ptbr cse to sptbr csr 2015-03-31 01:14:57 +00:00
matt c81fbb027b No more fatc (replaced by sfence.vm instruction). 2015-03-31 01:14:02 +00:00
matt 71a690b876 Add L_MD_TP 2015-03-31 01:12:47 +00:00
matt 9a7b236e49 Add a md_tp member to mdlwp so that the exception handler can temporarily
store the user's thread pointer before saving it in the trapframe.
2015-03-31 01:12:29 +00:00
matt e12d196579 Define curcpu() as lwp_getcpu(curlwp) since curlwp is always in the "tp"
(thread pointer) register.
2015-03-31 01:11:41 +00:00
matt 3c142fea53 Provide struct cpu_info *lwp_getcpu(struct lwp *) inline for <machine/cpu.h>
<machine/cpu.h> is include by <sys/lwp.h> before struct lwp is defined so
it can't access members inside it.  This provides an accessor which is defined
after struct lwp is defined.
2015-03-31 01:10:02 +00:00
matt fb7a20f006 Use -mcmodel=medany to get PICish code. 2015-03-31 01:05:52 +00:00
riastradh e9f7453834 Write an essay explaining why ffs_write is one huge WAPBL transaction. 2015-03-31 00:22:50 +00:00
riastradh c6a78cfe85 Explain large write transaction bug in WAPBL. 2015-03-31 00:03:58 +00:00
dholland fd9a522f27 An error was detected in a man page. 2015-03-30 16:57:40 +00:00
riastradh 57ae0bf4df Plural agreement. 2015-03-30 14:09:04 +00:00
riastradh 5586a44152 Fix tense. 2015-03-30 14:00:52 +00:00
riastradh 79047ecb0c Fix typo in example code. 2015-03-30 13:58:28 +00:00
riastradh 185edd37f7 Fix example code and emphasize it doesn't handle holes. 2015-03-30 13:58:03 +00:00
riastradh bd88b93279 Add SIGNALS section to wizd(8). 2015-03-30 13:51:42 +00:00
riastradh 078e20efa6 Use Dv NULL, per SIGWIZD. 2015-03-30 13:40:01 +00:00
riastradh 6bcaafafa3 Be a little more consistent about nulls. 2015-03-30 13:35:50 +00:00
riastradh a6a845b4eb Use Fn to mark up a function call. 2015-03-30 13:26:55 +00:00
riastradh 808424fb3e Nested I/O transfers are not `asynchronous'. 2015-03-30 13:22:12 +00:00
riastradh b2d5d8d78a Consistently use `.Vt "struct buf"' to name the type. 2015-03-30 13:18:08 +00:00
riastradh e90024bf9f Note reusing bufs requires clearing BO_DONE. 2015-03-30 13:17:14 +00:00
riastradh ba2aeff9b2 Correct documentation of asynchronous/callback buffer I/O.
Asynchronous is not the same as callback: asynchronous means there is
no completion notification, and can be used only with buffer-cached
buffers.
2015-03-30 13:10:04 +00:00
skrll 99e82b4801 Whitespace 2015-03-30 11:55:00 +00:00
skrll 94a1c6fae2 Replace an if () panic with KASSERT 2015-03-30 11:54:43 +00:00