The NetBSD Project

CVS log for src/sys/arch/amd64/amd64/spl.S

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.49 / (download) - annotate - [select for diffs], Wed Mar 1 08:38:50 2023 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.48: +40 -4 lines
Diff to previous 1.48 (colored) to selected 1.43.4.2 (colored)

x86: Expand on comments on ordering around stores to ci_curlwp.

No functional change intended.

PR kern/57240

Revision 1.48 / (download) - annotate - [select for diffs], Wed Sep 7 00:40:18 2022 UTC (19 months, 1 week ago) by knakahara
Branch: MAIN
CVS Tags: 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
Changes since 1.47: +31 -31 lines
Diff to previous 1.47 (colored) to selected 1.43.4.2 (colored)

NetBSD/x86: Raise the number of interrupt sources per CPU from 32 to 56.

There has been no objection for three years.
    https://mail-index.netbsd.org/port-amd64/2019/09/22/msg003012.html
Implemented by nonaka@n.o, updated by me.

Revision 1.47 / (download) - annotate - [select for diffs], Sat Aug 29 07:16:03 2020 UTC (3 years, 7 months ago) by maxv
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, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.46: +4 -7 lines
Diff to previous 1.46 (colored) to selected 1.43.4.2 (colored)

'doreti_checkast' isn't global anymore, localify.

Revision 1.46 / (download) - annotate - [select for diffs], Sun May 17 12:11:11 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.45: +7 -2 lines
Diff to previous 1.45 (colored) to selected 1.43.4.2 (colored)

comments

Revision 1.45 / (download) - annotate - [select for diffs], Sat May 2 11:12:49 2020 UTC (3 years, 11 months ago) by maxv
Branch: MAIN
Changes since 1.44: +1 -8 lines
Diff to previous 1.44 (colored) to selected 1.43.4.2 (colored)

Remove unused.

Revision 1.44 / (download) - annotate - [select for diffs], Sat Apr 25 15:26:16 2020 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.43: +17 -77 lines
Diff to previous 1.43 (colored) to selected 1.43.4.2 (colored)

Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor

Revision 1.43.4.7 / (download) - annotate - [select for diffs], Wed Apr 15 16:04:06 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.43.4.6: +4 -46 lines
Diff to previous 1.43.4.6 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored) to selected 1.43.4.2 (colored)

On amd64, always use the cmpxchg8b version of spllower. All x86_64 host should
have it and we already rely on it in lock stubs.
On i386, always use i686_mutex_spin_exit and cx8_spllower for Xen;
Xen doesn't run on CPUs on CPUs lacking the required instructions anyway.
Skip x86_patch only for XENPV, and adjust for changes in assembly functions.
Tested on Xen PV and PVHVM, and on bare metal core i5.

Revision 1.34.2.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:30 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.34.2.2: +16 -0 lines
Diff to previous 1.34.2.2 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored) to selected 1.43.4.2 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.43.4.6 / (download) - annotate - [select for diffs], Sun Apr 12 17:25:52 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.43.4.5: +2 -31 lines
Diff to previous 1.43.4.5 (colored) to branchpoint 1.43 (colored) to selected 1.43.4.2 (colored)

Get rid of xen-specific ci_x* interrupt handling:
- use the general SIR mechanism, reserving 3 more slots for IPL_VM, IPL_SCHED
  and IPL_HIGH
- remove specific handling from C sources, or change to ipending
- convert IPL number to SIR number in various places
- Remove XUNMASK/XPENDING in assembly or change to IUNMASK/IPENDING
- remove Xen-specific ci_xsources, ci_xmask, ci_xunmask, ci_xpending from
  struct cpu_info
- for now remove a KASSERT that there are no pending interrupts in
  idle_block(). We can get there with some software interrupts pending
  in autoconf XXX needs to be looked at.

Revision 1.43.4.5 / (download) - annotate - [select for diffs], Sat Apr 11 18:26:06 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.43.4.4: +9 -15 lines
Diff to previous 1.43.4.4 (colored) to branchpoint 1.43 (colored) to selected 1.43.4.2 (colored)

Move softint and preemtion-related functions out of x86/x86/intr.c to
  its own file, x86/x86/x86_softintr.c
Add x86/x86/x86_softintr.c for native and XenPV
Make sure XenPV also check ci_ioending, which is used for softints.
Switch XenPV to fast softints and allow kernel preemption.
kpreempt_disable() before calling pmap_changeprot_local()
run  xen_wallclock_time() and xen_global_systime_ns() at splshed() to
  avoid being interrupted.

XXX amd64 lock stubs are racy for XPENDING

Revision 1.43.4.4 / (download) - annotate - [select for diffs], Sat Apr 11 10:11:30 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.43.4.3: +13 -5 lines
Diff to previous 1.43.4.3 (colored) to branchpoint 1.43 (colored) to selected 1.43.4.2 (colored)

Include ci_isources[] for XenPV too.
Adjust spllower() to XenPV needs, and switch XenPV to the native spllower().
Remove xen_spllower().

Revision 1.43.4.3 / (download) - annotate - [select for diffs], Fri Apr 10 14:41:59 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.43.4.2: +7 -2 lines
Diff to previous 1.43.4.2 (colored) to branchpoint 1.43 (colored)

spllower(): Also check Xen pending events
hypervisor_pvhvm_callback(): exit via Xdoreti, so that pending interrupts
are checked.
disable __HAVE_FAST_SOFTINTS only for XENPV, it now works for PVHVM.
We still have to disable PREEMPTION, until we support MULTIPROCESSOR

Revision 1.43.4.2 / (download) - annotate - [selected], Thu Apr 9 21:01:33 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.43.4.1: +4 -2 lines
Diff to previous 1.43.4.1 (colored) to branchpoint 1.43 (colored)

Fix a second place where %eax is used with the wrong value.

Revision 1.43.4.1 / (download) - annotate - [select for diffs], Thu Apr 9 16:51:00 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.43: +4 -2 lines
Diff to previous 1.43 (colored) to selected 1.43.4.2 (colored)

restore %eax before using it. This bug caused event handlers to be called
spuriously at high spl or in a reentrant manner.
Now a amd64 PVHVM domU can checkout pkgsrc and build packages without panic.

Revision 1.34.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:25 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.34.2.1: +1 -2 lines
Diff to previous 1.34.2.1 (colored) to branchpoint 1.34 (colored) to selected 1.43.4.2 (colored)

Merge changes from current as of 20200406

Revision 1.42.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:22 2020 UTC (4 years, 3 months ago) by ad
Branch: ad-namecache
Changes since 1.42: +1 -2 lines
Diff to previous 1.42 (colored) next main 1.43 (colored) to selected 1.43.4.2 (colored)

Sync with head.

Revision 1.43 / (download) - annotate - [select for diffs], Wed Jan 8 17:38:41 2020 UTC (4 years, 3 months ago) by ad
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, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1
Branch point for: bouyer-xenpvh
Changes since 1.42: +1 -2 lines
Diff to previous 1.42 (colored) to selected 1.43.4.2 (colored)

Hopefully fix some problems seen with MP support on non-x86, in particular
where curcpu() is defined as curlwp->l_cpu:

- mi_switch(): undo the ~2007ish optimisation to unlock curlwp before
  calling cpu_switchto().  It's not safe to let other actors mess with the
  LWP (in particular l->l_cpu) while it's still context switching.  This
  removes l->l_ctxswtch.

- Move the LP_RUNNING flag into l->l_flag and rename to LW_RUNNING since
  it's now covered by the LWP's lock.

- Ditch lwp_exit_switchaway() and just call mi_switch() instead.  Everything
  is in cache anyway so it wasn't buying much by trying to avoid saving old
  state.  This means cpu_switchto() will never be called with prevlwp ==
  NULL.

- Remove some KERNEL_LOCK handling which hasn't been needed for years.

Revision 1.42 / (download) - annotate - [select for diffs], Thu Nov 14 16:23:52 2019 UTC (4 years, 5 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20191119, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.41: +16 -1 lines
Diff to previous 1.41 (colored) to selected 1.43.4.2 (colored)

Add support for Kernel Memory Sanitizer (kMSan). It detects uninitialized
memory used by the kernel at run time, and just like kASan and kCSan, it
is an excellent feature. It has already detected 38 uninitialized variables
in the kernel during my testing, which I have since discreetly fixed.

We use two shadows:
 - "shad", to track uninitialized memory with a bit granularity (1:1).
   Each bit set to 1 in the shad corresponds to one uninitialized bit of
   real kernel memory.
 - "orig", to track the origin of the memory with a 4-byte granularity
   (1:1). Each uint32_t cell in the orig indicates the origin of the
   associated uint32_t of real kernel memory.

The memory consumption of these shadows is consequent, so at least 4GB of
RAM is recommended to run kMSan.

The compiler inserts calls to specific __msan_* functions on each memory
access, to manage both the shad and the orig and detect uninitialized
memory accesses that change the execution flow (like an "if" on an
uninitialized variable).

We mark as uninit several types of memory buffers (stack, pools, kmem,
malloc, uvm_km), and check each buffer passed to copyout, copyoutstr,
bwrite, if_transmit_lock and DMA operations, to detect uninitialized memory
that leaves the system. This allows us to detect kernel info leaks in a way
that is more efficient and also more user-friendly than KLEAK.

Contrary to kASan, kMSan requires comprehensive coverage, ie we cannot
tolerate having one non-instrumented function, because this could cause
false positives. kMSan cannot instrument ASM functions, so I converted
most of them to __asm__ inlines, which kMSan is able to instrument. Those
that remain receive special treatment.

Contrary to kASan again, kMSan uses a TLS, so we must context-switch this
TLS during interrupts. We use different contexts depending on the interrupt
level.

The orig tracks precisely the origin of a buffer. We use a special encoding
for the orig values, and pack together in each uint32_t cell of the orig:
 - a code designating the type of memory (Stack, Pool, etc), and
 - a compressed pointer, which points either (1) to a string containing
   the name of the variable associated with the cell, or (2) to an area
   in the kernel .text section which we resolve to a symbol name + offset.

This encoding allows us not to consume extra memory for associating
information with each cell, and produces a precise output, that can tell
for example the name of an uninitialized variable on the stack, the
function in which it was pushed on the stack, and the function where we
accessed this uninitialized variable.

kMSan is available with LLVM, but not with GCC.

The code is organized in a way that is similar to kASan and kCSan, so it
means that other architectures than amd64 can be supported.

Revision 1.41 / (download) - annotate - [select for diffs], Sat Oct 12 06:31:03 2019 UTC (4 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.40: +2 -1 lines
Diff to previous 1.40 (colored) to selected 1.43.4.2 (colored)

Rewrite the FPU code on x86. This greatly simplifies the logic and removes
the dependency on IPL_HIGH. NVMM is updated accordingly. Posted on
port-amd64 a week ago.

Bump the kernel version to 9.99.16.

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:47 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.34: +56 -16 lines
Diff to previous 1.34 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD

Revision 1.40 / (download) - annotate - [select for diffs], Thu Feb 14 08:18:25 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
CVS Tags: 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.39: +4 -2 lines
Diff to previous 1.39 (colored) to selected 1.43.4.2 (colored)

Welcome XENPVHVM mode.

It is UP only, has xbd(4) and xennet(4) as PV drivers.

The console is com0 at isa and the native portion is very
rudimentary AT architecture, so is probably suboptimal to
run without PV support.

Revision 1.39 / (download) - annotate - [select for diffs], Mon Feb 11 14:59:32 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored) to selected 1.43.4.2 (colored)

We reorganise definitions for XEN source support as follows:

XEN - common sources required for baseline XEN support.
XENPV - sources required for support of XEN in PV mode.
XENPVHVM - sources required for support for XEN in HVM mode.
XENPVH - sources required for support for XEN in PVH mode.

Revision 1.31.2.5 / (download) - annotate - [select for diffs], Fri Jan 18 08:50:13 2019 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.31.2.4: +12 -12 lines
Diff to previous 1.31.2.4 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored) to selected 1.43.4.2 (colored)

Synch with HEAD

Revision 1.31.2.4 / (download) - annotate - [select for diffs], Wed Dec 26 14:01:31 2018 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.31.2.3: +29 -3 lines
Diff to previous 1.31.2.3 (colored) to branchpoint 1.31 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD, resolve a few conflicts

Revision 1.38 / (download) - annotate - [select for diffs], Wed Dec 26 11:12:57 2018 UTC (5 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118
Changes since 1.37: +12 -12 lines
Diff to previous 1.37 (colored) to selected 1.43.4.2 (colored)

Xen can use the native splraise(9) functions.

There is no need for a slower C version.

Revision 1.37 / (download) - annotate - [select for diffs], Tue Dec 25 06:50:11 2018 UTC (5 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-compat-1226
Changes since 1.36: +29 -3 lines
Diff to previous 1.36 (colored) to selected 1.43.4.2 (colored)

Excise XEN specific code out of x86/x86/intr.c into xen/x86/xen_intr.c

While at it, separate the source function tracking so that the interrupt
paths are truly independant.

Use weak symbol exporting to provision for future PVHVM co-existence
of both files, but with independant paths. Introduce assembler code
such that in a unified scenario, native interrupts get first priority
in spllower(), followed by XEN event callbacks. IPL management and
semantics are unchanged - native handlers and xen callbacks are
expected to maintain their ipl related semantics.

In summary, after this commit, native and XEN now have completely
unrelated interrupt handling mechanisms, including
intr_establish_xname() and assembler stubs and intr handler
management.

Happy Christmas!

Revision 1.31.2.3 / (download) - annotate - [select for diffs], Thu Sep 6 06:55:24 2018 UTC (5 years, 7 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.31.2.2: +13 -1 lines
Diff to previous 1.31.2.2 (colored) to branchpoint 1.31 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD

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

Revision 1.36 / (download) - annotate - [select for diffs], Wed Aug 22 17:04:36 2018 UTC (5 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906
Changes since 1.35: +13 -1 lines
Diff to previous 1.35 (colored) to selected 1.43.4.2 (colored)

Explicitly unpoison the stack when entering a softint.

Softints are the only place where we "discard" a part of the stack: we may
have left the thread without allowing the asan instrumentation to clear
the poison, and in this case, we can get false positives when we hit a
poisoned area of the stack while executing another handler within the same
softint thread.

(I was actually getting a rare false positive in ip6intr.)

Revision 1.31.2.2 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:26 2018 UTC (5 years, 8 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.31.2.1: +3 -3 lines
Diff to previous 1.31.2.1 (colored) to branchpoint 1.31 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD

Revision 1.35 / (download) - annotate - [select for diffs], Sat Jul 14 14:29:40 2018 UTC (5 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0728
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored) to selected 1.43.4.2 (colored)

Drop NENTRY() from the x86 kernels, use ENTRY(). With PMCs (and other hardware
tracing facilities) we have a much better ways of monitoring the CPU activity
than GPROF, without software modification.

Also I think GPROF has never worked, because the 'start' functions of both
i386 and amd64 use ENTRY(), and it would have caused a function call while the
kernel was not yet relocated.

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Sat Apr 7 04:12:11 2018 UTC (6 years ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.31: +10 -10 lines
Diff to previous 1.31 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$

Revision 1.30.10.1 / (download) - annotate - [select for diffs], Thu Apr 5 18:15:02 2018 UTC (6 years ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.30: +10 -10 lines
Diff to previous 1.30 (colored) next main 1.31 (colored) to selected 1.43.4.2 (colored)

Pull up following revision(s) (requested by christos in ticket #696):

	sys/arch/amd64/amd64/vector.S: revision 1.62 (patch)
	sys/arch/x86/include/intr.h: revision 1.55
	sys/arch/i386/i386/vector.S: revision 1.77
	sys/arch/i386/i386/db_interface.c: revision 1.82 (patch)
	sys/arch/amd64/amd64/spl.S: revision 1.34 (patch)
	sys/arch/amd64/amd64/db_interface.c: revision 1.33 (patch)
	sys/arch/x86/x86/intr.c: revision 1.125
	sys/arch/i386/i386/spl.S: revision 1.43 (patch)
	sys/arch/i386/i386/machdep.c: revision 1.805 (patch)
	sys/arch/x86/x86/lapic.c: revision 1.66 (patch)

Rename the DDB IPI IDT vectors for consistency. ok maxv@

Rename Xpreempt{recurse,resume} -> X{recurse,resume}_preempt so that
they fit the pattern. Also the debugger trap sniffer matches them
without adding special entries...

XXX: pullup-8.

Revision 1.34 / (download) - annotate - [select for diffs], Wed Apr 4 22:52:58 2018 UTC (6 years ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407
Branch point for: phil-wifi
Changes since 1.33: +7 -7 lines
Diff to previous 1.33 (colored) to selected 1.43.4.2 (colored)

Rename Xpreempt{recurse,resume} -> X{recurse,resume}_preempt so that
they fit the pattern. Also the debugger trap sniffer matches them
without adding special entries...
XXX: pullup-8.

Revision 1.33 / (download) - annotate - [select for diffs], Mon Apr 2 22:29:33 2018 UTC (6 years ago) by mlelstv
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored) to selected 1.43.4.2 (colored)

typo

Revision 1.32 / (download) - annotate - [select for diffs], Mon Apr 2 20:54:47 2018 UTC (6 years ago) by christos
Branch: MAIN
Changes since 1.31: +6 -6 lines
Diff to previous 1.31 (colored) to selected 1.43.4.2 (colored)

use the right end macro: IDTVEC_END(name) instead of END(Xname)

Revision 1.24.14.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:35:47 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.24.14.2: +42 -29 lines
Diff to previous 1.24.14.2 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored) to selected 1.43.4.2 (colored)

update from HEAD

Revision 1.31 / (download) - annotate - [select for diffs], Tue Nov 28 08:43:49 2017 UTC (6 years, 4 months ago) by maxv
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, pgoyette-compat-base, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.30: +35 -24 lines
Diff to previous 1.30 (colored) to selected 1.43.4.2 (colored)

style

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Sun Dec 27 12:09:28 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.29: +5 -5 lines
Diff to previous 1.29 (colored) next main 1.30 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.30 / (download) - annotate - [select for diffs], Sun Nov 22 13:41:24 2015 UTC (8 years, 4 months ago) by maxv
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, 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, 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.29: +5 -5 lines
Diff to previous 1.29 (colored) to selected 1.43.4.2 (colored)

KNF a bit, so I don't get scared each time I open a file

Revision 1.29 / (download) - annotate - [select for diffs], Thu Nov 27 04:48:39 2014 UTC (9 years, 4 months ago) by uebayasi
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.28: +8 -6 lines
Diff to previous 1.28 (colored) to selected 1.43.4.2 (colored)

Comments.

Revision 1.24.14.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:02:42 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.24.14.1: +19 -10 lines
Diff to previous 1.24.14.1 (colored) to branchpoint 1.24 (colored) to selected 1.43.4.2 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.24.4.2 / (download) - annotate - [select for diffs], Thu May 22 11:39:28 2014 UTC (9 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.24.4.1: +19 -10 lines
Diff to previous 1.24.4.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored) to selected 1.43.4.2 (colored)

sync with head.

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

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.27.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:44:54 2014 UTC (9 years, 11 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.27: +3 -8 lines
Diff to previous 1.27 (colored) next main 1.28 (colored) to selected 1.43.4.2 (colored)

sync with head

Revision 1.28 / (download) - annotate - [select for diffs], Sun Jan 12 20:31:50 2014 UTC (10 years, 3 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, 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
Changes since 1.27: +3 -8 lines
Diff to previous 1.27 (colored) to selected 1.43.4.2 (colored)

Try to reserve space in a way that results in the same allocation for
both LLVM and GNU as.

Revision 1.27 / (download) - annotate - [select for diffs], Sat Jun 22 06:57:30 2013 UTC (10 years, 10 months ago) by uebayasi
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Changes since 1.26: +17 -3 lines
Diff to previous 1.26 (colored) to selected 1.43.4.2 (colored)

Use END() to set ELF symbol size.  Set some type info too.

Revision 1.24.4.1 / (download) - annotate - [select for diffs], Wed Jan 16 05:32:39 2013 UTC (11 years, 3 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.24: +2 -17 lines
Diff to previous 1.24 (colored) to selected 1.43.4.2 (colored)

sync with (a bit old) head

Revision 1.24.14.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:00:55 2012 UTC (11 years, 5 months ago) by tls
Branch: tls-maxphys
Changes since 1.24: +2 -17 lines
Diff to previous 1.24 (colored) to selected 1.43.4.2 (colored)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.26 / (download) - annotate - [select for diffs], Sat Nov 10 16:28:06 2012 UTC (11 years, 5 months ago) by cherry
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, khorben-n900, agc-symver-base, agc-symver
Changes since 1.25: +1 -16 lines
Diff to previous 1.25 (colored) to selected 1.43.4.2 (colored)

Remove e a redundant layer of function calling in the event handling path

Revision 1.25 / (download) - annotate - [select for diffs], Fri Nov 2 08:31:28 2012 UTC (11 years, 5 months ago) by yamt
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored) to selected 1.43.4.2 (colored)

fix a comment

Revision 1.23.6.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:04:47 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.23: +4 -4 lines
Diff to previous 1.23 (colored) next main 1.24 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.23.4.1 / (download) - annotate - [select for diffs], Thu Apr 21 01:40:47 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.23: +4 -4 lines
Diff to previous 1.23 (colored) next main 1.24 (colored) to selected 1.43.4.2 (colored)

sync with head

Revision 1.20.10.4 / (download) - annotate - [select for diffs], Mon Mar 28 23:58:10 2011 UTC (13 years ago) by jym
Branch: jym-xensuspend
Changes since 1.20.10.3: +4 -4 lines
Diff to previous 1.20.10.3 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored) to selected 1.43.4.2 (colored)

Cure sync hiccups. Code with compile errors is not really useful, heh.

Revision 1.20.10.3 / (download) - annotate - [select for diffs], Mon Mar 28 23:04:34 2011 UTC (13 years ago) by jym
Branch: jym-xensuspend
Changes since 1.20.10.2: +4 -4 lines
Diff to previous 1.20.10.2 (colored) to branchpoint 1.20 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD. TODO before merge:
- shortcut for suspend code in sysmon, when powerd(8) is not running.
Borrow ``xs_watch'' thread context?
- bug hunting in xbd + xennet resume. Rings are currently thrashed upon
resume, so current implementation force flush them on suspend. It's not
really needed.

Revision 1.24 / (download) - annotate - [select for diffs], Fri Mar 18 15:18:16 2011 UTC (13 years, 1 month ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, 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-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, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp
Branch point for: yamt-pagecache, tls-maxphys
Changes since 1.23: +4 -4 lines
Diff to previous 1.23 (colored) to selected 1.43.4.2 (colored)

Remove static branch prediction hints. They pessimize code for all CPUs
but Pentium IV. Discussed with ad@ and dsl@

Revision 1.17.10.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:01:58 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.17.10.2: +5 -5 lines
Diff to previous 1.17.10.2 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored) to selected 1.43.4.2 (colored)

sync with head

Revision 1.23 / (download) - annotate - [select for diffs], Fri Nov 27 03:23:04 2009 UTC (14 years, 4 months ago) by rmind
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, matt-premerge-20091211, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: rmind-uvmplock, jruoho-x86intr
Changes since 1.22: +4 -4 lines
Diff to previous 1.22 (colored) to selected 1.43.4.2 (colored)

- Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places.  Reduce sys/user.h inclusions.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Nov 25 14:28:50 2009 UTC (14 years, 4 months ago) by rmind
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored) to selected 1.43.4.2 (colored)

Remove IPL_LPT and IPL_IPI aliases, use the actual IPLs.
Fix some broken comments.

Revision 1.20.10.2 / (download) - annotate - [select for diffs], Sun Nov 1 13:58:49 2009 UTC (14 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.20.10.1: +0 -0 lines
Diff to previous 1.20.10.1 (colored) to branchpoint 1.20 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.20.10.1 / (download) - annotate - [select for diffs], Wed May 13 17:16:08 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.20: +5 -1 lines
Diff to previous 1.20 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.17.10.2 / (download) - annotate - [select for diffs], Mon May 4 08:10:32 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.17.10.1: +13 -2 lines
Diff to previous 1.17.10.1 (colored) to branchpoint 1.17 (colored) to selected 1.43.4.2 (colored)

sync with head.

Revision 1.20.4.1 / (download) - annotate - [select for diffs], Tue Apr 28 07:33:38 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.20: +5 -1 lines
Diff to previous 1.20 (colored) next main 1.21 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.20.6.1 / (download) - annotate - [select for diffs], Fri Apr 3 17:42:36 2009 UTC (15 years ago) by snj
Branch: netbsd-5
CVS Tags: 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-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, 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
Changes since 1.20: +5 -1 lines
Diff to previous 1.20 (colored) next main 1.21 (colored) to selected 1.43.4.2 (colored)

Pull up following revision(s) (requested by enami in ticket #645):
	common/lib/libc/arch/i386/atomic/atomic.S: revision 1.17
	sys/arch/amd64/amd64/spl.S: revision 1.21
	sys/arch/x86/x86/patch.c: revision 1.17
So that profile kernel runs again,
- Adjust the size of functions used to patch.
- Fix the jump offset of mcount call when patching functions.
Approved by Andrew Doran.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Apr 2 00:19:02 2009 UTC (15 years ago) by enami
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-base, jymxensuspend-base
Changes since 1.20: +5 -1 lines
Diff to previous 1.20 (colored) to selected 1.43.4.2 (colored)

So that profile kernel runs again,
- Adjust the size of functions used to patch.
- Fix the jump offset of mcount call when patching functions.

Approved by Andrew Doran.

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:33:17 2008 UTC (15 years, 7 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.19: +9 -2 lines
Diff to previous 1.19 (colored) next main 1.20 (colored) to selected 1.43.4.2 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.19.4.1 / (download) - annotate - [select for diffs], Thu Jul 3 18:37:51 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.19: +9 -2 lines
Diff to previous 1.19 (colored) next main 1.20 (colored) to selected 1.43.4.2 (colored)

Sync with head.

Revision 1.17.6.2 / (download) - annotate - [select for diffs], Wed Jul 2 19:08:15 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.17.6.1: +8 -1 lines
Diff to previous 1.17.6.1 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.20 / (download) - annotate - [select for diffs], Tue Jul 1 18:49:20 2008 UTC (15 years, 9 months ago) by bouyer
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, simonb-wapbl-nbase, simonb-wapbl-base, nick-hppapmap-base2, netbsd-5-base, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, mjf-devfs2-base, matt-mips64-base2, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5, jym-xensuspend
Changes since 1.19: +9 -2 lines
Diff to previous 1.19 (colored) to selected 1.43.4.2 (colored)

Raise ci_idepth (and switch to interrupt stack on i386) becore calling
xenevt_event().

Revision 1.17.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:21:48 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.17: +37 -11 lines
Diff to previous 1.17 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.17.8.1 / (download) - annotate - [select for diffs], Sun May 18 12:31:27 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.17: +37 -11 lines
Diff to previous 1.17 (colored) next main 1.18 (colored) to selected 1.43.4.2 (colored)

sync with head.

Revision 1.17.10.1 / (download) - annotate - [select for diffs], Fri May 16 02:21:49 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.17: +37 -11 lines
Diff to previous 1.17 (colored) to selected 1.43.4.2 (colored)

sync with head.

Revision 1.19 / (download) - annotate - [select for diffs], Mon Apr 28 22:47:37 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa, simonb-wapbl
Changes since 1.18: +37 -4 lines
Diff to previous 1.18 (colored) to selected 1.43.4.2 (colored)

Add support for kernel preeemption to the i386 and amd64 ports. Notes:

- I have seen one isolated panic in the x86 pmap, but otherwise i386
  seems stable with preemption enabled.

- amd64 is missing the FPU handling changes and it's not yet safe to
  enable it there.

- The usual level for kern.sched.kpreempt_pri will be 128 once enabled
  by default. For testing, setting it to 0 helps to shake out bugs.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:12 2008 UTC (15 years, 11 months ago) by martin
Branch: MAIN
Changes since 1.17: +1 -8 lines
Diff to previous 1.17 (colored) to selected 1.43.4.2 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.7.10.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:03:53 2008 UTC (16 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.7.10.2: +3 -3 lines
Diff to previous 1.7.10.2 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored) to selected 1.43.4.2 (colored)

sync with HEAD

Revision 1.3.12.8 / (download) - annotate - [select for diffs], Wed Feb 27 08:36:18 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.12.7: +2 -2 lines
Diff to previous 1.3.12.7 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored) to selected 1.43.4.2 (colored)

sync with head.

Revision 1.10.2.4 / (download) - annotate - [select for diffs], Mon Feb 18 21:04:20 2008 UTC (16 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.10.2.3: +3 -3 lines
Diff to previous 1.10.2.3 (colored) to branchpoint 1.10 (colored) next main 1.11 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.17 / (download) - annotate - [select for diffs], Wed Feb 13 11:38:03 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, mjf-devfs2
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored) to selected 1.43.4.2 (colored)

spllower: change address mode slightly to work around a bug in qemu.
PR port-amd64/37714.

Revision 1.3.12.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:35:19 2008 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.12.6: +9 -9 lines
Diff to previous 1.3.12.6 (colored) to branchpoint 1.3 (colored) to selected 1.43.4.2 (colored)

sync with head

Revision 1.14.4.2 / (download) - annotate - [select for diffs], Thu Jan 10 23:43:08 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.14.4.1: +1 -1 lines
Diff to previous 1.14.4.1 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD

Revision 1.16 / (download) - annotate - [select for diffs], Thu Jan 10 20:14:11 2008 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored) to selected 1.43.4.2 (colored)

- Fix a memory order problem with non-interlocked mutex release.
- Give kernel_lock its own cache line.

Revision 1.7.10.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:44:47 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.7.10.1: +97 -41 lines
Diff to previous 1.7.10.1 (colored) to branchpoint 1.7 (colored) to selected 1.43.4.2 (colored)

sync with HEAD

Revision 1.14.4.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:47:02 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.14: +8 -8 lines
Diff to previous 1.14 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD

Revision 1.10.2.3 / (download) - annotate - [select for diffs], Thu Dec 27 00:42:51 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.10.2.2: +8 -8 lines
Diff to previous 1.10.2.2 (colored) to branchpoint 1.10 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.13.2.2 / (download) - annotate - [select for diffs], Wed Dec 26 21:38:41 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.13.2.1: +8 -8 lines
Diff to previous 1.13.2.1 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored) to selected 1.43.4.2 (colored)

Sync with head.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Dec 21 19:18:14 2007 UTC (16 years, 4 months ago) by dsl
Branch: MAIN
CVS Tags: vmlocking2-base3, matt-armv6-base
Changes since 1.14: +8 -8 lines
Diff to previous 1.14 (colored) to selected 1.43.4.2 (colored)

Change the xen CLI() and STI() defines to only use one scratch register.
As well as saving an instruction, in one place it saves a push/pop pair.

Revision 1.7.8.5 / (download) - annotate - [select for diffs], Sun Dec 9 19:34:18 2007 UTC (16 years, 4 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.7.8.4: +70 -28 lines
Diff to previous 1.7.8.4 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.10.2.2 / (download) - annotate - [select for diffs], Sat Dec 8 18:16:25 2007 UTC (16 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.10.2.1: +92 -36 lines
Diff to previous 1.10.2.1 (colored) to branchpoint 1.10 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.3.12.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:23:59 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.12.5: +92 -36 lines
Diff to previous 1.3.12.5 (colored) to branchpoint 1.3 (colored) to selected 1.43.4.2 (colored)

sync with head

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:02:50 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking2
Changes since 1.13: +2 -1 lines
Diff to previous 1.13 (colored) to selected 1.43.4.2 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Dec 4 08:03:46 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base2, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.13: +2 -1 lines
Diff to previous 1.13 (colored) to selected 1.43.4.2 (colored)

softintr_ret: fix it to work properly after yesterday's change to mi_switch.

Revision 1.6.6.7 / (download) - annotate - [select for diffs], Mon Dec 3 19:02:37 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.6.6.6: +63 -72 lines
Diff to previous 1.6.6.6 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.6.6.6 / (download) - annotate - [select for diffs], Mon Dec 3 18:34:39 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.6.6.5: +35 -26 lines
Diff to previous 1.6.6.5 (colored) to branchpoint 1.6 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Dec 3 15:33:10 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: vmlocking2-base1, vmlocking-nbase
Branch point for: vmlocking2
Changes since 1.12: +69 -28 lines
Diff to previous 1.12 (colored) to selected 1.43.4.2 (colored)

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.7.8.4 / (download) - annotate - [select for diffs], Tue Nov 27 19:35:27 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.7.8.3: +25 -11 lines
Diff to previous 1.7.8.3 (colored) to branchpoint 1.7 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Nov 22 16:16:42 2007 UTC (16 years, 5 months ago) by bouyer
Branch: MAIN
Changes since 1.11: +25 -11 lines
Diff to previous 1.11 (colored) to selected 1.43.4.2 (colored)

Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:46:09 2007 UTC (16 years, 5 months ago) by mjf
Branch: mjf-devfs
Changes since 1.10: +6 -6 lines
Diff to previous 1.10 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.6.6.5 / (download) - annotate - [select for diffs], Fri Nov 16 20:35:32 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.6.6.4: +6 -3 lines
Diff to previous 1.6.6.4 (colored) to branchpoint 1.6 (colored) to selected 1.43.4.2 (colored)

softintr_ret keeps the IPL raised until returning to doreti/splx in order
to avoid recursing. To keep the IPL raised it adjusts ci_mtx_oldspl before
dropping curlwp->l_mutex. That's not safe if the current CPU holds more than
one spin mutex, and can lead to "WARNING: SPL NOT LOWERED...". Fix it.

Revision 1.8.4.5 / (download) - annotate - [select for diffs], Fri Nov 16 17:18:01 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.8.4.4: +2 -2 lines
Diff to previous 1.8.4.4 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored) to selected 1.43.4.2 (colored)

Initial domain0 support for xenamd64. The kernel boots multiuser, but
xen tools have not been tried yet.
In this process, cleanup some more the page table bootstrap, and properly
handle event counters for soft interrupts.

Revision 1.3.12.5 / (download) - annotate - [select for diffs], Thu Nov 15 11:42:31 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.12.4: +6 -6 lines
Diff to previous 1.3.12.4 (colored) to branchpoint 1.3 (colored) to selected 1.43.4.2 (colored)

sync with head.

Revision 1.8.4.4 / (download) - annotate - [select for diffs], Tue Nov 13 15:58:07 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.8.4.3: +6 -6 lines
Diff to previous 1.8.4.3 (colored) to branchpoint 1.8 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD

Revision 1.7.8.3 / (download) - annotate - [select for diffs], Sun Nov 11 16:46:24 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.7.8.2: +6 -6 lines
Diff to previous 1.7.8.2 (colored) to branchpoint 1.7 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.11 / (download) - annotate - [select for diffs], Sat Nov 10 20:06:23 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: bouyer-xenamd64-base2, bouyer-xenamd64-base
Changes since 1.10: +6 -6 lines
Diff to previous 1.10 (colored) to selected 1.43.4.2 (colored)

- When computing the TSC frequency, call i8254_delay() and not DELAY().
- Use atomics to adjust the pmap reference count, instead of taking locks.
- Implement I386_{SET,GET}_{FS,GS}BASE, allowing %fs and %gs to be used
  as per-thread registers. This is compatible with FreeBSD.
- Run patches after we have attached CPUs, since we then know if the
  system is uniprocessor or not. Eliminates a lot of #ifdef MULTIPROCESSOR
  and makes running MP kernels on UP systems cheaper.
- Patch out many of the 'lock' prefixes to nops if uniprocessor.
- Do a wbinvd after patching to ensure that the trace/instruction cache
  is up to date.

Revision 1.7.10.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:14:10 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.7: +17 -30 lines
Diff to previous 1.7 (colored) to selected 1.43.4.2 (colored)

sync with HEAD

Revision 1.3.12.4 / (download) - annotate - [select for diffs], Sat Oct 27 11:25:07 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.12.3: +17 -7 lines
Diff to previous 1.3.12.3 (colored) to branchpoint 1.3 (colored) to selected 1.43.4.2 (colored)

sync with head.

Revision 1.7.8.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:42:08 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.7.8.1: +17 -7 lines
Diff to previous 1.7.8.1 (colored) to branchpoint 1.7 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.8.4.3 / (download) - annotate - [select for diffs], Thu Oct 25 23:59:22 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.8.4.2: +21 -13 lines
Diff to previous 1.8.4.2 (colored) to branchpoint 1.8 (colored) to selected 1.43.4.2 (colored)

Finish sync with HEAD. Especially use the new x86 pmap for xenamd64.
For this:
- rename pmap_pte_set() to pmap_pte_testset()
- make pmap_pte_set() a function or macro for non-atomic PTE write
- define and use pmap_pa2pte()/pmap_pte2pa() to read/write PTE entries
- define pmap_pte_flush() which is a nop in x86 case, and flush the
  MMUops queue in the Xen case

Revision 1.6.6.4 / (download) - annotate - [select for diffs], Tue Oct 23 20:11:39 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.6.6.3: +17 -7 lines
Diff to previous 1.6.6.3 (colored) to branchpoint 1.6 (colored) to selected 1.43.4.2 (colored)

Sync with head.

Revision 1.8.4.2 / (download) - annotate - [select for diffs], Sun Oct 21 19:12:28 2007 UTC (16 years, 6 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.8.4.1: +4 -1 lines
Diff to previous 1.8.4.1 (colored) to branchpoint 1.8 (colored) to selected 1.43.4.2 (colored)

Check for ASTs on exit from interrupt.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Oct 18 15:28:33 2007 UTC (16 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: jmcneill-base
Branch point for: mjf-devfs
Changes since 1.9: +17 -7 lines
Diff to previous 1.9 (colored) to selected 1.43.4.2 (colored)

merge yamt-x86pmap branch.

- reduce differences between amd64 and i386.  notably, share pmap.c
  between them.  it makes several i386 pmap improvements available to
  amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
- implement deferred pmap switching for amd64.
- remove LARGEPAGES option.  always use large pages if available.
  also, make it work on amd64.

Revision 1.8.4.1 / (download) - annotate - [select for diffs], Wed Oct 17 21:38:15 2007 UTC (16 years, 6 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.8: +19 -6 lines
Diff to previous 1.8 (colored) to selected 1.43.4.2 (colored)

amd64 (aka x86-64) support for Xen. Based on the OpenBSD port done by
Mathieu Ropert in 2006.
DomU-only for now. An INSTALL_XEN3_DOMU kernel with a ramdisk will boot to
sysinst if you're lucky. Often it panics because a runable LWP has
a NULL stack (really, it's all of l->l_addr which is has been zeroed out
while the process was on the queue !)
TODO:
- bug fixes :)
- Most of the xpq_* functions should be shared with xen/i386
- The xen/i386 assembly bootstrap code should be remplaced with the C
  version in xenamd64/amd64/xpmap.c
- see if a config(5) trick could allow to merge xenamd64 back to xen or amd64.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Oct 17 19:53:02 2007 UTC (16 years, 6 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4
Changes since 1.8: +1 -1 lines
Diff to previous 1.8 (colored) to selected 1.43.4.2 (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.8.2.2 / (download) - annotate - [select for diffs], Sun Oct 7 12:51:15 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.8.2.1: +0 -1 lines
Diff to previous 1.8.2.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored) to selected 1.43.4.2 (colored)

remove some #ifdef _LOCORE and use genassym instead.

Revision 1.6.14.2 / (download) - annotate - [select for diffs], Wed Oct 3 19:22:10 2007 UTC (16 years, 6 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.6.14.1: +1 -24 lines
Diff to previous 1.6.14.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Sun Sep 30 15:32:22 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.8: +17 -6 lines
Diff to previous 1.8 (colored) to selected 1.43.4.2 (colored)

implement deferred pmap switching for amd64, and make amd64 use
x86 shared pmap code.  it makes several i386 pmap improvements available
to amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.

Revision 1.7.8.1 / (download) - annotate - [select for diffs], Mon Sep 3 16:47:01 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.7: +1 -24 lines
Diff to previous 1.7 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.3.12.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:22:33 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.12.2: +22 -18 lines
Diff to previous 1.3.12.2 (colored) to branchpoint 1.3 (colored) to selected 1.43.4.2 (colored)

sync with head.

Revision 1.7.4.1 / (download) - annotate - [select for diffs], Mon Sep 3 10:18:12 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.7: +1 -24 lines
Diff to previous 1.7 (colored) next main 1.8 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Aug 29 23:38:02 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, vmlocking-base, ppcoea-renovation-base, nick-csl-alignment-base5
Branch point for: yamt-x86pmap, bouyer-xenamd64
Changes since 1.7: +1 -24 lines
Diff to previous 1.7 (colored) to selected 1.43.4.2 (colored)

Merge most x86 changes from the vmlocking branch, except the threaded soft
interrupt stuff. This is mostly comprised of changes to the pmap modules to
work on multiprocessor systems without kernel_lock, and changes to speed up
tlb shootdowns.

Revision 1.6.6.3 / (download) - annotate - [select for diffs], Thu Aug 23 13:19:00 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.6.6.2: +6 -6 lines
Diff to previous 1.6.6.2 (colored) to branchpoint 1.6 (colored) to selected 1.43.4.2 (colored)

Fix some more bugs.

Revision 1.6.6.2 / (download) - annotate - [select for diffs], Tue Aug 21 23:58:49 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.6.6.1: +67 -38 lines
Diff to previous 1.6.6.1 (colored) to branchpoint 1.6 (colored) to selected 1.43.4.2 (colored)

amd64 changes, as yet untested:

- Adapt to vmlocking branch.
- Apply TLB shootdown and pv allocation changes to the pmap.
- Make it build.

Revision 1.6.8.1 / (download) - annotate - [select for diffs], Wed Jul 11 19:57:36 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.6: +29 -2 lines
Diff to previous 1.6 (colored) next main 1.7 (colored) to selected 1.43.4.2 (colored)

Sync with head.

Revision 1.6.6.1 / (download) - annotate - [select for diffs], Sun May 27 12:26:58 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.6: +29 -2 lines
Diff to previous 1.6 (colored) to selected 1.43.4.2 (colored)

Sync with head.

Revision 1.6.14.1 / (download) - annotate - [select for diffs], Tue May 22 17:26:32 2007 UTC (16 years, 11 months ago) by matt
Branch: ppcoea-renovation
Changes since 1.6: +29 -2 lines
Diff to previous 1.6 (colored) to selected 1.43.4.2 (colored)

Update to HEAD.

Revision 1.7 / (download) - annotate - [select for diffs], Thu May 17 14:51:14 2007 UTC (16 years, 11 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, matt-armv6, jmcneill-pm
Changes since 1.6: +29 -2 lines
Diff to previous 1.6 (colored) to selected 1.43.4.2 (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.6.2.2 / (download) - annotate - [select for diffs], Wed Apr 4 14:13:32 2007 UTC (17 years ago) by ad
Branch: yamt-idlelwp
Changes since 1.6.2.1: +3 -2 lines
Diff to previous 1.6.2.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.43.4.2 (colored)

Sync with i386:

If cmpxchg8b fails, don't immediatley enter Xspllower - retry first.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Fri Mar 23 14:06:07 2007 UTC (17 years, 1 month ago) by ad
Branch: yamt-idlelwp
Changes since 1.6: +27 -1 lines
Diff to previous 1.6 (colored) to selected 1.43.4.2 (colored)

- Decouple intr.h from cpu.h.
- Define splraise in spl.S. As a side effect it becomes "preemption safe".
- Make softintr_schedule a function in softintr.c.
- Make softintr a function in spl.S, and remove the unneeded lock prefix.

Revision 1.3.12.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:05:40 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.12.1: +77 -6 lines
Diff to previous 1.3.12.1 (colored) to branchpoint 1.3 (colored) to selected 1.43.4.2 (colored)

sync with head.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:01 2007 UTC (17 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, post-newlock2-merge, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp, vmlocking, ppcoea-renovation, mjf-ufs-trans
Changes since 1.5: +77 -6 lines
Diff to previous 1.5 (colored) to selected 1.43.4.2 (colored)

Merge newlock2 to head.

Revision 1.5.2.4 / (download) - annotate - [select for diffs], Thu Feb 1 06:25:01 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.5.2.3: +4 -1 lines
Diff to previous 1.5.2.3 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored) to selected 1.43.4.2 (colored)

- Don't patch stuff if it's a profiling kernel.
- Move Xspllower label to show up better in profile output.

Revision 1.5.2.3 / (download) - annotate - [select for diffs], Sat Jan 27 07:09:02 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.5.2.2: +71 -4 lines
Diff to previous 1.5.2.2 (colored) to branchpoint 1.5 (colored) to selected 1.43.4.2 (colored)

If running on a PPro or later, at boot patch in versions of spllower() and
similar that use cmpxchg8b instead of cli/sti. Cuts the clock cycles for
splx() by a factor of ~6 on the P4, and ~3 on the PIII when bracketed by
serializing instructions (and hopefully more when not).

Revision 1.5.2.2 / (download) - annotate - [select for diffs], Sun Jan 14 13:57:13 2007 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.5.2.1: +4 -4 lines
Diff to previous 1.5.2.1 (colored) to branchpoint 1.5 (colored) to selected 1.43.4.2 (colored)

- Restore previous locking behaviour in cpu_switch(). Seems to fix what
  look like corrupted trap frames.
- Micro-optimisation for AST check/clear.

Revision 1.3.12.1 / (download) - annotate - [select for diffs], Sat Dec 30 20:45:22 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3: +5 -7 lines
Diff to previous 1.3 (colored) to selected 1.43.4.2 (colored)

sync with head.

Revision 1.5.2.1 / (download) - annotate - [select for diffs], Fri Oct 20 19:26:48 2006 UTC (17 years, 6 months ago) by ad
Branch: newlock2
Changes since 1.5: +3 -2 lines
Diff to previous 1.5 (colored) to selected 1.43.4.2 (colored)

Make ASTs per-LWP.

Revision 1.4.8.1 / (download) - annotate - [select for diffs], Thu Sep 14 12:31:07 2006 UTC (17 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.4: +5 -7 lines
Diff to previous 1.4 (colored) next main 1.5 (colored) to selected 1.43.4.2 (colored)

sync with head.

Revision 1.4.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:37:05 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.4: +5 -7 lines
Diff to previous 1.4 (colored) next main 1.5 (colored) to selected 1.43.4.2 (colored)

sync with head

Revision 1.5 / (download) - annotate - [select for diffs], Tue Sep 5 19:00:42 2006 UTC (17 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-pdpolicy-base9, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, rpaulo-netinet-merge-pcb-base, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Branch point for: newlock2
Changes since 1.4: +5 -7 lines
Diff to previous 1.4 (colored) to selected 1.43.4.2 (colored)

Add an SPLLOWER() macro.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Dec 11 12:16:21 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, peter-altq-base, peter-altq, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-pdpolicy, rpaulo-netinet-merge-pcb
Changes since 1.3: +1 -1 lines
Diff to previous 1.3 (colored) to selected 1.43.4.2 (colored)

merge ktrace-lwp.

Revision 1.1.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:12:07 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.1.2.2: +1 -1 lines
Diff to previous 1.1.2.2 (colored) next main 1.2 (colored) to selected 1.43.4.2 (colored)

Fix the sync with head I botched.

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:31:13 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.1.2.1: +0 -0 lines
Diff to previous 1.1.2.1 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD.

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:31:30 2004 UTC (19 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.1: +2 -5 lines
Diff to previous 1.1 (colored) to selected 1.43.4.2 (colored)

Sync with HEAD

Revision 1.3 / (download) - annotate - [select for diffs], Mon Jun 28 09:13:11 2004 UTC (19 years, 9 months ago) by fvdl
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, yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, thorpej-vnode-attr-base, thorpej-vnode-attr, 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, ktrace-lwp-base, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-lazymbuf
Changes since 1.2: +1 -5 lines
Diff to previous 1.2 (colored) to selected 1.43.4.2 (colored)

Updaing ci_ilevel and testing ci_ipending must be done with all interrupts
off, or priority inversion can occur, which can lead to IPI deadlocks.
Leaves interrupts off for a bit longer, sadly, but with no noticeable
effects on the systems I tested on.

From YAMAMOTO Takashi.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Aug 20 21:48:48 2003 UTC (20 years, 8 months ago) by fvdl
Branch: MAIN
CVS Tags: 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
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored) to selected 1.43.4.2 (colored)

Pass pointers to frames from assembly, do not use the 'frame on stack
as argument passed by value' trick, as gcc 3.3.x makes (valid) assumptions
about the stack that will not be true. Costs 2 instructions per trap/syscall
on i386, 4 per interrupt for MP. One instruction per trap/syscall on amd64,
2 per interrupt for MP. I expect gcc 3.3.1 to make up for this by better
optimization (it'd better..)

While here, make amd64 compile again by using subr_mbr_disk.c

Revision 1.1 / (download) - annotate - [select for diffs], Sat Apr 26 18:39:32 2003 UTC (20 years, 11 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Diff to selected 1.43.4.2 (colored)

Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.

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>