The NetBSD Project

CVS log for src/sys/arch/i386/i386/vector.S

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.89 / (download) - annotate - [select for diffs], Wed Sep 7 00:40:18 2022 UTC (19 months, 1 week ago) by knakahara
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.88: +204 -466 lines
Diff to previous 1.88 (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.88 / (download) - annotate - [select for diffs], Tue May 24 15:55:19 2022 UTC (22 months, 3 weeks ago) by bouyer
Branch: MAIN
Changes since 1.87: +6 -2 lines
Diff to previous 1.87 (colored)

Some devices (e.g. ixg in MSI-X mode) don't to have their handlers called
when no interrupt are pending. So add an extra ih_pending field
to struct intrhand, which is incremeted when the handler is not called because
of IPL level and reset to 0 when called. Check this in Xen's resume
assembly to call only handlers that are really pending.

Revision 1.87 / (download) - annotate - [select for diffs], Sun May 17 14:15:55 2020 UTC (3 years, 10 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, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.86: +4 -4 lines
Diff to previous 1.86 (colored)

Flag EOI on TLB shootdown IPIs after the shootdown has been processed.

Revision 1.86 / (download) - annotate - [select for diffs], Sat Apr 25 15:26:17 2020 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.85: +38 -150 lines
Diff to previous 1.85 (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.85.6.7 / (download) - annotate - [select for diffs], Sat Apr 18 20:03:02 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.85.6.6: +10 -2 lines
Diff to previous 1.85.6.6 (colored) to branchpoint 1.85 (colored) next main 1.86 (colored)

If possible, register a per-cpu callback via HVMOP_set_evtchn_upcall_vector.
From FreeBSD. This requires acking the interrupt in hypervisor_pvhvm_callback.

Don't try to use x86_cpu_idle_xen() for PVHVM, it cause the domU to hang.
FreeBSD doesn't seem to use it either.

Revision 1.85.6.6 / (download) - annotate - [select for diffs], Thu Apr 16 17:50:52 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.85.6.5: +7 -6 lines
Diff to previous 1.85.6.5 (colored) to branchpoint 1.85 (colored)

amd64: Xhypervisor_pvhvm_callback has to be in text.user for SVS.
Thanks to maxv@ for helping me with this.
Enable SVS again.
While there, increase ci_idepth before calling do_hypervisor_callback,
and don't touch ci_idepth while looping over pending events.

Revision 1.85.6.5 / (download) - annotate - [select for diffs], Thu Apr 16 08:46:34 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.85.6.4: +3 -3 lines
Diff to previous 1.85.6.4 (colored) to branchpoint 1.85 (colored)

Reorganise sources to make it possible to include Xen PVHVM support in
native kernels. Among others:
- move xen/include/amd64/hypercall.h to amd64/include/xen and
  xen/include/i386/hypercall.h to i386/include/xen
- exclude some native files from the build for xenpv
- add xen to "machine" config statement for amd64 and i386
- split arch/xen/conf/files.xen to arch/xen/conf/files.xen (for pv drivers)
  and arch/xen/conf/files.xen.pv (for full pv support)
- add GENERIC_XENHVM kernel config which includes GENERIC and add Xen PV
  drivers.

Revision 1.85.6.4 / (download) - annotate - [select for diffs], Sun Apr 12 17:25:52 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.85.6.3: +21 -76 lines
Diff to previous 1.85.6.3 (colored) to branchpoint 1.85 (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.85.6.3 / (download) - annotate - [select for diffs], Sun Apr 12 16:35:49 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.85.6.2: +2 -15 lines
Diff to previous 1.85.6.2 (colored) to branchpoint 1.85 (colored)

The critical section handling is gone, remove comment about it

Revision 1.85.6.2 / (download) - annotate - [select for diffs], Sat Apr 11 12:01:42 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.85.6.1: +6 -100 lines
Diff to previous 1.85.6.1 (colored) to branchpoint 1.85 (colored)

calling stipending() is only needed in the PV case; in PVHVM
hypervisor_callback() will be called again as soon as we enable interrupts.

Use the PVHVM XENINTRSTUB for PV too; asjust Xdoreti as needed.
merge hypervisor_callback with hypervisor_pvhvm_callback. The reetrancy should
not be an issue, as we're already re-enabling events in
do_hupervisor_callback (that it, outside of the critical section).
We now can call Xdoreti in both cases.

Revision 1.85.6.1 / (download) - annotate - [select for diffs], Fri Apr 10 14:42:00 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.85: +45 -4 lines
Diff to previous 1.85 (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.77.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:40 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.77.2.1: +12 -3 lines
Diff to previous 1.77.2.1 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored)

Merge changes from current as of 20200406

Revision 1.85 / (download) - annotate - [select for diffs], Mon Dec 30 23:32:29 2019 UTC (4 years, 3 months ago) by thorpej
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, ad-namecache-base, ad-namecache
Branch point for: bouyer-xenpvh
Changes since 1.84: +10 -5 lines
Diff to previous 1.84 (colored)

Fix a problem with intr_unmask() that can cause a forever-loop:
- When handling the source-is-masked case in the interrupt vector, set the
  interrupt bit in a new ci_imasked field and ensure the bit is cleared
  from ci_ipending.
- In intr_unmask(), transfer the bit from ci_imasked to ci_ipending for
  non-level-sensitive interrupts (the PIC does the work for us in the
  level-sensitive case), and only force pending interrupts to be processed
  in this case.  (In all cases, make sure the now-unmasked bit is cleared
  from ci_imasked.)

Before, the bit was left in ci_ipending so as not to use edge-triggered
interrupts while the source is masked, but Xspllower() relies on the
pending bits getting cleared.

Tested by forcing all wm(4) interrupts on my test system though an
intr_mask() / softint / intr_unmask() cycle and exercising the network
heavily.

Revision 1.84 / (download) - annotate - [select for diffs], Sun Dec 22 15:09:39 2019 UTC (4 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.83: +6 -2 lines
Diff to previous 1.83 (colored)

Add intr_mask() and corresponding intr_unmask() calls that allow specific
interrupt lines / sources to be masked as needed (rather than making a
set of sources by IPL as with spl*()).

Revision 1.77.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:20 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.77: +96 -41 lines
Diff to previous 1.77 (colored)

Sync with HEAD

Revision 1.69.2.2 / (download) - annotate - [select for diffs], Sat Mar 9 17:10:21 2019 UTC (5 years, 1 month ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1
Changes since 1.69.2.1: +46 -2 lines
Diff to previous 1.69.2.1 (colored) to branchpoint 1.69 (colored) next main 1.70 (colored)

Pull up following revision(s) via patch (requested by nonaka in ticket #1210):

	sys/dev/hyperv/vmbusvar.h: revision 1.1
	sys/dev/hyperv/hvs.c: revision 1.1
	sys/dev/hyperv/if_hvn.c: revision 1.1
	sys/dev/hyperv/vmbusic.c: revision 1.1
	sys/arch/x86/x86/lapic.c: revision 1.69
	sys/arch/x86/isa/clock.c: revision 1.34
	sys/arch/x86/include/intrdefs.h: revision 1.22
	sys/arch/i386/conf/GENERIC: revision 1.1201
	sys/arch/x86/x86/hyperv.c: revision 1.1
	sys/arch/x86/include/cpu.h: revision 1.105
	sys/arch/x86/x86/x86_machdep.c: revision 1.124
	sys/arch/i386/conf/GENERIC: revision 1.1203
	sys/arch/amd64/amd64/genassym.cf: revision 1.74
	sys/arch/i386/conf/GENERIC: revision 1.1204
	sys/arch/amd64/conf/GENERIC: revision 1.520
	sys/arch/x86/x86/hypervreg.h: revision 1.1
	sys/arch/amd64/amd64/vector.S: revision 1.69
	sys/dev/hyperv/hvshutdown.c: revision 1.1
	sys/dev/hyperv/hvshutdown.c: revision 1.2
	sys/dev/usb/if_urndisreg.h: file removal
	sys/arch/x86/x86/cpu.c: revision 1.167
	sys/arch/x86/conf/files.x86: revision 1.107
	sys/dev/usb/if_urndis.c: revision 1.20
	sys/dev/hyperv/vmbusicreg.h: revision 1.1
	sys/dev/hyperv/hvheartbeat.c: revision 1.1
	sys/dev/hyperv/vmbusicreg.h: revision 1.2
	sys/dev/hyperv/hvheartbeat.c: revision 1.2
	sys/dev/hyperv/files.hyperv: revision 1.1
	sys/dev/ic/rndisreg.h: revision 1.1
	sys/arch/i386/i386/genassym.cf: revision 1.111
	sys/dev/ic/rndisreg.h: revision 1.2
	sys/dev/hyperv/hyperv_common.c: revision 1.1
	sys/dev/hyperv/hvtimesync.c: revision 1.1
	sys/dev/hyperv/hypervreg.h: revision 1.1
	sys/dev/hyperv/hvtimesync.c: revision 1.2
	sys/dev/hyperv/vmbusicvar.h: revision 1.1
	sys/dev/hyperv/if_hvnreg.h: revision 1.1
	sys/arch/x86/x86/lapic.c: revision 1.70
	sys/arch/amd64/amd64/vector.S: revision 1.70
	sys/dev/ic/ndisreg.h: revision 1.1
	sys/arch/amd64/conf/GENERIC: revision 1.516
	sys/dev/hyperv/hypervvar.h: revision 1.1
	sys/arch/amd64/conf/GENERIC: revision 1.518
	sys/arch/amd64/conf/GENERIC: revision 1.519
	sys/arch/i386/conf/files.i386: revision 1.400
	sys/dev/acpi/vmbus_acpi.c: revision 1.1
	sys/dev/hyperv/vmbus.c: revision 1.1
	sys/dev/hyperv/vmbus.c: revision 1.2
	sys/arch/x86/x86/intr.c: revision 1.144
	sys/arch/i386/i386/vector.S: revision 1.83
	sys/arch/amd64/conf/files.amd64: revision 1.112

separate RNDIS definitions from urndis(4) for use with Hyper-V NetVSC.

 -

Added Microsoft Hyper-V support.  It ported from OpenBSD and FreeBSD.
graphical console is not work on Gen.2 VM yet. To use the serial console,
enter "consdev com,0x3f8,115200" on efiboot.

 -

Add __diagused.

 -

PR/53984: Partial revert of modify lapic_calibrate_timer() in lapic.c r1.69.

 -

Update Hyper-V related drivers description.

 -

Remove unused definition.

 -

Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.
NFCI intended.

 -

commented out hvkvp entry.

 -

fix typo. pointed out by pgoyette@n.o.

 -

Use IDTVEC instead of NENTRY for handle_hyperv_hypercall.

 -

Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly
discussed on irc.

Revision 1.83 / (download) - annotate - [select for diffs], Fri Feb 15 08:54:01 2019 UTC (5 years, 2 months ago) by nonaka
Branch: MAIN
CVS Tags: phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.82: +44 -2 lines
Diff to previous 1.82 (colored)

Added Microsoft Hyper-V support.  It ported from OpenBSD and FreeBSD.

graphical console is not work on Gen.2 VM yet. To use the serial console,
enter "consdev com,0x3f8,115200" on efiboot.

Revision 1.82 / (download) - annotate - [select for diffs], Thu Feb 14 08:18:25 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
Changes since 1.81: +5 -4 lines
Diff to previous 1.81 (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.81 / (download) - annotate - [select for diffs], Wed Feb 13 05:01:58 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
Changes since 1.80: +46 -34 lines
Diff to previous 1.80 (colored)

In preparation for debut-ing PVHVM mode:

 - Make the struct intrstub uniform across native and XEN.
 - Introduce vector callback entrypoints for PVHVM mode.

Revision 1.80 / (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.79: +4 -4 lines
Diff to previous 1.79 (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.75.2.4 / (download) - annotate - [select for diffs], Wed Dec 26 14:01:38 2018 UTC (5 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.75.2.3: +3 -3 lines
Diff to previous 1.75.2.3 (colored) to branchpoint 1.75 (colored) next main 1.76 (colored)

Sync with HEAD, resolve a few conflicts

Revision 1.79 / (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-20190127, pgoyette-compat-20190118, pgoyette-compat-1226
Changes since 1.78: +3 -3 lines
Diff to previous 1.78 (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.75.2.3 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:34 2018 UTC (5 years, 8 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.75.2.2: +4 -4 lines
Diff to previous 1.75.2.2 (colored) to branchpoint 1.75 (colored)

Sync with HEAD

Revision 1.78 / (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-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728
Changes since 1.77: +4 -4 lines
Diff to previous 1.77 (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.75.2.2 / (download) - annotate - [select for diffs], Sat Apr 7 04:12:13 2018 UTC (6 years ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.75.2.1: +6 -6 lines
Diff to previous 1.75.2.1 (colored) to branchpoint 1.75 (colored)

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

Revision 1.69.2.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-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.69: +6 -6 lines
Diff to previous 1.69 (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.77 / (download) - annotate - [select for diffs], Tue Apr 3 07:20:52 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.76: +6 -6 lines
Diff to previous 1.76 (colored)

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

Revision 1.75.2.1 / (download) - annotate - [select for diffs], Thu Mar 22 01:44:45 2018 UTC (6 years ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.75: +2 -6 lines
Diff to previous 1.75 (colored)

Synch with HEAD, resolve conflicts

Revision 1.76 / (download) - annotate - [select for diffs], Fri Mar 16 12:48:54 2018 UTC (6 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0330, pgoyette-compat-0322
Changes since 1.75: +2 -6 lines
Diff to previous 1.75 (colored)

Remove ipkdb from i386. Also remove unused references in amd64.

I already talked about doing that six months ago on port-i386@. Back then
it was as general cleanup, but now, with SVS etc, we do actually have
good reasons for simplifying the entry points.

Ok kamil@. (christos@ was in the conversation too)

Revision 1.75 / (download) - annotate - [select for diffs], Sat Feb 17 18:51:53 2018 UTC (6 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-base, pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.74: +5 -5 lines
Diff to previous 1.74 (colored)

Rename i8259_stubs -> legacy_stubs. We will want the entries to have the
same name, eg:

	legacy_stubs
		-> Xintr_legacy0, Xrecurse_legacy0, Xresume_legacy0
		-> Xintr_legacy1, Xrecurse_legacy1, Xresume_legacy1
		...

Revision 1.74 / (download) - annotate - [select for diffs], Sat Jan 27 18:48:59 2018 UTC (6 years, 2 months ago) by maxv
Branch: MAIN
Changes since 1.73: +6 -14 lines
Diff to previous 1.73 (colored)

Declare INTR_RECURSE_HWFRAME, same as amd64.

Revision 1.60.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:17 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.60.2.1: +347 -70 lines
Diff to previous 1.60.2.1 (colored) to branchpoint 1.60 (colored) next main 1.61 (colored)

update from HEAD

Revision 1.59.8.1 / (download) - annotate - [select for diffs], Fri Oct 13 08:03:03 2017 UTC (6 years, 6 months ago) by snj
Branch: netbsd-6
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored) next main 1.60 (colored)

Pull up following revision(s) (requested by maxv in ticket #1505):
	sys/arch/i386/i386/i386_trap.S: revision 1.12 via patch
Pfff, use %ss and not %ds. The latter is controlled by userland, the former
contains the kernel value (flat); FreeBSD fixed this too a few weeks ago.
As I said earlier, this dtrace code is complete bullshit.

Revision 1.59.14.1 / (download) - annotate - [select for diffs], Fri Oct 13 08:03:02 2017 UTC (6 years, 6 months ago) by snj
Branch: netbsd-6-1
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored) next main 1.60 (colored)

Pull up following revision(s) (requested by maxv in ticket #1505):
	sys/arch/i386/i386/i386_trap.S: revision 1.12 via patch
Pfff, use %ss and not %ds. The latter is controlled by userland, the former
contains the kernel value (flat); FreeBSD fixed this too a few weeks ago.
As I said earlier, this dtrace code is complete bullshit.

Revision 1.59.12.1 / (download) - annotate - [select for diffs], Fri Oct 13 08:03:00 2017 UTC (6 years, 6 months ago) by snj
Branch: netbsd-6-0
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored) next main 1.60 (colored)

Pull up following revision(s) (requested by maxv in ticket #1505):
	sys/arch/i386/i386/i386_trap.S: revision 1.12 via patch
Pfff, use %ss and not %ds. The latter is controlled by userland, the former
contains the kernel value (flat); FreeBSD fixed this too a few weeks ago.
As I said earlier, this dtrace code is complete bullshit.

Revision 1.64.6.3 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:40 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.64.6.2: +274 -6 lines
Diff to previous 1.64.6.2 (colored) to branchpoint 1.64 (colored) next main 1.65 (colored)

Sync with HEAD

Revision 1.73 / (download) - annotate - [select for diffs], Fri Aug 18 14:52:19 2017 UTC (6 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, nick-nhusb-base-20170825
Changes since 1.72: +17 -0 lines
Diff to previous 1.72 (colored)

Revert my previous change. I hadn't checked carefully enough: the
symbols are used in src/external. There is a number of things that seem
wrong to me here, but I'm not changing them for now.

Revision 1.72 / (download) - annotate - [select for diffs], Fri Aug 18 10:02:37 2017 UTC (6 years, 7 months ago) by maxv
Branch: MAIN
Changes since 1.71: +2 -19 lines
Diff to previous 1.71 (colored)

Remove unused and broken code. On amd64 we won't want int3 from kernel
mode to be valid.

Revision 1.71 / (download) - annotate - [select for diffs], Sat Aug 12 07:21:57 2017 UTC (6 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.70: +2 -3 lines
Diff to previous 1.70 (colored)

Remove vm86.

Pass 3.

Revision 1.70.2.2 / (download) - annotate - [select for diffs], Sun Jul 16 14:02:49 2017 UTC (6 years, 9 months ago) by cherry
Branch: perseant-stdc-iso10646
Changes since 1.70.2.1: +1109 -0 lines
Diff to previous 1.70.2.1 (colored) to branchpoint 1.70 (colored) next main 1.71 (colored)

2302677

Revision 1.70.2.1, Sun Jul 16 14:02:48 2017 UTC (6 years, 9 months ago) by cherry
Branch: perseant-stdc-iso10646
Changes since 1.70: +0 -1109 lines
FILE REMOVED

file vector.S was added on branch perseant-stdc-iso10646 on 2017-07-16 14:02:49 +0000

Revision 1.70 / (download) - annotate - [select for diffs], Sun Jul 16 14:02:48 2017 UTC (6 years, 9 months ago) by cherry
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base
Branch point for: perseant-stdc-iso10646
Changes since 1.69: +6 -4 lines
Diff to previous 1.69 (colored)

Unify the xen and native x86/ interrupt setup functions and
spl traversal data structures.

This is towards PVHVM.

Revision 1.69 / (download) - annotate - [select for diffs], Tue May 23 08:54:38 2017 UTC (6 years, 10 months ago) by nonaka
Branch: MAIN
CVS Tags: netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek
Branch point for: netbsd-8
Changes since 1.68: +270 -3 lines
Diff to previous 1.68 (colored)

x86: Add preliminary x2APIC support.

x2APIC is used only when x2APIC is enabled in BIOS/UEFI.
LAPIC ID is not supported above 256.

Revision 1.64.10.2 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:18 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.64.10.1: +20 -10 lines
Diff to previous 1.64.10.1 (colored) to branchpoint 1.64 (colored) next main 1.65 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.64.6.2 / (download) - annotate - [select for diffs], Mon Dec 5 10:54:53 2016 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.64.6.1: +18 -8 lines
Diff to previous 1.64.6.1 (colored) to branchpoint 1.64 (colored)

Sync with HEAD

Revision 1.68 / (download) - annotate - [select for diffs], Fri Nov 25 14:12:55 2016 UTC (7 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-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, nick-nhusb-base-20170204, nick-nhusb-base-20161204, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.67: +14 -8 lines
Diff to previous 1.67 (colored)

Move the virtual address of the LAPIC page out of the data segment on amd64
and i386. The old design was error-prone, and it didn't allow us to map the
data segment with large pages.

Now, the VA is allocated dynamically in the pmap bootstrap code, and entered
manually later. We go from using &local_apic to using *local_apic_va, and we
therefore need one more level of indirection in the asm code.

Discussed on tech-kern.

Revision 1.67 / (download) - annotate - [select for diffs], Sun Nov 13 12:38:14 2016 UTC (7 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.66: +6 -2 lines
Diff to previous 1.66 (colored)

The reason we are not using INTRENTRY here is because this interrupt goes
through a task gate that points to a TSS entry in the GDT, and therefore
the GPRs are saved in the TSS by the hardware itself. Explain it, otherwise
it easily looks buggy.

Revision 1.64.10.1 / (download) - annotate - [select for diffs], Fri Nov 4 14:49:01 2016 UTC (7 years, 5 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.64: +4 -4 lines
Diff to previous 1.64 (colored)

Sync with HEAD

Revision 1.66 / (download) - annotate - [select for diffs], Sun Oct 16 10:38:49 2016 UTC (7 years, 6 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104
Changes since 1.65: +4 -4 lines
Diff to previous 1.65 (colored)

Use offsets to access the TPR, and not lapic_tpr.

For the record: I'm not sure exactly why it was originally done this way,
and the cvs logs are not quite enlightening. It might have been a way to
speed up the asm access, but it would sound a little bizarre since there
are many more legitimate reasons to do it on the EOI register instead.

Revision 1.64.6.1 / (download) - annotate - [select for diffs], Wed Oct 5 20:55:28 2016 UTC (7 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.64: +62 -63 lines
Diff to previous 1.64 (colored)

Sync with HEAD

Revision 1.65 / (download) - annotate - [select for diffs], Sun Aug 7 10:17:32 2016 UTC (7 years, 8 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20161004, localcount-20160914
Changes since 1.64: +62 -63 lines
Diff to previous 1.64 (colored)

KNF a little.

Revision 1.60.2.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:06 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.60: +18 -413 lines
Diff to previous 1.60 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.59.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:39:51 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.59.2.1: +18 -413 lines
Diff to previous 1.59.2.1 (colored) to branchpoint 1.59 (colored) next main 1.60 (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.62.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:45:12 2014 UTC (9 years, 11 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.62: +5 -3 lines
Diff to previous 1.62 (colored) next main 1.63 (colored)

sync with head

Revision 1.64 / (download) - annotate - [select for diffs], Sun Jan 26 19:16:17 2014 UTC (10 years, 2 months ago) by dsl
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, pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, 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, 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
Branch point for: pgoyette-localcount, nick-nhusb
Changes since 1.63: +2 -3 lines
Diff to previous 1.63 (colored)

Remove support for 'external' floating point units and the MS-DOS
  compatible method of handling floating point exceptions.
Make kernel support for teh fpu non-optional (486SX should still work).
Only 386 cpus support external fpu, and i386 support was removed years ago.
This means that the npx code no longer uses port 0xf0 or interupt 13.
All the "npx at isa" lines go from the configs, arch/i386/isa/npx.c
  is now mandatory for all i386 kernels.
I've renamed npxinit() to fpuinit() and npxinit_cpu() to fpuinit_cpu()
  to match the very similar amd64 functions.
The fpu of the boot cpu is now initialised by a direct call from
  cpu_configure(), this enables FP emulation for a 486SX.
  (for amd64 the cr0 values are set in locore.S and similar).
This fixes a long-standing bug in linux_setregs() - which did not
  save the fpu regsiters if they were active.
I've test booted a single cpu i386 kernel (using anita).
amd64 builds - none of teh changes should affect it.
The i386 XEN kernels build, but I'm not sure where they set cr0, and
  it might have got lost!

Revision 1.63 / (download) - annotate - [select for diffs], Fri Nov 22 01:09:11 2013 UTC (10 years, 4 months ago) by riz
Branch: MAIN
Changes since 1.62: +5 -2 lines
Diff to previous 1.62 (colored)

Include i386_trap_ipkdb.S so the ALL kernel links.

Revision 1.62 / (download) - annotate - [select for diffs], Tue Jun 25 00:27:22 2013 UTC (10 years, 9 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.61: +1 -451 lines
Diff to previous 1.61 (colored)

Split these to improve diffability.

Revision 1.61 / (download) - annotate - [select for diffs], Sat Jun 22 08:48:48 2013 UTC (10 years, 9 months ago) by uebayasi
Branch: MAIN
Changes since 1.60: +66 -13 lines
Diff to previous 1.60 (colored)

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

Revision 1.59.2.1 / (download) - annotate - [select for diffs], Tue Oct 30 17:19:50 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored)

sync with head

Revision 1.60 / (download) - annotate - [select for diffs], Fri Jun 15 14:23:46 2012 UTC (11 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, khorben-n900, agc-symver-base, agc-symver
Branch point for: tls-maxphys
Changes since 1.59: +3 -3 lines
Diff to previous 1.59 (colored)

whitespace

Revision 1.42.6.4 / (download) - annotate - [select for diffs], Fri Nov 18 21:09:24 2011 UTC (12 years, 4 months ago) by sborrill
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
Changes since 1.42.6.3: +6 -3 lines
Diff to previous 1.42.6.3 (colored) to branchpoint 1.42 (colored) next main 1.43 (colored)

Pull up the following revisions(s) (requested by dholland in ticket #1687):
	sys/arch/i386/i386/vector.S:	revision 1.54

Keep interrupts disabled in NMI handler. Addresses PR/43007.

Revision 1.42.10.7 / (download) - annotate - [select for diffs], Sat Aug 27 15:37:25 2011 UTC (12 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.42.10.6: +10 -150 lines
Diff to previous 1.42.10.6 (colored) to branchpoint 1.42 (colored) next main 1.43 (colored)

Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.

Revision 1.58.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:19:14 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.58: +10 -150 lines
Diff to previous 1.58 (colored) next main 1.59 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.59 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:42 2011 UTC (12 years, 10 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-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-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, 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
Branch point for: yamt-pagecache, netbsd-6-1, netbsd-6-0, netbsd-6
Changes since 1.58: +10 -150 lines
Diff to previous 1.58 (colored)

Welcome to 5.99.53!  Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
  New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
  the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
  Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
  kernel-lock on some ports).  Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.

Revision 1.56.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:05:50 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.56: +5 -4 lines
Diff to previous 1.56 (colored) next main 1.57 (colored)

Sync with HEAD.

Revision 1.42.6.2.4.1 / (download) - annotate - [select for diffs], Fri May 20 08:11:21 2011 UTC (12 years, 10 months ago) by matt
Branch: matt-nb5-mips64
Changes since 1.42.6.2: +14 -2 lines
Diff to previous 1.42.6.2 (colored) next main 1.42.6.3 (colored)

bring matt-nb5-mips64 up to date with netbsd-5-1-RELEASE (except compat).

Revision 1.42.10.6 / (download) - annotate - [select for diffs], Mon May 2 22:49:56 2011 UTC (12 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.42.10.5: +4 -3 lines
Diff to previous 1.42.10.5 (colored) to branchpoint 1.42 (colored)

Sync with head.

Revision 1.53.2.5 / (download) - annotate - [select for diffs], Thu Apr 21 01:41:07 2011 UTC (12 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.53.2.4: +4 -3 lines
Diff to previous 1.53.2.4 (colored) to branchpoint 1.53 (colored) next main 1.54 (colored)

sync with head

Revision 1.58 / (download) - annotate - [select for diffs], Thu Apr 14 16:04:12 2011 UTC (13 years ago) by yamt
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.57: +4 -3 lines
Diff to previous 1.57 (colored)

comments

Revision 1.42.10.5 / (download) - annotate - [select for diffs], Mon Mar 28 23:58:10 2011 UTC (13 years ago) by jym
Branch: jym-xensuspend
Changes since 1.42.10.4: +83 -9 lines
Diff to previous 1.42.10.4 (colored) to branchpoint 1.42 (colored)

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

Revision 1.42.10.4 / (download) - annotate - [select for diffs], Mon Mar 28 23:04:42 2011 UTC (13 years ago) by jym
Branch: jym-xensuspend
Changes since 1.42.10.3: +11 -11 lines
Diff to previous 1.42.10.3 (colored) to branchpoint 1.42 (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.57 / (download) - annotate - [select for diffs], Fri Mar 18 15:18:16 2011 UTC (13 years, 1 month ago) by joerg
Branch: MAIN
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored)

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

Revision 1.53.2.4 / (download) - annotate - [select for diffs], Thu Mar 17 04:46:29 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.53.2.3: +7 -86 lines
Diff to previous 1.53.2.3 (colored) to branchpoint 1.53 (colored)

- Fix tlbflushg() to behave like tlbflush(), if page global extension (PGE)
  is not (yet) enabled.  This fixes the issue of stale TLB entry, experienced
  early on boot, when PGE is not yet set on primary CPU.
- Rewrite i386/amd64 TLB interrupt handlers in C (only stubs are in assembly),
  which simplifies and unifies (under x86) code, plus fixes few bugs.
- cpu_attach: remove assignment to cpus_running, as primary CPU might not be
  attached first, which causes reset (and thus missed secondary CPUs).

Revision 1.53.2.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:50:41 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.53.2.2: +22 -17 lines
Diff to previous 1.53.2.2 (colored) to branchpoint 1.53 (colored)

sync with head

Revision 1.56 / (download) - annotate - [select for diffs], Wed Jan 12 23:12:12 2011 UTC (13 years, 3 months ago) by joerg
Branch: MAIN
CVS Tags: uebayasi-xip-base7, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: jruoho-x86intr
Changes since 1.55: +10 -10 lines
Diff to previous 1.55 (colored)

Allow use of traditional CPP to be set on a per platform base in sys.mk.
Honour this for dependency processing in bsd.dep.mk.  Switch i386 and
amd64 assembly to use ISO C90 preprocessor concat and drop the
-traditional-cpp on this platform.

Revision 1.55 / (download) - annotate - [select for diffs], Mon Dec 20 00:25:35 2010 UTC (13 years, 3 months ago) by matt
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231
Changes since 1.54: +10 -8 lines
Diff to previous 1.54 (colored)

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

Revision 1.51.2.2 / (download) - annotate - [select for diffs], Sat Nov 6 08:08:18 2010 UTC (13 years, 5 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.51.2.1: +6 -3 lines
Diff to previous 1.51.2.1 (colored) to branchpoint 1.51 (colored) next main 1.52 (colored)

Sync with HEAD.

Revision 1.54 / (download) - annotate - [select for diffs], Sun Oct 31 04:51:19 2010 UTC (13 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4
Changes since 1.53: +6 -3 lines
Diff to previous 1.53 (colored)

keep interrupts disabled in NMI handler.
the patch provided by IRINO yoshiaki in PR/43007.

Revision 1.42.6.2.2.1 / (download) - annotate - [select for diffs], Thu May 20 05:56:29 2010 UTC (13 years, 10 months ago) by snj
Branch: netbsd-5-0
Changes since 1.42.6.2: +14 -2 lines
Diff to previous 1.42.6.2 (colored) next main 1.42.6.3 (colored)

Pull up following revision(s) (requested by riz in ticket #1401):
	sys/arch/i386/i386/trap.c: revisions 1.251-1.253 via patch
	sys/arch/i386/i386/vector.S: revisions 1.50-1.51 via patch
If we fault on the 'iret' during return to userpace (eg if %eip is outside
the bounds of %cs) then hack the stack to contain a normal fault frame
for the signal setup code (etc).
Previously the code assumed that the original user trap frame was still
present - at it is for faults when loading the segment registers.
--
If we fault on the iret during return to userspace, see if we need to
do a lazy update of %cs to make the stack executable.
If a change is made, just retry the failing sequence.
Signal handlers as gcc nested local functions now work!
--
Fix 'fault on load of %gs during retirn to userspace' to look for the
 correct instruction bytes.
Take the 'fault on load segment register' through the same path as 'fault
 on iret' so we don't have to fixup the broken stackframe that contains a
 mix of user and kernel registers,
Update comments about how the faults during return to userspace are processed.
Setting an invalid %gs in the saved context of a signal handler causes
 a SIGSEGV handler to be entered with what look like valid registers.

Revision 1.42.6.3 / (download) - annotate - [select for diffs], Thu May 20 05:51:59 2010 UTC (13 years, 10 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, 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, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.42.6.2: +14 -2 lines
Diff to previous 1.42.6.2 (colored) to branchpoint 1.42 (colored)

Pull up following revision(s) (requested by riz in ticket #1401):
	sys/arch/i386/i386/trap.c: revisions 1.251-1.253 via patch
	sys/arch/i386/i386/vector.S: revisions 1.50-1.51 via patch
If we fault on the 'iret' during return to userpace (eg if %eip is outside
the bounds of %cs) then hack the stack to contain a normal fault frame
for the signal setup code (etc).
Previously the code assumed that the original user trap frame was still
present - at it is for faults when loading the segment registers.
--
If we fault on the iret during return to userspace, see if we need to
do a lazy update of %cs to make the stack executable.
If a change is made, just retry the failing sequence.
Signal handlers as gcc nested local functions now work!
--
Fix 'fault on load of %gs during retirn to userspace' to look for the
 correct instruction bytes.
Take the 'fault on load segment register' through the same path as 'fault
 on iret' so we don't have to fixup the broken stackframe that contains a
 mix of user and kernel registers,
Update comments about how the faults during return to userspace are processed.
Setting an invalid %gs in the saved context of a signal handler causes
 a SIGSEGV handler to be entered with what look like valid registers.

Revision 1.51.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:39:29 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.51: +59 -2 lines
Diff to previous 1.51 (colored)

Sync with HEAD.

Revision 1.53.2.2 / (download) - annotate - [select for diffs], Mon Apr 26 17:06:21 2010 UTC (13 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.53.2.1: +15 -23 lines
Diff to previous 1.53.2.1 (colored) to branchpoint 1.53 (colored)

Slight simplification to TLB shootdown handler on i386 and amd64.

Revision 1.53.2.1 / (download) - annotate - [select for diffs], Mon Apr 26 02:43:34 2010 UTC (13 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.53: +43 -96 lines
Diff to previous 1.53 (colored)

Apply renovated patch to significantly reduce TLB shootdowns in x86 pmap,
also provide TLBSTATS option to measure and track TLB shootdowns.  Details:

http://mail-index.netbsd.org/port-i386/2009/01/11/msg001018.html

Patch from Andrew Doran, proposed on tech-x86 [sic], in January 2009.

XXX: amd64 and xen are not yet; work in progress.

Revision 1.35.2.5 / (download) - annotate - [select for diffs], Thu Mar 11 15:02:29 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.35.2.4: +73 -4 lines
Diff to previous 1.35.2.4 (colored) to branchpoint 1.35 (colored) next main 1.36 (colored)

sync with head

Revision 1.53 / (download) - annotate - [select for diffs], Mon Feb 22 06:42:14 2010 UTC (14 years, 1 month ago) by darran
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1
Branch point for: rmind-uvmplock
Changes since 1.52: +3 -2 lines
Diff to previous 1.52 (colored)

DTrace: missed the opt_dtrace.h include for these.

Revision 1.52 / (download) - annotate - [select for diffs], Sun Feb 21 02:11:40 2010 UTC (14 years, 1 month ago) by darran
Branch: MAIN
Changes since 1.51: +58 -2 lines
Diff to previous 1.51 (colored)

Add the DTrace hooks to the kernel (KDTRACE_HOOKS config option).
DTrace adds a pointer to the lwp and proc structures which it uses to
manage its state.  These are opaque from the kernel perspective to keep
the kernel free of CDDL code. The state arenas are kmem_alloced and freed
as proccesses and threads are created and destoyed.

Also add a check for trap06 (privileged/illegal instruction) so that
DTrace can check for D scripts that may have triggered the trap so it
can clean up after them and resume normal operation.

Ok with core@.

Revision 1.51 / (download) - annotate - [select for diffs], Sun Jan 17 22:21:18 2010 UTC (14 years, 3 months ago) by dsl
Branch: MAIN
CVS Tags: uebayasi-xip-base
Branch point for: uebayasi-xip
Changes since 1.50: +11 -3 lines
Diff to previous 1.50 (colored)

Fix 'fault on load of %gs during retirn to userspace' to look for the
  correct instruction bytes.
Take the 'fault on load segment register' through the same path as 'fault
  on iret' so we don't have to fixup the broken stackframe that contains a
  mix of user and kernel registers,
Update comments about how the faults during return to userspace are processed.
Setting an invalid %gs in the saved context of a signal handler causes
  a SIGSEGV handler to be entered with what look like valid registers.

Revision 1.50 / (download) - annotate - [select for diffs], Sun Jan 10 15:21:36 2010 UTC (14 years, 3 months ago) by dsl
Branch: MAIN
Changes since 1.49: +6 -2 lines
Diff to previous 1.49 (colored)

If we fault on the 'iret' during return to userpace (eg if %eip is outside
the bounds of %cs) then hack the stack to contain a normal fault frame
for the signal setup code (etc).
Previously the code assumed that the original user trap frame was still
present - at it is for faults when loading the segment registers.

Revision 1.49 / (download) - annotate - [select for diffs], Wed Nov 25 14:28:50 2009 UTC (14 years, 4 months ago) by rmind
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.48: +4 -4 lines
Diff to previous 1.48 (colored)

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

Revision 1.42.10.3 / (download) - annotate - [select for diffs], Sun Nov 1 13:58:22 2009 UTC (14 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.42.10.2: +2 -86 lines
Diff to previous 1.42.10.2 (colored) to branchpoint 1.42 (colored)

Sync with HEAD.

Revision 1.35.2.4 / (download) - annotate - [select for diffs], Wed Aug 19 18:46:19 2009 UTC (14 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.35.2.3: +2 -86 lines
Diff to previous 1.35.2.3 (colored) to branchpoint 1.35 (colored)

sync with head.

Revision 1.48 / (download) - annotate - [select for diffs], Wed Jul 29 12:02:06 2009 UTC (14 years, 8 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7
Changes since 1.47: +2 -86 lines
Diff to previous 1.47 (colored)

remove Xen2 support.
ok bouyer@

Revision 1.42.10.2 / (download) - annotate - [select for diffs], Thu Jul 23 23:31:36 2009 UTC (14 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.42.10.1: +43 -6 lines
Diff to previous 1.42.10.1 (colored) to branchpoint 1.42 (colored)

Sync with HEAD.

Revision 1.35.2.3 / (download) - annotate - [select for diffs], Sat Jul 18 14:52:53 2009 UTC (14 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.35.2.2: +43 -6 lines
Diff to previous 1.35.2.2 (colored) to branchpoint 1.35 (colored)

sync with head.

Revision 1.47 / (download) - annotate - [select for diffs], Thu Jul 9 21:43:16 2009 UTC (14 years, 9 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, jymxensuspend-base
Changes since 1.46: +10 -2 lines
Diff to previous 1.46 (colored)

- Fix rare crashe in the intr_lapic_tlb_bcast() handler: save and setup
  %fs on i386, %gs on amd64 registers, before using them.  Otherwise, it
  might be invalid/garbage, eg. IPI can interrupt userspace.

- Explicitly initialize per-CPU emap generation number.

Thanks <drochner> for reporting and testing of patch.

Revision 1.46 / (download) - annotate - [select for diffs], Sun Jun 28 15:18:50 2009 UTC (14 years, 9 months ago) by rmind
Branch: MAIN
Changes since 1.45: +35 -6 lines
Diff to previous 1.45 (colored)

Ephemeral mapping (emap) implementation.  Concept is based on the idea that
activity of other threads will perform the TLB flush for the processes using
emap as a side effect.  To track that, global and per-CPU generation numbers
are used.  This idea was suggested by Andrew Doran; various improvements to
it by me.  Notes:

- For now, zero-copy on pipe is not yet enabled.
- TCP socket code would likely need more work.
- Additional UVM loaning improvements are needed.

Proposed on <tech-kern>, silence there.
Quickly reviewed by <ad>.

Revision 1.42.10.1 / (download) - annotate - [select for diffs], Wed May 13 17:17:50 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.42: +15 -42 lines
Diff to previous 1.42 (colored)

Sync with HEAD.

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

Revision 1.35.2.2 / (download) - annotate - [select for diffs], Mon May 4 08:11:16 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.35.2.1: +51 -76 lines
Diff to previous 1.35.2.1 (colored) to branchpoint 1.35 (colored)

sync with head.

Revision 1.42.4.1 / (download) - annotate - [select for diffs], Tue Apr 28 07:34:08 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.42: +15 -42 lines
Diff to previous 1.42 (colored) next main 1.43 (colored)

Sync with HEAD.

Revision 1.42.6.2 / (download) - annotate - [select for diffs], Sat Apr 4 17:39:09 2009 UTC (15 years ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-1-RC1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, 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-nb4-mips64-k7-u2a-k9b
Branch point for: netbsd-5-0, matt-nb5-mips64
Changes since 1.42.6.1: +5 -2 lines
Diff to previous 1.42.6.1 (colored) to branchpoint 1.42 (colored)

Pull up following revision(s) (requested by ad in ticket #656):
	sys/arch/amd64/amd64/gdt.c: revision 1.21 via patch
	sys/arch/amd64/amd64/machdep.c: revision 1.129 via patch
	sys/arch/i386/i386/gdt.c: revision 1.47 via patch
	sys/arch/i386/i386/kvm86.c: revision 1.17 via patch
	sys/arch/i386/i386/locore.S: revision 1.85 via patch
	sys/arch/i386/i386/machdep.c: revision 1.666 via patch
	sys/arch/i386/i386/vector.S: revision 1.45 via patch
	sys/arch/i386/include/pcb.h: revision 1.47 via patch
	sys/arch/x86/include/pmap.h: revision 1.22 via patch
	sys/arch/x86/include/sysarch.h: revision 1.8 via patch
	sys/arch/x86/x86/pmap.c: revision 1.80 via patch
	sys/arch/x86/x86/sys_machdep.c: revision 1.17 via patch
	sys/compat/linux/arch/i386/linux_machdep.c: revision 1.143 via patch
	sys/kern/init_main.c: revision 1.384 via patch
PR port-i386/40143 Viewing an mpeg transport stream with mplayer causes crash
Fix numerous problems:
1. LDT updates are not atomic.
2. Number of processes running with private LDTs and/or I/O bitmaps
   is not capped. System with high maxprocs can be paniced.
3. LDTR can be leaked over context switch.
4. GDT slot allocations can race, giving the same LDT slot to two procs.
5. Incomplete interrupt/trap frames can be stacked.
6. In some rare cases segment faults are not handled correctly.

Revision 1.42.6.1 / (download) - annotate - [select for diffs], Fri Mar 27 17:25:15 2009 UTC (15 years ago) by msaitoh
Branch: netbsd-5
Changes since 1.42: +7 -37 lines
Diff to previous 1.42 (colored)

Pull up following revision(s) (requested by mrg in ticket #609):
	sys/arch/i386/i386/vector.S: revision 1.44
	sys/arch/i386/i386/trap.c: revision 1.244
remove a bunch of special casing to handle improperly set segment
registers.  if we faulted trying to set them, just fall into
"we_re_toast", and arrange for a SEGV to be delivered to the
userland process.  fixes kernel mode faults.
from andrew doran.

Revision 1.45 / (download) - annotate - [select for diffs], Sat Mar 21 14:41:29 2009 UTC (15 years ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base
Changes since 1.44: +5 -2 lines
Diff to previous 1.44 (colored)

PR port-i386/40143 Viewing an mpeg transport stream with mplayer causes crash

Fix numerous problems:

1. LDT updates are not atomic.

2. Number of processes running with private LDTs and/or I/O bitmaps
   is not capped. System with high maxprocs can be paniced.

3. LDTR can be leaked over context switch.

4. GDT slot allocations can race, giving the same LDT slot to two procs.

5. Incomplete interrupt/trap frames can be stacked.

6. In some rare cases segment faults are not handled correctly.

Revision 1.44 / (download) - annotate - [select for diffs], Thu Mar 19 02:59:00 2009 UTC (15 years, 1 month ago) by mrg
Branch: MAIN
Changes since 1.43: +7 -37 lines
Diff to previous 1.43 (colored)

remove a bunch of special casing to handle improperly set segment
registers.  if we faulted trying to set them, just fall into
"we_re_toast", and arrange for a SEGV to be delivered to the
userland process.  fixes kernel mode faults.

from andrew doran.

Revision 1.43 / (download) - annotate - [select for diffs], Sun Mar 8 16:03:31 2009 UTC (15 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.42: +7 -7 lines
Diff to previous 1.42 (colored)

printf -> panic so MP panics work correctly

Revision 1.34.6.3 / (download) - annotate - [select for diffs], Sun Sep 28 10:39:59 2008 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.34.6.2: +3 -14 lines
Diff to previous 1.34.6.2 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored)

Sync with HEAD.

Revision 1.38.2.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:33:27 2008 UTC (15 years, 7 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.38.2.1: +37 -39 lines
Diff to previous 1.38.2.1 (colored) to branchpoint 1.38 (colored) next main 1.39 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.39.2.3 / (download) - annotate - [select for diffs], Fri Jul 18 16:37:28 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.39.2.2: +5 -5 lines
Diff to previous 1.39.2.2 (colored) to branchpoint 1.39 (colored) next main 1.40 (colored)

Sync with head.

Revision 1.42.2.2 / (download) - annotate - [select for diffs], Mon Jul 7 13:01:17 2008 UTC (15 years, 9 months ago) by gmcgarry
Branch: haad-dm
Changes since 1.42.2.1: +1365 -0 lines
Diff to previous 1.42.2.1 (colored) to branchpoint 1.42 (colored) next main 1.43 (colored)

Selector registers are 16-bit and binutils 2.18 insists that only 16-bit
accesses are permitted on them.  Therefore, change movl to movw.  No change to
machine code generated.

Revision 1.42.2.1, Mon Jul 7 13:01:16 2008 UTC (15 years, 9 months ago) by gmcgarry
Branch: haad-dm
Changes since 1.42: +0 -1365 lines
FILE REMOVED

file vector.S was added on branch haad-dm on 2008-07-07 13:01:17 +0000

Revision 1.42 / (download) - annotate - [select for diffs], Mon Jul 7 13:01:16 2008 UTC (15 years, 9 months ago) by gmcgarry
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, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5, jym-xensuspend, haad-dm
Changes since 1.41: +5 -5 lines
Diff to previous 1.41 (colored)

Selector registers are 16-bit and binutils 2.18 insists that only 16-bit
accesses are permitted on them.  Therefore, change movl to movw.  No change to
machine code generated.

Revision 1.39.2.2 / (download) - annotate - [select for diffs], Thu Jul 3 18:37:53 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.39.2.1: +2 -13 lines
Diff to previous 1.39.2.1 (colored) to branchpoint 1.39 (colored)

Sync with head.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Jul 2 19:18:52 2008 UTC (15 years, 9 months ago) by drochner
Branch: MAIN
Changes since 1.40: +2 -13 lines
Diff to previous 1.40 (colored)

remove some obviously obsolete definitions

Revision 1.34.6.2 / (download) - annotate - [select for diffs], Sun Jun 29 09:32:57 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.34.6.1: +32 -23 lines
Diff to previous 1.34.6.1 (colored) to branchpoint 1.34 (colored)

Sync with HEAD.

Revision 1.39.2.1 / (download) - annotate - [select for diffs], Fri Jun 27 15:11:17 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.39: +34 -25 lines
Diff to previous 1.39 (colored)

Sync with head.

Revision 1.40 / (download) - annotate - [select for diffs], Fri Jun 27 00:41:39 2008 UTC (15 years, 9 months ago) by gmcgarry
Branch: MAIN
Changes since 1.39: +34 -25 lines
Diff to previous 1.39 (colored)

Replace lines beginning with assembler-style comments with c-style comments,
since '#' can be interpretted as a preprocessor directive.  Remove single
quote ''' from assembler-style comments, as the preprocessor may ignore
everything between them.

Fixes compilation with pcc.

Revision 1.38.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:30:26 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.38: +6 -2 lines
Diff to previous 1.38 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.34.8.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:04:47 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.34.8.1: +6 -2 lines
Diff to previous 1.34.8.1 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored)

sync with head

Revision 1.34.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:22:17 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.34: +39 -18 lines
Diff to previous 1.34 (colored)

Sync with HEAD.

Revision 1.39 / (download) - annotate - [select for diffs], Sun Jun 1 21:24:15 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Branch point for: simonb-wapbl
Changes since 1.38: +6 -2 lines
Diff to previous 1.38 (colored)

Make trap counters per-cpu, like syscalls.

Revision 1.34.8.1 / (download) - annotate - [select for diffs], Sun May 18 12:32:10 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.34: +37 -20 lines
Diff to previous 1.34 (colored)

sync with head.

Revision 1.35.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:22:34 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.35: +36 -19 lines
Diff to previous 1.35 (colored)

sync with head.

Revision 1.38 / (download) - annotate - [select for diffs], Sat May 3 05:57:04 2008 UTC (15 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pf42-base2, yamt-nfs-mp-base2, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa
Changes since 1.37: +16 -5 lines
Diff to previous 1.37 (colored)

sprinkle END/IDTVEC_END.

Revision 1.37 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:24 2008 UTC (15 years, 11 months ago) by martin
Branch: MAIN
Changes since 1.36: +2 -9 lines
Diff to previous 1.36 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.36 / (download) - annotate - [select for diffs], Sun Apr 27 22:40:09 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.35: +22 -9 lines
Diff to previous 1.35 (colored)

- Make some entry/exit points preemption safe.
- Avoid mispredicted branches in Xsyscall.

Revision 1.35 / (download) - annotate - [select for diffs], Mon Apr 21 15:15:34 2008 UTC (15 years, 11 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored)

Access Xen's vcpu info structure per-CPU.
Tested on i386 and amd64 (both dom0 and domU) by me.
Xen2 tested (both dom0 and domU) by bouyer.
OK bouyer

Revision 1.24.24.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:07 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.24.24.2: +324 -7 lines
Diff to previous 1.24.24.2 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

sync with HEAD

Revision 1.28.2.4 / (download) - annotate - [select for diffs], Mon Feb 18 21:04:38 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.28.2.3: +324 -7 lines
Diff to previous 1.28.2.3 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored)

Sync with HEAD.

Revision 1.19.2.8 / (download) - annotate - [select for diffs], Mon Jan 21 09:37:05 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.7: +326 -7 lines
Diff to previous 1.19.2.7 (colored) next main 1.20 (colored)

sync with head

Revision 1.34 / (download) - annotate - [select for diffs], Fri Jan 11 20:00:14 2008 UTC (16 years, 3 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-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, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: yamt-pf42, mjf-devfs2
Changes since 1.33: +323 -6 lines
Diff to previous 1.33 (colored)

Merge the bouyer-xeni386 branch to head, at tag bouyer-xeni386-merge1 (the
branch is still active and will see i386PAE support developement).
Sumary of changes:
- switch xeni386 to the x86/x86/pmap.c, and the xen/x86/x86_xpmap.c
  pmap bootstrap.
- merge back most of xen/i386/ to i386/i386
- change the build to reduce diffs between i386 and amd64 in file locations
- remove include files that were identical to the i386/amd64 counterparts,
  the build will find them via the xen-ma/machine link.

Revision 1.32.6.3 / (download) - annotate - [select for diffs], Thu Jan 10 13:05:52 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.32.6.2: +3 -3 lines
Diff to previous 1.32.6.2 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored)

Change xeni386 build to match xenamd64:
- machine/ points to xen/include/i386
- remove includes that were identical to the i386/include/ ones; the build
  will find them though the xen-ma/machine link.
- include xen files using xen/ not machine/

Revision 1.32.6.2 / (download) - annotate - [select for diffs], Wed Jan 9 21:29:40 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.32.6.1: +324 -7 lines
Diff to previous 1.32.6.1 (colored) to branchpoint 1.32 (colored)

Merge Xen support back to i386/i386/vector.S

Revision 1.24.24.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:46:40 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.24.24.1: +13 -103 lines
Diff to previous 1.24.24.1 (colored) to branchpoint 1.24 (colored)

sync with HEAD

Revision 1.28.2.3 / (download) - annotate - [select for diffs], Thu Dec 27 00:43:09 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.28.2.2: +4 -2 lines
Diff to previous 1.28.2.2 (colored) to branchpoint 1.28 (colored)

Sync with HEAD.

Revision 1.32.2.1 / (download) - annotate - [select for diffs], Wed Dec 26 19:42:21 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.32: +4 -2 lines
Diff to previous 1.32 (colored) next main 1.33 (colored)

Sync with head.

Revision 1.32.6.1 / (download) - annotate - [select for diffs], Thu Dec 13 21:54:44 2007 UTC (16 years, 4 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.32: +4 -2 lines
Diff to previous 1.32 (colored)

Sync with HEAD

Revision 1.32.4.1 / (download) - annotate - [select for diffs], Thu Dec 13 05:05:18 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-kmem
Changes since 1.32: +4 -2 lines
Diff to previous 1.32 (colored) next main 1.33 (colored)

sync with head.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Dec 11 23:06:14 2007 UTC (16 years, 4 months ago) by lukem
Branch: MAIN
CVS Tags: yamt-kmem-base3, vmlocking2-base3, matt-armv6-base
Changes since 1.32: +4 -2 lines
Diff to previous 1.32 (colored)

Use __KERNEL_RCSID().  For these .S files, the following style was
adopted, a la .C files and <sys/cdefs.h>:
  *  move <machine/asm.h> to the top
  *  use __KERNEL_RCSID() immediately after it

Revision 1.24.22.6 / (download) - annotate - [select for diffs], Sun Dec 9 19:35:23 2007 UTC (16 years, 4 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.24.22.5: +4 -88 lines
Diff to previous 1.24.22.5 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Revision 1.28.2.2 / (download) - annotate - [select for diffs], Sat Dec 8 18:17:11 2007 UTC (16 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.28.2.1: +10 -98 lines
Diff to previous 1.28.2.1 (colored) to branchpoint 1.28 (colored)

Sync with HEAD.

Revision 1.19.2.7 / (download) - annotate - [select for diffs], Fri Dec 7 17:25:02 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.6: +10 -98 lines
Diff to previous 1.19.2.6 (colored)

sync with head

Revision 1.32 / (download) - annotate - [select for diffs], Mon Dec 3 20:21:33 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base2, yamt-kmem-base, vmlocking2-base2, vmlocking2-base1, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: yamt-kmem, vmlocking2, bouyer-xeni386
Changes since 1.31: +4 -5 lines
Diff to previous 1.31 (colored)

Merge from vmlocking.

Revision 1.24.6.9 / (download) - annotate - [select for diffs], Mon Dec 3 18:36:47 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.24.6.8: +7 -15 lines
Diff to previous 1.24.6.8 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Revision 1.24.22.5 / (download) - annotate - [select for diffs], Mon Dec 3 16:14:03 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.24.22.4: +7 -11 lines
Diff to previous 1.24.22.4 (colored) to branchpoint 1.24 (colored)

Sync with HEAD.

Revision 1.31 / (download) - annotate - [select for diffs], Mon Dec 3 15:33:46 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: vmlocking-nbase
Changes since 1.30: +1 -84 lines
Diff to previous 1.30 (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.30 / (download) - annotate - [select for diffs], Sat Dec 1 22:34:28 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.29: +7 -11 lines
Diff to previous 1.29 (colored)

Xintr_lapic_tlb_bcast: saving and restoring %ds may take up to 100 cycles.
Just access the globals using %ss.

Revision 1.24.22.4 / (download) - annotate - [select for diffs], Wed Nov 21 21:53:17 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.24.22.3: +1 -5 lines
Diff to previous 1.24.22.3 (colored) to branchpoint 1.24 (colored)

Sync with HEAD.

Revision 1.28.2.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:46:29 2007 UTC (16 years, 5 months ago) by mjf
Branch: mjf-devfs
Changes since 1.28: +1 -5 lines
Diff to previous 1.28 (colored)

Sync with HEAD.

Revision 1.26.4.2 / (download) - annotate - [select for diffs], Sun Nov 18 19:34:30 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.26.4.1: +0 -4 lines
Diff to previous 1.26.4.1 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

Sync with HEAD

Revision 1.24.6.8 / (download) - annotate - [select for diffs], Fri Nov 16 20:31:20 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.24.6.7: +4 -5 lines
Diff to previous 1.24.6.7 (colored) to branchpoint 1.24 (colored)

- Don't bother entering the debugger for WARNING: SPL NOT LOWERED ...
  It's nearly impossible to debug at that point. Just patch things
  up and continue.
- Don't assign to ci_ilevel to drop the IPL, it can cause deadlock.
  Use spllower() instead.

Revision 1.19.2.6 / (download) - annotate - [select for diffs], Thu Nov 15 11:42:57 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.5: +1 -5 lines
Diff to previous 1.19.2.5 (colored)

sync with head.

Revision 1.29 / (download) - annotate - [select for diffs], Wed Nov 14 17:55:00 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: bouyer-xenamd64-base2, bouyer-xenamd64-base
Changes since 1.28: +1 -5 lines
Diff to previous 1.28 (colored)

- Remove I486_CPU, I586_CPU, I686_CPU options. They buy us nothing and
  clutter the code significantly.
- Remove pccons.

Revision 1.24.24.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:17:36 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.24: +124 -4 lines
Diff to previous 1.24 (colored)

sync with HEAD

Revision 1.19.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:26:42 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.4: +4 -3 lines
Diff to previous 1.19.2.4 (colored)

sync with head.

Revision 1.24.22.3 / (download) - annotate - [select for diffs], Fri Oct 26 15:42:37 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.24.22.2: +2 -2 lines
Diff to previous 1.24.22.2 (colored) to branchpoint 1.24 (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.26.4.1 / (download) - annotate - [select for diffs], Thu Oct 25 22:35:52 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

Sync with HEAD.

Revision 1.24.6.7 / (download) - annotate - [select for diffs], Tue Oct 23 20:13:05 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.24.6.6: +2 -2 lines
Diff to previous 1.24.6.6 (colored) to branchpoint 1.24 (colored)

Sync with head.

Revision 1.28 / (download) - annotate - [select for diffs], Thu Oct 18 15:28:36 2007 UTC (16 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: jmcneill-base
Branch point for: mjf-devfs
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (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.27 / (download) - annotate - [select for diffs], Wed Oct 17 19:54:47 2007 UTC (16 years, 6 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4
Changes since 1.26: +1 -1 lines
Diff to previous 1.26 (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.24.6.6 / (download) - annotate - [select for diffs], Tue Oct 9 15:22:05 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.24.6.5: +3 -2 lines
Diff to previous 1.24.6.5 (colored) to branchpoint 1.24 (colored)

Sync with head.

Revision 1.24.14.1 / (download) - annotate - [select for diffs], Wed Oct 3 19:23:50 2007 UTC (16 years, 6 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.24: +123 -3 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Sync with HEAD

Revision 1.24.22.2 / (download) - annotate - [select for diffs], Tue Oct 2 18:27:23 2007 UTC (16 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.24.22.1: +3 -2 lines
Diff to previous 1.24.22.1 (colored) to branchpoint 1.24 (colored)

Sync with HEAD.

Revision 1.26.2.1 / (download) - annotate - [select for diffs], Sat Sep 29 11:25:41 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored) next main 1.27 (colored)

DO_DEFERRED_SWITCH, CHECK_DEFERRED_SWITCH: remove an unused argument.

Revision 1.26 / (download) - annotate - [select for diffs], Mon Sep 17 21:41:53 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
Branch point for: yamt-x86pmap, bouyer-xenamd64
Changes since 1.25: +3 -2 lines
Diff to previous 1.25 (colored)

Don't subtract CR4_PGE from %cr4, just clear it. Otherwise bad things could
happen if we are unlucky and interrupt tlbflushg().

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

Sync with HEAD.

Revision 1.19.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:26:46 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.3: +122 -3 lines
Diff to previous 1.19.2.3 (colored)

sync with head.

Revision 1.24.18.1 / (download) - annotate - [select for diffs], Mon Sep 3 10:19:04 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.24: +122 -3 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Aug 29 23:38:04 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base5
Changes since 1.24: +122 -3 lines
Diff to previous 1.24 (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.24.6.5 / (download) - annotate - [select for diffs], Wed Aug 29 22:36:07 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.24.6.4: +9 -17 lines
Diff to previous 1.24.6.4 (colored) to branchpoint 1.24 (colored)

In the TLB shootdown handlers, don't ack the request until the invalidation
is complete. We could end up loading bogus translations due to a speculative
load if the calling CPU recycles a PDE/PTE, and these may not be shot down
before the handler returns. Pointed out by yamt. I think this is very
unlikely to happen but it's better to be on the safe side. To be revisted
later, as the invalidations are time consuming and it would be nice to
release the caller sooner rather than later.

Revision 1.24.6.4 / (download) - annotate - [select for diffs], Sun Aug 26 07:03:10 2007 UTC (16 years, 7 months ago) by yamt
Branch: vmlocking
Changes since 1.24.6.3: +1 -3 lines
Diff to previous 1.24.6.3 (colored) to branchpoint 1.24 (colored)

netisr.h is no longer necessary.

Revision 1.24.6.3 / (download) - annotate - [select for diffs], Tue Aug 21 10:36:52 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.24.6.2: +31 -32 lines
Diff to previous 1.24.6.2 (colored) to branchpoint 1.24 (colored)

- Add ci_cpumask and use in preference to (1 << ci_cpuid). Some processors
  are bad at shifting by non-constant amounts.
- pmap_tlb_shootdown() must be called with preemption disabled.
- Defer waiting for tlb shootdown to complete after kenter_pa()/kremove().
  Spin in pmap_update() and in pmap_detactivate(), in case the LWP has been
  preempted
- When preparing to send a multicast shootdown IPI, avoid scanning the list
  of CPUs if the pmap's bitmask indicates that it's only active locally.

Revision 1.24.6.2 / (download) - annotate - [select for diffs], Sun Jul 29 10:18:50 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.24.6.1: +132 -7 lines
Diff to previous 1.24.6.1 (colored) to branchpoint 1.24 (colored)

- When zeroing/copying pages, use SSE2 movtni to avoid polluting the cache.
- By default, align assembly routines on 32-byte starting boundaries.
- There are now 8 interrupt priority levels, half of which are softints.
  Update intrdefs.h to match.
- Always clear/set spinlock words - removes lots of ifdefs.
- Remove the horrible ci_self150 hack that I introduced.
- Overhaul how TLB shootdown is performed. Inspired by a similar change in
  OpenBSD but implemented quite differently. This should be a lot faster
  but I have not benchmarked it yet.

Revision 1.24.6.1 / (download) - annotate - [select for diffs], Sun Jun 17 21:30:39 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.24: +1 -79 lines
Diff to previous 1.24 (colored)

- Increase the number of thread priorities from 128 to 256. How the space
  is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
  is provided, with hooks for fast-path MD code that can run the interrupt
  threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
  locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.

Revision 1.19.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:06:59 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.2: +2 -1 lines
Diff to previous 1.19.2.2 (colored)

sync with head.

Revision 1.22.20.2 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:04 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.22.20.1: +2 -1 lines
Diff to previous 1.22.20.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

Sync with head.

Revision 1.24 / (download) - annotate - [select for diffs], Sat Jan 13 17:54:26 2007 UTC (17 years, 3 months ago) by cube
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, yamt-idlelwp, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, post-newlock2-merge, nick-csl-alignment-base, newlock2-nbase, newlock2-base, mjf-ufs-trans-base, mjf-ufs-trans, matt-mips64-base, matt-mips64, hpcarm-cleanup, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, ppcoea-renovation, nick-csl-alignment, matt-armv6, jmcneill-pm
Changes since 1.23: +2 -1 lines
Diff to previous 1.23 (colored)

Include machine/specialreg.h, needed if IPKDB is selected.

Revision 1.22.20.1 / (download) - annotate - [select for diffs], Fri Jan 12 01:00:50 2007 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.22: +22 -19 lines
Diff to previous 1.22 (colored)

Sync with head.

Revision 1.19.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:46:11 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19.2.1: +22 -19 lines
Diff to previous 1.19.2.1 (colored)

sync with head.

Revision 1.22.22.1 / (download) - annotate - [select for diffs], Sun Dec 10 07:16:10 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.22: +22 -19 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

sync with head.

Revision 1.23 / (download) - annotate - [select for diffs], Fri Dec 8 15:05:18 2006 UTC (17 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3
Changes since 1.22: +22 -19 lines
Diff to previous 1.22 (colored)

- pass intrframe by-pointer, not by-value.
- make i386 and xen use per-cpu interrupt stack.

xen part is reviewed by Manuel Bouyer.

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:52:19 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.19: +4 -4 lines
Diff to previous 1.19 (colored)

sync with head.

Revision 1.22 / (download) - annotate - [select for diffs], Sun Dec 11 12:17:41 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, peter-altq-base, peter-altq, 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, 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-splraiseipl, newlock2
Changes since 1.21: +1 -1 lines
Diff to previous 1.21 (colored)

merge ktrace-lwp.

Revision 1.9.2.5 / (download) - annotate - [select for diffs], Thu Nov 10 13:56:47 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.9.2.4: +4 -20 lines
Diff to previous 1.9.2.4 (colored) next main 1.10 (colored)

Sync with HEAD. Here we go again...

Revision 1.21 / (download) - annotate - [select for diffs], Mon Nov 7 11:42:34 2005 UTC (18 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, ktrace-lwp-base
Changes since 1.20: +1 -3 lines
Diff to previous 1.20 (colored)

some assym cleanup.
- move copyin and friends from locore.S to their own file, copy.S.
  share it between i386 and xen.
- defparam KERNBASE and kill KERNBASE_LOCORE hack.
- add more symbols to assym.h and use it where appropriate.

Revision 1.17.10.2 / (download) - annotate - [select for diffs], Tue Oct 11 21:04:19 2005 UTC (18 years, 6 months ago) by tron
Branch: netbsd-3
CVS Tags: 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
Changes since 1.17.10.1: +3 -1 lines
Diff to previous 1.17.10.1 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

Pull up following revision(s) (requested by christos in ticket #880):
	sys/arch/i386/i386/vector.S: revision 1.20
	sys/arch/i386/i386/trap.c: revision 1.205
handle MMX faults as floating exceptions. Tested by Hauke Fath; matlab
passes all its regression suite without panicking the kernel.

Revision 1.13.4.1 / (download) - annotate - [select for diffs], Tue Oct 11 17:14:45 2005 UTC (18 years, 6 months ago) by riz
Branch: netbsd-2
CVS Tags: netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1
Changes since 1.13: +4 -2 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

Pull up following revision(s) (requested by christos in ticket #5923):
	sys/arch/i386/i386/vector.S: revision 1.20
	sys/arch/i386/i386/trap.c: revision 1.205
handle MMX faults as floating exceptions. Tested by Hauke Fath; matlab
passes all its regression suite without panicking the kernel.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Tue Oct 11 17:14:37 2005 UTC (18 years, 6 months ago) by riz
Branch: netbsd-2-0
CVS Tags: netbsd-2-0-3-RELEASE
Changes since 1.13: +4 -2 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

Pull up following revision(s) (requested by christos in ticket #5923):
	sys/arch/i386/i386/vector.S: revision 1.20
	sys/arch/i386/i386/trap.c: revision 1.205
handle MMX faults as floating exceptions. Tested by Hauke Fath; matlab
passes all its regression suite without panicking the kernel.

Revision 1.20 / (download) - annotate - [select for diffs], Mon Oct 10 21:08:01 2005 UTC (18 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, thorpej-vnode-attr-base, thorpej-vnode-attr
Changes since 1.19: +4 -2 lines
Diff to previous 1.19 (colored)

handle MMX faults as floating exceptions. Tested by Hauke Fath; matlab
passes all its regression suite without panicking the kernel.

Revision 1.17.10.1 / (download) - annotate - [select for diffs], Wed Aug 24 21:46:31 2005 UTC (18 years, 7 months ago) by tron
Branch: netbsd-3
Changes since 1.17: +1 -4 lines
Diff to previous 1.17 (colored)

Pull up revision 1.19 (requested by yamt in ticket #690):
remove some unsafe sti insns before INTRFASTEXIT, which
can allow infinite recursion of the handler.

Revision 1.19 / (download) - annotate - [select for diffs], Sun Jun 12 05:32:45 2005 UTC (18 years, 10 months ago) by yamt
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.18: +1 -4 lines
Diff to previous 1.18 (colored)

remove some unsafe sti insns before INTRFASTEXIT, which
can allow infinite recursion of the handler.

Revision 1.18 / (download) - annotate - [select for diffs], Tue May 31 00:45:03 2005 UTC (18 years, 10 months ago) by chs
Branch: MAIN
Changes since 1.17: +1 -14 lines
Diff to previous 1.17 (colored)

remove vestigal {,e}intr{names,cnt} symbols now that vmstat doesn't need them.

Revision 1.9.2.4 / (download) - annotate - [select for diffs], Tue Nov 2 07:50:35 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.9.2.3: +1 -11 lines
Diff to previous 1.9.2.3 (colored)

Sync with HEAD.

Revision 1.17 / (download) - annotate - [select for diffs], Sat Oct 23 21:24:05 2004 UTC (19 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: netbsd-3
Changes since 1.16: +1 -11 lines
Diff to previous 1.16 (colored)

to determine if an interrupt needs to grab the kernel lock or not,
check interrupt's own ipl rather than cpu's current ipl.

Revision 1.9.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:16:47 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.9.2.2: +1 -1 lines
Diff to previous 1.9.2.2 (colored)

Fix the sync with head I botched.

Revision 1.9.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:35:28 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.9.2.1: +0 -0 lines
Diff to previous 1.9.2.1 (colored)

Sync with HEAD.

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:35:52 2004 UTC (19 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.9: +38 -24 lines
Diff to previous 1.9 (colored)

Sync with HEAD

Revision 1.16 / (download) - annotate - [select for diffs], Wed Jul 7 01:03:57 2004 UTC (19 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.15: +4 -3 lines
Diff to previous 1.15 (colored)

Minor adjustment so that it is safe for an interrupt handler to unregister
itself.  Fixes a potential problem with PCMCIA IRQ probing.  See PR 9928.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Jun 28 09:13:12 2004 UTC (19 years, 9 months ago) by fvdl
Branch: MAIN
Changes since 1.14: +6 -5 lines
Diff to previous 1.14 (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.14 / (download) - annotate - [select for diffs], Tue Apr 20 11:59:20 2004 UTC (19 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.13: +6 -6 lines
Diff to previous 1.13 (colored)

add '.L' prefixes to local labels.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Mar 11 11:39:26 2004 UTC (20 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: netbsd-2-base, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, 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-2-RELEASE, netbsd-2-0-1-RELEASE
Branch point for: netbsd-2-0, netbsd-2
Changes since 1.12: +4 -4 lines
Diff to previous 1.12 (colored)

update trap(), resume_iret and friends to match with
the recent version of INTRFASTEXIT.
might be related to PR/24711.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Feb 20 17:35:01 2004 UTC (20 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.11: +19 -11 lines
Diff to previous 1.11 (colored)

defer pmap switching until it's really needed
to avoid frequent loading of cr3 register, which involves tlb flush.

with some fixes/improvements from Stephan Uphoff and Bang Jun-Young.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Dec 12 20:17:53 2003 UTC (20 years, 4 months ago) by nathanw
Branch: MAIN
Changes since 1.10: +3 -3 lines
Diff to previous 1.10 (colored)

Trap 0x8 (T_DOUBLEFLT) and 0x11 (T_ALIGNFLT) should be TRAP, not
ZTRAP; while the error code is always 0, the processor indeed pushes
the 0 on the stack, according to table 5-1 in the IA32 SPG.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Aug 20 21:48:44 2003 UTC (20 years, 8 months ago) by fvdl
Branch: MAIN
Changes since 1.9: +7 -3 lines
Diff to previous 1.9 (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.9 / (download) - annotate - [select for diffs], Mon Jun 23 11:01:22 2003 UTC (20 years, 9 months ago) by martin
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.8: +2 -1 lines
Diff to previous 1.8 (colored)

Make sure to include opt_foo.h if a defflag option FOO is used.

Revision 1.8 / (download) - annotate - [select for diffs], Sun May 4 22:01:58 2003 UTC (20 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.7: +207 -102 lines
Diff to previous 1.7 (colored)

Block level-triggered interrupts at the ioapic if they are deferred.
Avoids interrupt storms seen on some systems. Many thanks to
Stoned Elipot for testing.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Feb 26 21:28:25 2003 UTC (21 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.6: +13 -13 lines
Diff to previous 1.6 (colored)

Adapt for move of files to arch/x86.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Feb 4 14:17:11 2003 UTC (21 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.5: +1 -4 lines
Diff to previous 1.5 (colored)

don't restore cpl at end of Xsoft*.
it's too early and allows recursive interrupts.

hopefully fixes PR 20180. (SAITOH Masanobu)
Ok'ed by Frank van der Linden.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Jan 17 23:10:32 2003 UTC (21 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)

Merge the nathanw_sa branch.

Revision 1.4.2.2 / (download) - annotate - [select for diffs], Wed Dec 11 06:00:59 2002 UTC (21 years, 4 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.4.2.1: +904 -0 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Sync with HEAD.

Revision 1.4.2.1, Wed Dec 4 23:13:09 2002 UTC (21 years, 4 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.4: +0 -904 lines
FILE REMOVED

file vector.S was added on branch nathanw_sa on 2002-12-11 06:00:59 +0000

Revision 1.4 / (download) - annotate - [select for diffs], Wed Dec 4 23:13:09 2002 UTC (21 years, 4 months ago) by fvdl
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Branch point for: nathanw_sa
Changes since 1.3: +5 -5 lines
Diff to previous 1.3 (colored)

For the resume/recurse case, make sure that the interrupt mask level
of the handler is set before acquiring the kernel lock, to avoid a
recursive chain of interrupt processing out of splx().

Revision 1.3 / (download) - annotate - [select for diffs], Sun Dec 1 00:15:36 2002 UTC (21 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.2: +7 -7 lines
Diff to previous 1.2 (colored)

For softints, there's no intrframe on the stack, so don't try to use it.
Use a seperate lock function (in taking the same lock) instead.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Nov 27 21:59:55 2002 UTC (21 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.1: +6 -5 lines
Diff to previous 1.1 (colored)

Only include IPI stubs in the MULTIPROCESSOR case. From Hubert Feyrer.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Nov 22 15:01:18 2002 UTC (21 years, 4 months ago) by fvdl
Branch: MAIN

.s -> .S rename. New files: vector.S and spl.S, they have been split
off from locore.s, plus parts of isa/vector.s and isa/icu.s

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>