The NetBSD Project

CVS log for src/sys/arch/i386/i386/genassym.cf

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.135 / (download) - annotate - [select for diffs], Wed Oct 4 20:28:05 2023 UTC (6 months, 1 week ago) by ad
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.134: +5 -3 lines
Diff to previous 1.134 (colored)

Eliminate l->l_ncsw and l->l_nivcsw.  From memory think they were added
before we had per-LWP struct rusage; the same is now tracked there.

Revision 1.134 / (download) - annotate - [select for diffs], Sat Sep 23 14:41:15 2023 UTC (6 months, 3 weeks ago) by ad
Branch: MAIN
Changes since 1.133: +1 -2 lines
Diff to previous 1.133 (colored)

Remove unused L_KPRIORITY.

Revision 1.133 / (download) - annotate - [select for diffs], Fri Mar 3 14:32:27 2023 UTC (13 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.132: +1 -2 lines
Diff to previous 1.132 (colored)

Revert "x86: Add kthread_fpu_enter/exit support, take two -- forgot i386 bits."

kthread_fpu_enter/exit changes broke some hardware, unclear why, to
investigate before fixing and reapplying these changes.

Revision 1.132 / (download) - annotate - [select for diffs], Sat Feb 25 18:35:54 2023 UTC (13 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.131: +2 -1 lines
Diff to previous 1.131 (colored)

x86: Add kthread_fpu_enter/exit support, take two -- forgot i386 bits.

Revision 1.131 / (download) - annotate - [select for diffs], Tue Dec 27 08:40:40 2022 UTC (15 months, 2 weeks ago) by msaitoh
Branch: MAIN
Changes since 1.130: +8 -9 lines
Diff to previous 1.130 (colored)

Move some definitions. Add comment. No functional change.

Revision 1.130 / (download) - annotate - [select for diffs], Mon Dec 26 15:52:37 2022 UTC (15 months, 2 weeks ago) by msaitoh
Branch: MAIN
Changes since 1.129: +13 -15 lines
Diff to previous 1.129 (colored)

Reduce diff between i386/i386/genassym.cf and amd64/amd64/genassym.cf. NFCI.

Revision 1.129 / (download) - annotate - [select for diffs], Mon Dec 26 09:39:29 2022 UTC (15 months, 2 weeks ago) by msaitoh
Branch: MAIN
Changes since 1.128: +13 -8 lines
Diff to previous 1.128 (colored)

Sort lines. Add comment. No functional change.

Revision 1.128 / (download) - annotate - [select for diffs], Mon Dec 26 09:12:42 2022 UTC (15 months, 2 weeks ago) by msaitoh
Branch: MAIN
Changes since 1.127: +36 -36 lines
Diff to previous 1.127 (colored)

Reduce diff between i386/i386/genassym.cf and amd64/amd64/genassym.cf. NFCI.

 - Whitespace fix.
 - Sort lines.

Revision 1.127 / (download) - annotate - [select for diffs], Mon Dec 26 08:59:01 2022 UTC (15 months, 2 weeks ago) by msaitoh
Branch: MAIN
Changes since 1.126: +1 -2 lines
Diff to previous 1.126 (colored)

Remove duplicated IPL_SCHED. No functional change.

Revision 1.126 / (download) - annotate - [select for diffs], Wed Sep 7 00:40:18 2022 UTC (19 months, 1 week ago) by knakahara
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.125: +3 -3 lines
Diff to previous 1.125 (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.125 / (download) - annotate - [select for diffs], Sat Aug 20 23:48:50 2022 UTC (19 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.124: +2 -1 lines
Diff to previous 1.124 (colored)

x86: Split most of pmap.h into pmap_private.h or vmparam.h.

This way pmap.h only contains the MD definition of the MI pmap(9)
API, which loads of things in the kernel rely on, so changing x86
pmap internals no longer requires recompiling the entire kernel every
time.

Callers needing these internals must now use machine/pmap_private.h.
Note: This is not x86/pmap_private.h because it contains three parts:

1. CPU-specific (different for i386/amd64) definitions used by...

2. common definitions, including Xenisms like xpmap_ptetomach,
   further used by...

3. more CPU-specific inlines for pmap_pte_* operations

So {amd64,i386}/pmap_private.h defines 1, includes x86/pmap_private.h
for 2, and then defines 3.  Maybe we should split that out into a new
pmap_pte.h to reduce this trouble.

No functional change intended, other than that some .c files must
include machine/pmap_private.h when previously uvm/uvm_pmap.h
polluted the namespace with pmap internals.

Note: This migrates part of i386/pmap.h into i386/vmparam.h --
specifically the parts that are needed for several constants defined
in vmparam.h:

VM_MAXUSER_ADDRESS
VM_MAX_ADDRESS
VM_MAX_KERNEL_ADDRESS
VM_MIN_KERNEL_ADDRESS

Since i386 needs PDP_SIZE in vmparam.h, I added it there on amd64
too, just to keep things parallel.

Revision 1.124 / (download) - annotate - [select for diffs], Sun Jun 12 11:36:42 2022 UTC (22 months ago) by bouyer
Branch: MAIN
Changes since 1.123: +6 -1 lines
Diff to previous 1.123 (colored)

XenPV: in cpu_switchto(), reset ci_xen_clockf_usermode/ci_xen_clockf_pc,
in case a clock interrupt is deffered while we're switching lwp.
Fix a (rare) panic:
panic: kernel diagnostic assertion "p != NULL" failed: file "/usr/src/sys/kern/kern_clock.c", line 438
seen when xen_timer_handler() is called from the splx() at the end of
mi_switch()

Revision 1.123 / (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.122: +2 -1 lines
Diff to previous 1.122 (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.122 / (download) - annotate - [select for diffs], Sat May 2 16:44:35 2020 UTC (3 years, 11 months ago) by bouyer
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.121: +4 -2 lines
Diff to previous 1.121 (colored)

Introduce Xen PVH support in GENERIC.
This is compiled in with
options XENPVHVM
x86 changes:
- add Xen section and xen pvh entry points to locore.S. Set vm_guest
  to VM_GUEST_XENPVH in this entry point.
  Most of the boot procedure (especially page table setup and switch to
  paged mode) is shared with native.
- change some x86_delay() to delay_func(), which points to x86_delay() for
  native/HVM, and xen_delay() for PVH

Xen changes:
- remove Xen bits from init_x86_64_ksyms() and init386_ksyms()
  and move to xen_init_ksyms(), used for both PV and PVH
- set ISA no-legacy-devices property for PVH
- factor out code from Xen's cpu_bootconf() to xen_bootconf()
  in xen_machdep.c
- set up a specific pvh_consinit() which starts with printk()
  (which uses a simple hypercall that is available early) and switch to
  xencons when we can use pmap_kenter_pa().

Revision 1.121 / (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.120: +8 -7 lines
Diff to previous 1.120 (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.119.4.4 / (download) - annotate - [select for diffs], Sat Apr 25 11:23:56 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.119.4.3: +1 -4 lines
Diff to previous 1.119.4.3 (colored) to branchpoint 1.119 (colored) next main 1.120 (colored)

Sync with bouyer-xenpvh-base2 (HEAD)

Revision 1.120 / (download) - annotate - [select for diffs], Sat Apr 25 05:17:16 2020 UTC (3 years, 11 months ago) by maxv
Branch: MAIN
CVS Tags: bouyer-xenpvh-base2
Changes since 1.119: +1 -4 lines
Diff to previous 1.119 (colored)

Switch to the new PTE naming. The old naming is now unused, remove it.

Revision 1.107.4.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:52 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.107.4.1: +7 -8 lines
Diff to previous 1.107.4.1 (colored) to branchpoint 1.107 (colored) next main 1.108 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.119.4.3 / (download) - annotate - [select for diffs], Sun Apr 12 17:25:52 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.119.4.2: +6 -5 lines
Diff to previous 1.119.4.2 (colored) to branchpoint 1.119 (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.119.4.2 / (download) - annotate - [select for diffs], Sat Apr 11 10:11:31 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.119.4.1: +1 -3 lines
Diff to previous 1.119.4.1 (colored) to branchpoint 1.119 (colored)

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

Revision 1.119.4.1 / (download) - annotate - [select for diffs], Wed Apr 8 17:59:16 2020 UTC (4 years ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.119: +3 -1 lines
Diff to previous 1.119 (colored)

Remove VM_GUEST_XEN and define only Xen subtypes:
VM_GUEST_XENPV
VM_GUEST_XENPVH
VM_GUEST_XENHVM
VM_GUEST_XENPVHVM

Set vm_guest in the start routine, if it is hypervisor-specific (e.g Xen PV).
If vm_guest was not set early and we detect Xen in identify_hypervisor(),
assume it is VM_GUEST_XENHVM. Refine to VM_GUEST_PVXENHVM in
hypervisor_match().

Revision 1.117.2.4 / (download) - annotate - [select for diffs], Sat Feb 29 20:18:25 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.117.2.3: +1 -4 lines
Diff to previous 1.117.2.3 (colored) to branchpoint 1.117 (colored) next main 1.118 (colored)

Sync with head.

Revision 1.119 / (download) - annotate - [select for diffs], Mon Feb 17 09:09:48 2020 UTC (4 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, bouyer-xenpvh-base1, bouyer-xenpvh-base, ad-namecache-base3
Branch point for: bouyer-xenpvh
Changes since 1.118: +1 -4 lines
Diff to previous 1.118 (colored)

G/C LS{SLEEP,RUN,ONPROC}

LWP status manipulation was moved out of assembly long ago.

Revision 1.117.2.3 / (download) - annotate - [select for diffs], Wed Jan 22 11:40:16 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.117.2.2: +11 -1 lines
Diff to previous 1.117.2.2 (colored) to branchpoint 1.117 (colored)

Back out previous.

Revision 1.117.2.2 / (download) - annotate - [select for diffs], Sun Jan 19 21:08:29 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.117.2.1: +1 -11 lines
Diff to previous 1.117.2.1 (colored) to branchpoint 1.117 (colored)

Adaptive rwlocks proposed on tech-kern and working well on this branch
with vnode locks.

Revision 1.117.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:25 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.117: +1 -2 lines
Diff to previous 1.117 (colored)

Sync with head.

Revision 1.118 / (download) - annotate - [select for diffs], Wed Jan 8 17:38:41 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2, ad-namecache-base1
Changes since 1.117: +1 -2 lines
Diff to previous 1.117 (colored)

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

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

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

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

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

Revision 1.117 / (download) - annotate - [select for diffs], Mon Dec 30 23:32:29 2019 UTC (4 years, 3 months ago) by thorpej
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.116: +2 -1 lines
Diff to previous 1.116 (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.116 / (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.115: +2 -1 lines
Diff to previous 1.115 (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.115 / (download) - annotate - [select for diffs], Thu Nov 21 19:27:54 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.114: +1 -3 lines
Diff to previous 1.114 (colored)

x86: abort pageidlezero unconditionally if there is something to run.

Revision 1.114 / (download) - annotate - [select for diffs], Sat Oct 12 06:31:03 2019 UTC (4 years, 6 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.113: +5 -2 lines
Diff to previous 1.113 (colored)

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

Bump the kernel version to 9.99.16.

Revision 1.107.4.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.107: +13 -4 lines
Diff to previous 1.107 (colored)

Sync with HEAD

Revision 1.99.10.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.99.10.1: +3 -1 lines
Diff to previous 1.99.10.1 (colored) to branchpoint 1.99 (colored) next main 1.100 (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.113 / (download) - annotate - [select for diffs], Sat Mar 9 08:42:25 2019 UTC (5 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2
Changes since 1.112: +3 -1 lines
Diff to previous 1.112 (colored)

Start replacing the x86 PTE bits.

Revision 1.112 / (download) - annotate - [select for diffs], Thu Mar 7 13:26:24 2019 UTC (5 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.111: +1 -2 lines
Diff to previous 1.111 (colored)

Drop PG_RO, PG_KR and PG_PROT, they are useless and create confusion.

Revision 1.111 / (download) - annotate - [select for diffs], Fri Feb 15 08:54:01 2019 UTC (5 years, 1 month ago) by nonaka
Branch: MAIN
Changes since 1.110: +3 -1 lines
Diff to previous 1.110 (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.110 / (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.109: +2 -2 lines
Diff to previous 1.109 (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.109 / (download) - annotate - [select for diffs], Sat Feb 2 12:32:54 2019 UTC (5 years, 2 months ago) by cherry
Branch: MAIN
Changes since 1.108: +2 -2 lines
Diff to previous 1.108 (colored)

Switch NetBSD/xen to use XEN api tag RELEASE-4.11.1

The headers for this api are in sys/external/mit/xen-include-public/dist/

Revision 1.107.2.1 / (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.107: +8 -2 lines
Diff to previous 1.107 (colored) next main 1.108 (colored)

Sync with HEAD, resolve a few conflicts

Revision 1.108 / (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.107: +8 -2 lines
Diff to previous 1.107 (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.99.10.1 / (download) - annotate - [select for diffs], Tue Mar 13 15:47:44 2018 UTC (6 years, 1 month ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.99: +6 -5 lines
Diff to previous 1.99 (colored)

Pullup the following revisions via patch, requested by maxv in ticket #629:

	sys/arch/amd64/amd64/genassym.cf		1.63,1.64
	sys/arch/amd64/amd64/locore.S			1.144
	sys/arch/amd64/amd64/machdep.c			1.281-1.283
	sys/arch/i386/i386/genassym.cf			1.105-1.106
	sys/arch/i386/i386/locore.S			1.155
	sys/arch/i386/i386/machdep.c			1.802 (adapted),1.803
	sys/arch/x86/include/cpu.h			1.85
	sys/arch/x86/x86/intr.c				1.115-1.116
	sys/arch/x86/x86/pmap.c				1.275
	sys/arch/x86/x86/sys_machdep.c			1.45
	sys/arch/xen/x86/cpu.c				1.117

Stop sharing the double-fault stack.
Merge the TSS structures into one single cpu_tss structure, and
allocate it dynamically.

Revision 1.107 / (download) - annotate - [select for diffs], Thu Jan 4 14:02:23 2018 UTC (6 years, 3 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-base, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.106: +2 -1 lines
Diff to previous 1.106 (colored)

Declare IOMAP_VALIDOFF, not to use ci_tss pointers.

Revision 1.106 / (download) - annotate - [select for diffs], Thu Jan 4 13:36:30 2018 UTC (6 years, 3 months ago) by maxv
Branch: MAIN
Changes since 1.105: +7 -6 lines
Diff to previous 1.105 (colored)

Allocate the TSS area dynamically. This way cpu_info and cpu_tss can be
put in separate pages.

Revision 1.105 / (download) - annotate - [select for diffs], Thu Jan 4 12:34:15 2018 UTC (6 years, 3 months ago) by maxv
Branch: MAIN
Changes since 1.104: +5 -5 lines
Diff to previous 1.104 (colored)

Group the different TSSes into a cpu_tss structure. And pack this
structure to make sure there is no padding between 'tss' and 'iomap'.

Revision 1.92.2.3 / (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.92.2.2: +1 -43 lines
Diff to previous 1.92.2.2 (colored) to branchpoint 1.92 (colored) next main 1.93 (colored)

update from HEAD

Revision 1.104 / (download) - annotate - [select for diffs], Sun Sep 17 09:04:51 2017 UTC (6 years, 6 months ago) by maxv
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.103: +1 -19 lines
Diff to previous 1.103 (colored)

Remove TRAPLOG from i386. Nowadays there are better instrumentation tools,
in both software and hardware.

Revision 1.97.6.2 / (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.97.6.1: +2 -25 lines
Diff to previous 1.97.6.1 (colored) to branchpoint 1.97 (colored) next main 1.98 (colored)

Sync with HEAD

Revision 1.103 / (download) - annotate - [select for diffs], Sat Aug 12 13:16:14 2017 UTC (6 years, 8 months ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20170825
Changes since 1.102: +1 -2 lines
Diff to previous 1.102 (colored)

Remove references to PSL_VM (implicitly vm86).

Revision 1.102 / (download) - annotate - [select for diffs], Tue Aug 8 08:04:05 2017 UTC (6 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.101: +2 -2 lines
Diff to previous 1.101 (colored)

Move freebsd_machdep.h into sys/compat/freebsd, and don't install it. Now,
the compat_freebsd files are all contained in sys/compat/freebsd.

Revision 1.101 / (download) - annotate - [select for diffs], Sat Jul 29 12:07:45 2017 UTC (6 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.100: +1 -11 lines
Diff to previous 1.100 (colored)

Unlink svr4_machdep.h.

Revision 1.100.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.100.2.1: +412 -0 lines
Diff to previous 1.100.2.1 (colored) to branchpoint 1.100 (colored) next main 1.101 (colored)

2302677

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

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

Revision 1.100 / (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.99: +1 -13 lines
Diff to previous 1.99 (colored)

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

This is towards PVHVM.

Revision 1.97.6.1 / (download) - annotate - [select for diffs], Tue Sep 22 12:05:44 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.97: +1 -2 lines
Diff to previous 1.97 (colored)

Sync with HEAD

Revision 1.99 / (download) - annotate - [select for diffs], Wed Aug 26 03:00:53 2015 UTC (8 years, 7 months ago) by uebayasi
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.98: +0 -2 lines
Diff to previous 1.98 (colored)

Have MI genassym.cf.

Revision 1.98 / (download) - annotate - [select for diffs], Tue Aug 25 12:56:58 2015 UTC (8 years, 7 months ago) by uebayasi
Branch: MAIN
Changes since 1.97: +2 -1 lines
Diff to previous 1.97 (colored)

Replace a constant in ldscript.

Revision 1.92.2.2 / (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.92.2.1: +1 -2 lines
Diff to previous 1.92.2.1 (colored) to branchpoint 1.92 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.90.2.4 / (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.90.2.3: +1 -2 lines
Diff to previous 1.90.2.3 (colored) to branchpoint 1.90 (colored) next main 1.91 (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.94.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:45:12 2014 UTC (9 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.94: +1 -2 lines
Diff to previous 1.94 (colored) next main 1.95 (colored)

sync with head

Revision 1.97 / (download) - annotate - [select for diffs], Sat Feb 15 10:11:15 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, 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: nick-nhusb
Changes since 1.96: +1 -2 lines
Diff to previous 1.96 (colored)

Remove all references to MDL_USEDFPU and deferred fpu initialisation.
The cost of zeroing the save area on exec is minimal.
This stops the FP registers of a random process being used the first
  time an lwp uses the fpu.
sendsig_siginfo() and get_mcontext() now unconditionally copy the FP
registers.
I'll remove the double-copy for signal handlers soon.
get_mcontext() might have been leaking kernel memory to userspace - and
  may still do so if i386_use_fxsave is false (short copies).

Revision 1.96 / (download) - annotate - [select for diffs], Sun Dec 1 01:05:16 2013 UTC (10 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.95: +2 -0 lines
Diff to previous 1.95 (colored)

revert fpu/pcu changes until we figure out what's wrong; they cause random
freezes

Revision 1.95 / (download) - annotate - [select for diffs], Wed Oct 23 20:18:50 2013 UTC (10 years, 5 months ago) by drochner
Branch: MAIN
Changes since 1.94: +1 -3 lines
Diff to previous 1.94 (colored)

Use the MI "pcu" framework for bookkeeping of npx/fpu states on x86.
This reduces the amount of MD code enormously, and makes it easier
to implement support for newer CPU features which require more fpu
state, or for fpu usage by the kernel.
For access to FPU state across CPUs, an xcall kthread is used now
rather than a dedicated IPI.
No user visible changes intended.

Revision 1.92.2.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:01:26 2012 UTC (11 years, 4 months ago) by tls
Branch: tls-maxphys
Changes since 1.92: +1 -26 lines
Diff to previous 1.92 (colored)

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

Revision 1.90.2.3 / (download) - annotate - [select for diffs], Tue Oct 30 17:19:49 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.90.2.2: +1 -26 lines
Diff to previous 1.90.2.2 (colored) to branchpoint 1.90 (colored)

sync with head

Revision 1.94 / (download) - annotate - [select for diffs], Sun Sep 30 20:54:52 2012 UTC (11 years, 6 months ago) by dsl
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, khorben-n900, agc-symver-base, agc-symver
Branch point for: rmind-smpnet
Changes since 1.93: +1 -4 lines
Diff to previous 1.93 (colored)

Fix build.
I've removed 'option apmbios' so config no longer generates apmbios.h
Not to be confused with dev/apm/apmbios.h :-)

Revision 1.93 / (download) - annotate - [select for diffs], Sun Sep 30 20:19:51 2012 UTC (11 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.92: +1 -23 lines
Diff to previous 1.92 (colored)

Remove the obvious parts of i386 Advanced power management 'apm' support.
This is the code that predates ACPI, and might once have been able to
  power down some laptops.
It hasn't been compiled for ages (it isn't it i386/ALL or any other
  standard kernel) and hasn't worked for even longer.
The APM specification was made obsolete by ACPI before it was widely
  implemented.
This will allow some other, even more dubious code be removed.
Unfortunately apmbios.h is used by the world !

Revision 1.90.2.2 / (download) - annotate - [select for diffs], Wed May 23 10:07:44 2012 UTC (11 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.90.2.1: +1 -3 lines
Diff to previous 1.90.2.1 (colored) to branchpoint 1.90 (colored)

sync with head.

Revision 1.91.2.1 / (download) - annotate - [select for diffs], Wed May 9 03:22:53 2012 UTC (11 years, 11 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.91: +1 -3 lines
Diff to previous 1.91 (colored) next main 1.92 (colored)

Pull up following revision(s) (requested by rmind in ticket #202):
	sys/arch/x86/include/cpuvar.h: revision 1.46
	sys/arch/xen/include/xenpmap.h: revision 1.34
	sys/arch/i386/include/param.h: revision 1.77
	sys/arch/x86/x86/pmap_tlb.c: revision 1.5
	sys/arch/x86/x86/pmap_tlb.c: revision 1.6
	sys/arch/i386/i386/genassym.cf: revision 1.92
	sys/arch/xen/x86/cpu.c: revision 1.91
	sys/arch/x86/x86/pmap.c: revision 1.177
	sys/arch/xen/x86/xen_pmap.c: revision 1.21
	sys/arch/x86/acpi/acpi_wakeup.c: revision 1.31
	sys/kern/subr_kcpuset.c: revision 1.5
	sys/arch/amd64/include/param.h: revision 1.18
	sys/sys/kcpuset.h: revision 1.5
	sys/arch/x86/x86/mtrr_i686.c: revision 1.26
	sys/arch/x86/x86/mtrr_i686.c: revision 1.27
	sys/arch/xen/x86/x86_xpmap.c: revision 1.43
	sys/arch/x86/x86/cpu.c: revision 1.98
	sys/arch/amd64/amd64/mptramp.S: revision 1.14
	sys/kern/sys_sched.c: revision 1.42
	sys/arch/amd64/amd64/genassym.cf: revision 1.50
	sys/arch/i386/i386/mptramp.S: revision 1.24
	sys/arch/x86/include/pmap.h: revision 1.52
	sys/arch/x86/include/cpu.h: revision 1.50
- Convert x86 MD code, mainly pmap(9) e.g. TLB shootdown code, to use
  kcpuset(9) and thus replace hardcoded CPU bitmasks.  This removes the
  limitation of maximum CPUs.
- Support up to 256 CPUs on amd64 architecture by default.
Bug fixes, improvements, completion of Xen part and testing on 64-core
AMD Opteron(tm) Processor 6282 SE (also, as Xen HVM domU with 128 CPUs)
by Manuel Bouyer.
- pmap_tlb_shootdown: do not overwrite tp_cpumask with pm_cpus, but merge
  like pm_kernel_cpus.  Remove unecessary intersection with kcpuset_running.
  Do not reset tp_userpmap if pmap_kernel().
- Remove pmap_tlb_mailbox_t wrapping, which is pointless after recent changes.
- pmap_tlb_invalidate, pmap_tlb_intr: constify for packet structure.
i686_mtrr_init_first: handle the case when there are no variable-size MTRR
registers available (i686_mtrr_vcnt == 0).

Revision 1.90.6.2 / (download) - annotate - [select for diffs], Sun Apr 29 23:04:41 2012 UTC (11 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.90.6.1: +1 -3 lines
Diff to previous 1.90.6.1 (colored) to branchpoint 1.90 (colored) next main 1.91 (colored)

sync to latest -current.

Revision 1.92 / (download) - annotate - [select for diffs], Fri Apr 20 22:23:24 2012 UTC (11 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base5, jmcneill-usbmp-base9, jmcneill-usbmp-base10
Branch point for: tls-maxphys
Changes since 1.91: +1 -3 lines
Diff to previous 1.91 (colored)

- Convert x86 MD code, mainly pmap(9) e.g. TLB shootdown code, to use
  kcpuset(9) and thus replace hardcoded CPU bitmasks.  This removes the
  limitation of maximum CPUs.

- Support up to 256 CPUs on amd64 architecture by default.

Bug fixes, improvements, completion of Xen part and testing on 64-core
AMD Opteron(tm) Processor 6282 SE (also, as Xen HVM domU with 128 CPUs)
by Manuel Bouyer.

Revision 1.90.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:06:28 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.90: +2 -2 lines
Diff to previous 1.90 (colored)

sync with head

Revision 1.90.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:32:20 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.90: +2 -2 lines
Diff to previous 1.90 (colored)

merge to -current.

Revision 1.91 / (download) - annotate - [select for diffs], Wed Dec 7 15:47:42 2011 UTC (12 years, 4 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-pagecache-base4, netbsd-6-base, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2
Branch point for: netbsd-6
Changes since 1.90: +2 -2 lines
Diff to previous 1.90 (colored)

switch from xen3-public to xen-public.

Revision 1.80.2.3 / (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.80.2.2: +2 -14 lines
Diff to previous 1.80.2.2 (colored) to branchpoint 1.80 (colored) next main 1.81 (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.90 / (download) - annotate - [select for diffs], Fri Jul 1 18:14:15 2011 UTC (12 years, 9 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jym-xensuspend-nbase, jym-xensuspend-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.89: +2 -2 lines
Diff to previous 1.89 (colored)

#include <sys/bus.h> instead of <machine/bus.h>.

Revision 1.88.6.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.88: +1 -13 lines
Diff to previous 1.88 (colored) next main 1.89 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.89 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:41 2011 UTC (12 years, 10 months ago) by rmind
Branch: MAIN
Changes since 1.88: +1 -13 lines
Diff to previous 1.88 (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.80.2.2 / (download) - annotate - [select for diffs], Mon Mar 28 23:58:10 2011 UTC (13 years ago) by jym
Branch: jym-xensuspend
Changes since 1.80.2.1: +10 -10 lines
Diff to previous 1.80.2.1 (colored) to branchpoint 1.80 (colored)

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

Revision 1.85.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.85.2.3: +1 -12 lines
Diff to previous 1.85.2.3 (colored) to branchpoint 1.85 (colored) next main 1.86 (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.85.2.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:50:39 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.85.2.2: +3 -4 lines
Diff to previous 1.85.2.2 (colored) to branchpoint 1.85 (colored)

sync with head

Revision 1.88 / (download) - annotate - [select for diffs], Mon Dec 20 00:25:35 2010 UTC (13 years, 3 months ago) by matt
Branch: MAIN
CVS Tags: uebayasi-xip-base7, rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: cherry-xenmp
Changes since 1.87: +3 -4 lines
Diff to previous 1.87 (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.65.2.5 / (download) - annotate - [select for diffs], Wed Aug 11 22:52:11 2010 UTC (13 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.65.2.4: +4 -3 lines
Diff to previous 1.65.2.4 (colored) to branchpoint 1.65 (colored) next main 1.66 (colored)

sync with head.

Revision 1.85.2.2 / (download) - annotate - [select for diffs], Sun May 30 05:16:53 2010 UTC (13 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.85.2.1: +4 -3 lines
Diff to previous 1.85.2.1 (colored) to branchpoint 1.85 (colored)

sync with head

Revision 1.84.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.84: +7 -4 lines
Diff to previous 1.84 (colored) next main 1.85 (colored)

Sync with HEAD.

Revision 1.87 / (download) - annotate - [select for diffs], Wed Apr 28 19:17:03 2010 UTC (13 years, 11 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1
Changes since 1.86: +4 -2 lines
Diff to previous 1.86 (colored)

On x86, change the bus_space_tag_t to a pointer to a struct
bus_space_tag.  For now, bus_space_tag's only member is
bst_type, the type of space, which is either X86_BUS_SPACE_IO
or X86_BUS_SPACE_MEM.  In the future, new bus_space_tag members
will refer to override-functions installed by a new function,
bus_space_tag_create(9).

Add pointers to constant struct bus_space_tag, x86_bus_space_io and
x86_bus_space_mem.  Use them to replace most uses of X86_BUS_SPACE_IO
and X86_BUS_SPACE_MEM.

Add an x86-specific bus_space_is_equal(9) implementation that compares
the two tags' bst_type.

Revision 1.85.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.85: +7 -8 lines
Diff to previous 1.85 (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.86 / (download) - annotate - [select for diffs], Sun Apr 18 23:47:50 2010 UTC (13 years, 11 months ago) by jym
Branch: MAIN
Changes since 1.85: +1 -2 lines
Diff to previous 1.85 (colored)

This patch fixes the NX regression issue observed on amd64 kernels, where
per-page execution right was disabled (therefore leading to the inability
of the kernel to detect fraudulent use of memory mappings marked as not
being executable).

- replace cpu_feature and ci_feature_flags variables by cpu_feature and
ci_feat_val arrays. This makes it cleaner and brings kernel code closer
to the design of cpuctl(8). A warning will be raised for each CPU that
does not expose the same features as the Boot Processor (BP).

- the blacklist of CPU features is now a macro defined in the
specialreg.h header, instead of hardcoding it inside MD initialization
code; fix comments.

- replace checks against CPUID_TSC with the cpu_hascounter() function.

- clean up the code in init_x86_64(), as cpu_feature variables are set
inside cpu_probe().

- use cpu_init_msrs() for i386. It will be eventually used later for NX
feature under i386 PAE kernels.

- remove code that checks for CPUID_NOX in amd64 mptramp.S, this is already
performed by cpu_hatch() through cpu_init_msrs().

- remove cpu_signature and feature_flags members from struct mpbios_proc
(they were never used).

This patch was tested with i386 MONOLITHIC, XEN3PAE_DOM0 and XEN3_DOM0 under
a native i386 host, and amd64 GENERIC, XEN3_DOM0 via QEMU virtual machines.

XXX Should kernel rev be bumped?

XXX A similar patch should be pulled-up for NetBSD-5, hopefully tomorrow.

Revision 1.65.2.4 / (download) - annotate - [select for diffs], Thu Mar 11 15:02:28 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.65.2.3: +5 -5 lines
Diff to previous 1.65.2.3 (colored) to branchpoint 1.65 (colored)

sync with head

Revision 1.85 / (download) - annotate - [select for diffs], Mon Feb 22 23:52:17 2010 UTC (14 years, 1 month ago) by jym
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9
Branch point for: rmind-uvmplock
Changes since 1.84: +4 -2 lines
Diff to previous 1.84 (colored)

Remove a duplicate entry for PTE_BASE.

While here, introduce PDP_SIZE and PDE_SIZE. They will be used by asm code
to make it more generic (PAE related).

Revision 1.84 / (download) - annotate - [select for diffs], Fri Nov 27 03:23:10 2009 UTC (14 years, 4 months ago) by rmind
Branch: MAIN
CVS Tags: uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip
Changes since 1.83: +2 -2 lines
Diff to previous 1.83 (colored)

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

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

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

Revision 1.82 / (download) - annotate - [select for diffs], Sat Nov 21 03:11:00 2009 UTC (14 years, 4 months ago) by rmind
Branch: MAIN
Changes since 1.81: +1 -2 lines
Diff to previous 1.81 (colored)

Use lwp_getpcb() on x86 MD code, clean from struct user usage.

Revision 1.80.2.1 / (download) - annotate - [select for diffs], Sun Nov 1 13:58:21 2009 UTC (14 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.80: +1 -9 lines
Diff to previous 1.80 (colored)

Sync with HEAD.

Revision 1.65.2.3 / (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.65.2.2: +1 -9 lines
Diff to previous 1.65.2.2 (colored) to branchpoint 1.65 (colored)

sync with head.

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

remove Xen2 support.
ok bouyer@

Revision 1.65.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.65.2.1: +12 -16 lines
Diff to previous 1.65.2.1 (colored) to branchpoint 1.65 (colored)

sync with head.

Revision 1.76.4.2 / (download) - annotate - [select for diffs], Mon Feb 2 03:22:55 2009 UTC (15 years, 2 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b
Changes since 1.76.4.1: +5 -6 lines
Diff to previous 1.76.4.1 (colored) to branchpoint 1.76 (colored) next main 1.77 (colored)

Pull up following revision(s) (requested by ad in ticket #345):
	sys/arch/amd64/amd64/genassym.cf: revision 1.39
	sys/arch/i386/i386/genassym.cf: revision 1.79
	sys/arch/i386/i386/locore.S: revision 1.82
	sys/arch/x86/x86/x86_machdep.c: revision 1.26
Don't abort pageidlezero unless a realtime thread wants to run.

Revision 1.76.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:16:15 2009 UTC (15 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.76: +9 -9 lines
Diff to previous 1.76 (colored) next main 1.77 (colored)

Sync with HEAD.

Revision 1.61.6.5 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:03 2009 UTC (15 years, 3 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.61.6.4: +8 -8 lines
Diff to previous 1.61.6.4 (colored) to branchpoint 1.61 (colored) next main 1.62 (colored)

Sync with HEAD.

Revision 1.80 / (download) - annotate - [select for diffs], Tue Dec 30 13:15:49 2008 UTC (15 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, mjf-devfs2-base, jymxensuspend-base
Branch point for: jym-xensuspend
Changes since 1.79: +3 -3 lines
Diff to previous 1.79 (colored)

!defined(_LKM) -> defined(_KERNEL_OPT)

Revision 1.75.2.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:13:13 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.75.2.1: +7 -7 lines
Diff to previous 1.75.2.1 (colored) to branchpoint 1.75 (colored) next main 1.76 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.79 / (download) - annotate - [select for diffs], Wed Dec 3 11:40:17 2008 UTC (15 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Changes since 1.78: +5 -6 lines
Diff to previous 1.78 (colored)

Don't abort pageidlezero unless a realtime thread wants to run.

Revision 1.76.4.1 / (download) - annotate - [select for diffs], Mon Nov 17 18:53:54 2008 UTC (15 years, 5 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RC1
Changes since 1.76: +2 -1 lines
Diff to previous 1.76 (colored)

Pull up following revision(s) (requested by ad in ticket #74):
	sys/arch/i386/isa/npx.c: revision 1.131
	sys/arch/amd64/amd64/fpu.c: revision 1.28
	sys/arch/i386/i386/genassym.cf: revision 1.77
	sys/arch/i386/i386/autoconf.c: revision 1.93
	sys/arch/amd64/amd64/locore.S: revision 1.48
	sys/arch/amd64/amd64/machdep.c: revision 1.104
	sys/arch/i386/i386/machdep.c: revision 1.646
	sys/arch/amd64/amd64/genassym.cf: revision 1.38
	sys/arch/i386/i386/locore.S: revision 1.79
PR port-amd64/38293 panic: fp_save ipi didn't
Fix race conditions in FPU IPI handling.

Revision 1.78 / (download) - annotate - [select for diffs], Thu Nov 13 18:44:51 2008 UTC (15 years, 5 months ago) by cegger
Branch: MAIN
Changes since 1.77: +2 -2 lines
Diff to previous 1.77 (colored)

Finish preparation to new interface.
New interface not yet used by default. It needs some testing first.

Revision 1.77 / (download) - annotate - [select for diffs], Tue Nov 11 14:40:18 2008 UTC (15 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.76: +2 -1 lines
Diff to previous 1.76 (colored)

PR port-amd64/38293 panic: fp_save ipi didn't

Fix race conditions in FPU IPI handling.

Revision 1.75.2.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:15:48 2008 UTC (15 years, 5 months ago) by haad
Branch: haad-dm
Changes since 1.75: +2 -6 lines
Diff to previous 1.75 (colored)

Sync with HEAD.

Revision 1.68.2.3 / (download) - annotate - [select for diffs], Fri Oct 10 22:29:04 2008 UTC (15 years, 6 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.68.2.2: +2 -6 lines
Diff to previous 1.68.2.2 (colored) next main 1.69 (colored)

Sync with HEAD.

Revision 1.61.6.4 / (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.61.6.3: +2 -5 lines
Diff to previous 1.61.6.3 (colored) to branchpoint 1.61 (colored)

Sync with HEAD.

Revision 1.76 / (download) - annotate - [select for diffs], Sat Sep 20 18:29:05 2008 UTC (15 years, 6 months ago) by tsutsui
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, netbsd-5-base, matt-mips64-base2, haad-dm-base1
Branch point for: nick-hppapmap, netbsd-5
Changes since 1.75: +2 -6 lines
Diff to previous 1.75 (colored)

Remove advertising clause for UCB in various genassym.cf files,
which were derived from genassym.c in 4.4BSD-Lite2 (or 386BSD).
Closes PR misc/39573.  Approved by martin@.

Revision 1.68.2.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:33:27 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.68.2.1: +2 -1 lines
Diff to previous 1.68.2.1 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.74.2.1 / (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.74: +2 -1 lines
Diff to previous 1.74 (colored) next main 1.75 (colored)

Sync with head.

Revision 1.75 / (download) - annotate - [select for diffs], Thu Jul 3 14:02:25 2008 UTC (15 years, 9 months ago) by drochner
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, simonb-wapbl-nbase, simonb-wapbl-base
Branch point for: haad-dm
Changes since 1.74: +2 -1 lines
Diff to previous 1.74 (colored)

Remove "struct device" from "struct pic", where it was only real
for ioapics and faked up for others. Add it to "struct ioapic_softc"
for now, until device/softc get split.
This required all typecasts between "struct pic" and "struct ioapic_softc"
to be replaced, I hope I got them all.
functionally tested on i386, compile-tested on xen, untested on amd64

Revision 1.68.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.68: +18 -29 lines
Diff to previous 1.68 (colored)

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

Revision 1.64.2.3 / (download) - annotate - [select for diffs], Tue Jun 17 09:14:03 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.64.2.2: +2 -4 lines
Diff to previous 1.64.2.2 (colored) to branchpoint 1.64 (colored) next main 1.65 (colored)

sync with head.

Revision 1.61.6.3 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:33 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.61.6.2: +1 -3 lines
Diff to previous 1.61.6.2 (colored) to branchpoint 1.61 (colored)

Sync with HEAD.

Also fix build.

Revision 1.74 / (download) - annotate - [select for diffs], Wed Jun 4 11:30:25 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Branch point for: simonb-wapbl
Changes since 1.73: +2 -4 lines
Diff to previous 1.73 (colored)

Remove ref to uvm.page_idle_zero

Revision 1.64.2.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.64.2.1: +2 -1 lines
Diff to previous 1.64.2.1 (colored) to branchpoint 1.64 (colored)

sync with head

Revision 1.61.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:22:15 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.61.6.1: +25 -41 lines
Diff to previous 1.61.6.1 (colored) to branchpoint 1.61 (colored)

Sync with HEAD.

Revision 1.73 / (download) - annotate - [select for diffs], Sun Jun 1 22:06:06 2008 UTC (15 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pf42-base3
Changes since 1.72: +2 -1 lines
Diff to previous 1.72 (colored)

need CPU_INFO_NTRAP

Revision 1.64.2.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.64: +25 -42 lines
Diff to previous 1.64 (colored)

sync with head.

Revision 1.65.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.65: +22 -35 lines
Diff to previous 1.65 (colored)

sync with head.

Revision 1.72 / (download) - annotate - [select for diffs], Sun May 11 16:23:05 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base2, yamt-nfs-mp-base2, hpcarm-cleanup-nbase
Changes since 1.71: +2 -1 lines
Diff to previous 1.71 (colored)

Don't reload LDTR unless a new value, which only happens for USER_LDT.

Revision 1.71 / (download) - annotate - [select for diffs], Sun May 11 15:32:20 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.70: +15 -18 lines
Diff to previous 1.70 (colored)

Share cpu.h between the x86 ports.

Revision 1.70 / (download) - annotate - [select for diffs], Sun May 11 14:44:54 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.69: +1 -3 lines
Diff to previous 1.69 (colored)

Simplify x86 identcpu code, and share between i386/amd64.

Revision 1.69 / (download) - annotate - [select for diffs], Sat May 10 16:12:32 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.68: +2 -8 lines
Diff to previous 1.68 (colored)

Improve x86 tsc handling:

- Ditch the cross-CPU calibration stuff. It didn't work properly, and it's
  near impossible to synchronize the CPUs in a running system, because bus
  traffic will interfere with any calibration attempt, messing up the
  timings.

- Only enable the TSC on CPUs where we are sure it does not drift. If we are
  On a known good CPU, give the TSC high timecounter quality, making it the
  default.

- When booting CPUs, detect TSC skew and account for it. Most Intel MP
  systems have synchronized counters, but that need not be true if the
  system has a complicated bus structure. As far as I know, AMD systems
  do not have synchronized TSCs and so we need to handle skew.

- While an AP is waiting to be set running, try and make the TSC drift by
  entering a reduced power state. If we detect drift, ensure that the TSC
  does not get a high timecounter quality. This should not happen and is
  only for safety.

- Make cpu_counter() stuff LKM safe.

Revision 1.68 / (download) - annotate - [select for diffs], Mon Apr 28 22:47:37 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Branch point for: wrstuden-revivesa
Changes since 1.67: +3 -1 lines
Diff to previous 1.67 (colored)

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

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

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

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

Revision 1.67 / (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.66: +1 -8 lines
Diff to previous 1.66 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.66 / (download) - annotate - [select for diffs], Mon Apr 28 18:20:51 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.65: +4 -2 lines
Diff to previous 1.65 (colored)

+L_NOPREEMPT, L_DOPREEMPT

Revision 1.65 / (download) - annotate - [select for diffs], Mon Apr 21 15:15:33 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.64: +4 -8 lines
Diff to previous 1.64 (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.61.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:18 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.61: +10 -0 lines
Diff to previous 1.61 (colored)

Sync with HEAD.

Revision 1.64 / (download) - annotate - [select for diffs], Wed Mar 26 12:36:33 2008 UTC (16 years ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, ad-socklock-base1
Branch point for: yamt-pf42
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (colored)

Correct pasto in the cc_microtime defs. From tsutsui@.

Revision 1.61.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:14:58 2008 UTC (16 years ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.61: +11 -1 lines
Diff to previous 1.61 (colored) next main 1.62 (colored)

sync with head.

Revision 1.49.10.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:06 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.49.10.2: +59 -4 lines
Diff to previous 1.49.10.2 (colored) to branchpoint 1.49 (colored) next main 1.50 (colored)

sync with HEAD

Revision 1.40.16.11 / (download) - annotate - [select for diffs], Mon Mar 17 09:14:20 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.16.10: +11 -1 lines
Diff to previous 1.40.16.10 (colored) to branchpoint 1.40 (colored) next main 1.41 (colored)

sync with head.

Revision 1.63 / (download) - annotate - [select for diffs], Tue Mar 11 02:24:43 2008 UTC (16 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base
Changes since 1.62: +3 -2 lines
Diff to previous 1.62 (colored)

Make context switch + syscall counters optionally per-CPU and accumulate
in schedclock() at "about 16 hz".

Revision 1.62 / (download) - annotate - [select for diffs], Mon Mar 10 22:03:40 2008 UTC (16 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.61: +10 -1 lines
Diff to previous 1.61 (colored)

Implement an optimized, preemption-safe asm version of tsc_get_timecount().
The C version needs work to be preemption safe. Cuts the clock cycles
for microtime() from 950 down to 300 on a Pentium D.

Revision 1.40.16.10 / (download) - annotate - [select for diffs], Wed Feb 27 09:34:47 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.16.9: +1 -4 lines
Diff to previous 1.40.16.9 (colored) to branchpoint 1.40 (colored)

revert the rest of lazy mapping code.

Revision 1.54.2.4 / (download) - annotate - [select for diffs], Mon Feb 18 21:04:37 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.54.2.3: +58 -5 lines
Diff to previous 1.54.2.3 (colored) to branchpoint 1.54 (colored) next main 1.55 (colored)

Sync with HEAD.

Revision 1.40.16.9 / (download) - annotate - [select for diffs], Mon Jan 21 09:36:59 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.16.8: +76 -5 lines
Diff to previous 1.40.16.8 (colored) to branchpoint 1.40 (colored)

sync with head

Revision 1.61 / (download) - annotate - [select for diffs], Fri Jan 11 20:00:13 2008 UTC (16 years, 3 months ago) by bouyer
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.60: +49 -4 lines
Diff to previous 1.60 (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.58.6.4 / (download) - annotate - [select for diffs], Thu Jan 10 13:05:51 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.58.6.3: +3 -3 lines
Diff to previous 1.58.6.3 (colored) to branchpoint 1.58 (colored) next main 1.59 (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.49.10.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:46:35 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.49.10.1: +39 -9 lines
Diff to previous 1.49.10.1 (colored) to branchpoint 1.49 (colored)

sync with HEAD

Revision 1.58.6.3 / (download) - annotate - [select for diffs], Tue Jan 8 22:09:59 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.58.6.2: +9 -2 lines
Diff to previous 1.58.6.2 (colored) to branchpoint 1.58 (colored)

Sync with HEAD

Revision 1.58.6.2 / (download) - annotate - [select for diffs], Sun Jan 6 18:29:43 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.58.6.1: +48 -2 lines
Diff to previous 1.58.6.1 (colored) to branchpoint 1.58 (colored)

Merge needed changes to genassym.cf and locore.S for xeni386 back to
arch/i386. Switch xeni386 to use the arch/i386 cpu.h.

Revision 1.60 / (download) - annotate - [select for diffs], Fri Jan 4 15:55:31 2008 UTC (16 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.59: +10 -2 lines
Diff to previous 1.59 (colored)

i386:
	- make tss per-cpu.  this considerably speeds up context switch for,
	  at least, pentium4, where ltr instruction seems very slow.
i386, xen:
	- kill cpu_maxproc.
kvm86:
	- adapt to per-cpu tss.
	- cleanup and simplify.
	- move kvm86_mp_lock to more meaningful place.
	- disable preemption during a call.

Revision 1.58.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:48:15 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.58: +19 -1 lines
Diff to previous 1.58 (colored)

Sync with HEAD

Revision 1.54.2.3 / (download) - annotate - [select for diffs], Thu Dec 27 00:43:05 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.54.2.2: +19 -1 lines
Diff to previous 1.54.2.2 (colored) to branchpoint 1.54 (colored)

Sync with HEAD.

Revision 1.58.2.1 / (download) - annotate - [select for diffs], Wed Dec 26 19:42:18 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.58: +19 -1 lines
Diff to previous 1.58 (colored) next main 1.59 (colored)

Sync with head.

Revision 1.59 / (download) - annotate - [select for diffs], Tue Dec 18 07:17:14 2007 UTC (16 years, 4 months ago) by joerg
Branch: MAIN
CVS Tags: vmlocking2-base3
Changes since 1.58: +19 -1 lines
Diff to previous 1.58 (colored)

Add new IPI for saving CPU state explicitly, share high-level part of
ACPI wakeup code and teach it how to start the APs again. As a side
effect the CPU_START interface allows choosing between different
bootstrap codes more easily now.

Revision 1.49.8.6 / (download) - annotate - [select for diffs], Sun Dec 9 19:35:21 2007 UTC (16 years, 4 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.49.8.5: +5 -8 lines
Diff to previous 1.49.8.5 (colored) to branchpoint 1.49 (colored) next main 1.50 (colored)

Sync with HEAD.

Revision 1.54.2.2 / (download) - annotate - [select for diffs], Sat Dec 8 18:17:09 2007 UTC (16 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.54.2.1: +5 -8 lines
Diff to previous 1.54.2.1 (colored) to branchpoint 1.54 (colored)

Sync with HEAD.

Revision 1.40.16.8 / (download) - annotate - [select for diffs], Fri Dec 7 17:24:58 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.16.7: +5 -8 lines
Diff to previous 1.40.16.7 (colored) to branchpoint 1.40 (colored)

sync with head

Revision 1.48.4.11 / (download) - annotate - [select for diffs], Mon Dec 3 19:03:26 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.48.4.10: +1 -4 lines
Diff to previous 1.48.4.10 (colored) to branchpoint 1.48 (colored) next main 1.49 (colored)

Sync with HEAD.

Revision 1.48.4.10 / (download) - annotate - [select for diffs], Mon Dec 3 18:36:40 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.48.4.9: +14 -4 lines
Diff to previous 1.48.4.9 (colored) to branchpoint 1.48 (colored)

Sync with HEAD.

Revision 1.58 / (download) - annotate - [select for diffs], Mon Dec 3 15:33:45 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.57: +5 -8 lines
Diff to previous 1.57 (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.49.8.5 / (download) - annotate - [select for diffs], Wed Nov 21 21:53:15 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.49.8.4: +2 -1 lines
Diff to previous 1.49.8.4 (colored) to branchpoint 1.49 (colored)

Sync with HEAD.

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

Sync with HEAD.

Revision 1.52.2.3 / (download) - annotate - [select for diffs], Sun Nov 18 19:34:26 2007 UTC (16 years, 4 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.52.2.2: +1 -0 lines
Diff to previous 1.52.2.2 (colored) to branchpoint 1.52 (colored) next main 1.53 (colored)

Sync with HEAD

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

sync with head.

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

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

Revision 1.52.2.2 / (download) - annotate - [select for diffs], Tue Nov 13 15:58:32 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.52.2.1: +6 -0 lines
Diff to previous 1.52.2.1 (colored) to branchpoint 1.52 (colored)

Sync with HEAD

Revision 1.49.8.4 / (download) - annotate - [select for diffs], Sun Nov 11 16:46:30 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.49.8.3: +7 -1 lines
Diff to previous 1.49.8.3 (colored) to branchpoint 1.49 (colored)

Sync with HEAD.

Revision 1.56 / (download) - annotate - [select for diffs], Sat Nov 10 23:04:28 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.55: +3 -3 lines
Diff to previous 1.55 (colored)

fsbase/gsbase:

- Fix a few bugs with it, in particular fork/exec handling.
- Store the descriptors in the PCB, not in the LWP.

Revision 1.55 / (download) - annotate - [select for diffs], Sat Nov 10 20:06:23 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.54: +7 -1 lines
Diff to previous 1.54 (colored)

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

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

sync with HEAD

Revision 1.40.16.6 / (download) - annotate - [select for diffs], Sat Oct 27 11:26:35 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.16.5: +30 -25 lines
Diff to previous 1.40.16.5 (colored) to branchpoint 1.40 (colored)

sync with head.

Revision 1.49.8.3 / (download) - annotate - [select for diffs], Fri Oct 26 15:42:34 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.49.8.2: +24 -24 lines
Diff to previous 1.49.8.2 (colored) to branchpoint 1.49 (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.52.2.1 / (download) - annotate - [select for diffs], Thu Oct 25 22:35:50 2007 UTC (16 years, 5 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.52: +24 -24 lines
Diff to previous 1.52 (colored)

Sync with HEAD.

Revision 1.48.4.9 / (download) - annotate - [select for diffs], Tue Oct 23 20:13:01 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.48.4.8: +29 -25 lines
Diff to previous 1.48.4.8 (colored) to branchpoint 1.48 (colored)

Sync with head.

Revision 1.54 / (download) - annotate - [select for diffs], Thu Oct 18 15:28:35 2007 UTC (16 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: jmcneill-base
Branch point for: mjf-devfs
Changes since 1.53: +24 -24 lines
Diff to previous 1.53 (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.53 / (download) - annotate - [select for diffs], Wed Oct 17 19:54:45 2007 UTC (16 years, 6 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4
Changes since 1.52: +1 -1 lines
Diff to previous 1.52 (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.48.4.8 / (download) - annotate - [select for diffs], Fri Oct 12 13:48:49 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.48.4.7: +1 -12 lines
Diff to previous 1.48.4.7 (colored) to branchpoint 1.48 (colored)

Fix merge errors.

Revision 1.48.4.7 / (download) - annotate - [select for diffs], Tue Oct 9 15:22:04 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.48.4.6: +1 -2 lines
Diff to previous 1.48.4.6 (colored) to branchpoint 1.48 (colored)

Sync with head.

Revision 1.48.4.6 / (download) - annotate - [select for diffs], Tue Oct 9 13:37:54 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.48.4.5: +18 -1 lines
Diff to previous 1.48.4.5 (colored) to branchpoint 1.48 (colored)

Sync with head.

Revision 1.50.2.4 / (download) - annotate - [select for diffs], Sun Oct 7 13:17:12 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.3: +13 -13 lines
Diff to previous 1.50.2.3 (colored) to branchpoint 1.50 (colored) next main 1.51 (colored)

whitespace changes to reduce diffs.

Revision 1.50.2.3 / (download) - annotate - [select for diffs], Sat Oct 6 15:34:51 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.2: +7 -2 lines
Diff to previous 1.50.2.2 (colored) to branchpoint 1.50 (colored)

sync with head.

Revision 1.48.12.2 / (download) - annotate - [select for diffs], Wed Oct 3 19:23:44 2007 UTC (16 years, 6 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.48.12.1: +25 -7 lines
Diff to previous 1.48.12.1 (colored) to branchpoint 1.48 (colored) next main 1.49 (colored)

Sync with HEAD

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

Sync with HEAD.

Revision 1.52 / (download) - annotate - [select for diffs], Wed Sep 26 19:48:36 2007 UTC (16 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, yamt-x86pmap-base2, vmlocking-base, ppcoea-renovation-base
Branch point for: bouyer-xenamd64
Changes since 1.51: +7 -1 lines
Diff to previous 1.51 (colored)

x86 changes for pcc and LKMs.

- Replace most inline assembly with proper functions. As a side effect
  this reduces the size of amd64 GENERIC by about 120kB, and i386 by a
  smaller amount. Nearly all of the inlines did something slow, or something
  that does not need to be fast.
- Make curcpu() and curlwp functions proper, unless __GNUC__ && _KERNEL.
  In that case make them inlines. Makes curlwp LKM and preemption safe.
- Make bus_space and bus_dma more LKM friendly.
- Share a few more files between the ports.
- Other minor changes.

Revision 1.51 / (download) - annotate - [select for diffs], Tue Sep 25 17:08:08 2007 UTC (16 years, 6 months ago) by ad
Branch: MAIN
Changes since 1.50: +1 -2 lines
Diff to previous 1.50 (colored)

ci_astpending is no more.

Revision 1.50.2.2 / (download) - annotate - [select for diffs], Mon Sep 24 10:56:48 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50.2.1: +2 -1 lines
Diff to previous 1.50.2.1 (colored) to branchpoint 1.50 (colored)

remove hardcoded numbers of PTPs used for kernel image and bootstrap tables.

Revision 1.50.2.1 / (download) - annotate - [select for diffs], Sun Sep 23 18:28:16 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.50: +11 -12 lines
Diff to previous 1.50 (colored)

- sync with amd64.
- pmap_alloc_level: remove fast call special case.
- tweak some printf to work for both of LP64 and LP32.
- remove machdep.nkpde sysctl.
- remove automatic adjustment of nkpde for now.  will revisit later.

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

Sync with HEAD.

Revision 1.40.16.5 / (download) - annotate - [select for diffs], Mon Sep 3 14:26:39 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.16.4: +22 -12 lines
Diff to previous 1.40.16.4 (colored) to branchpoint 1.40 (colored)

sync with head.

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

Sync with HEAD.

Revision 1.50 / (download) - annotate - [select for diffs], Wed Aug 29 23:38:04 2007 UTC (16 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base, nick-csl-alignment-base5
Branch point for: yamt-x86pmap
Changes since 1.49: +19 -6 lines
Diff to previous 1.49 (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.48.4.5 / (download) - annotate - [select for diffs], Tue Aug 21 10:36:50 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.48.4.4: +2 -2 lines
Diff to previous 1.48.4.4 (colored) to branchpoint 1.48 (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.48.4.4 / (download) - annotate - [select for diffs], Sun Jul 29 10:18:48 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.48.4.3: +18 -2 lines
Diff to previous 1.48.4.3 (colored) to branchpoint 1.48 (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.48.6.1 / (download) - annotate - [select for diffs], Wed Jul 11 19:59:58 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.48: +4 -7 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

Sync with head.

Revision 1.48.4.3 / (download) - annotate - [select for diffs], Sat Jul 7 11:56:10 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.48.4.2: +1 -11 lines
Diff to previous 1.48.4.2 (colored) to branchpoint 1.48 (colored)

- Remove the interrupt priority range and use 'kernel RT' instead,
  since only soft interrupts are threaded.
- Rename l->l_pinned to l->l_switchto. It might be useful for (re-)
  implementing SA or doors.
- Simplify soft interrupt dispatch so MD code is doing as little as
  possible that is new.

Revision 1.48.4.2 / (download) - annotate - [select for diffs], Sun Jun 17 21:30:36 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.48.4.1: +9 -9 lines
Diff to previous 1.48.4.1 (colored) to branchpoint 1.48 (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.48.4.1 / (download) - annotate - [select for diffs], Sun May 27 12:27:30 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.48: +4 -7 lines
Diff to previous 1.48 (colored)

Sync with head.

Revision 1.48.12.1 / (download) - annotate - [select for diffs], Tue May 22 17:26:58 2007 UTC (16 years, 10 months ago) by matt
Branch: ppcoea-renovation
Changes since 1.48: +4 -7 lines
Diff to previous 1.48 (colored)

Update to HEAD.

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

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

from doc/BRANCHES:

	idle lwp, and some changes depending on it.

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

Revision 1.47.2.4 / (download) - annotate - [select for diffs], Thu Mar 29 18:57:15 2007 UTC (17 years ago) by ad
Branch: yamt-idlelwp
Changes since 1.47.2.3: +2 -2 lines
Diff to previous 1.47.2.3 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored)

PK_SYSTEM -> LW_SYSTEM

Revision 1.47.2.3 / (download) - annotate - [select for diffs], Fri Mar 23 15:52:52 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.47.2.2: +1 -3 lines
Diff to previous 1.47.2.2 (colored) to branchpoint 1.47 (colored)

remove L_FORW and L_BACK.

Revision 1.47.2.2 / (download) - annotate - [select for diffs], Tue Feb 27 16:51:38 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.47.2.1: +2 -2 lines
Diff to previous 1.47.2.1 (colored) to branchpoint 1.47 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.40.16.4 / (download) - annotate - [select for diffs], Mon Feb 26 09:06:55 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.16.3: +27 -3 lines
Diff to previous 1.40.16.3 (colored) to branchpoint 1.40 (colored)

sync with head.

Revision 1.48 / (download) - annotate - [select for diffs], Sat Feb 17 22:31:37 2007 UTC (17 years, 2 months ago) by pavel
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, ppcoea-renovation, mjf-ufs-trans
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 (colored)

Change the process/lwp flags seen by userland via sysctl back to the
P_*/L_* naming convention, and rename the in-kernel flags to avoid
conflict. (P_ -> PK_, L_ -> LW_ ). Add back the (now unused) LSDEAD
constant.

Restores source compatibility with pre-newlock2 tools like ps or top.

Reviewed by Andrew Doran.

Revision 1.47.2.1 / (download) - annotate - [select for diffs], Sat Feb 17 10:30:44 2007 UTC (17 years, 2 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.47: +4 -5 lines
Diff to previous 1.47 (colored)

- separate context switching and thread scheduling.
- introduce idle lwp.
- change some related MD/MI interfaces and implement i386 version.

Revision 1.47 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:04 2007 UTC (17 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-idlelwp
Changes since 1.46: +26 -2 lines
Diff to previous 1.46 (colored)

Merge newlock2 to head.

Revision 1.45.4.7 / (download) - annotate - [select for diffs], Sat Jan 27 07:09:02 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.45.4.6: +2 -1 lines
Diff to previous 1.45.4.6 (colored) to branchpoint 1.45 (colored) next main 1.46 (colored)

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

Revision 1.45.4.6 / (download) - annotate - [select for diffs], Fri Jan 12 01:00:49 2007 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.45.4.5: +4 -3 lines
Diff to previous 1.45.4.5 (colored) to branchpoint 1.45 (colored)

Sync with head.

Revision 1.45.4.5 / (download) - annotate - [select for diffs], Thu Jan 11 22:22:56 2007 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.45.4.4: +2 -1 lines
Diff to previous 1.45.4.4 (colored) to branchpoint 1.45 (colored)

Checkpoint work in progress.

Revision 1.40.16.3 / (download) - annotate - [select for diffs], Sat Dec 30 20:46:09 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.16.2: +6 -4 lines
Diff to previous 1.40.16.2 (colored) to branchpoint 1.40 (colored)

sync with head.

Revision 1.45.4.4 / (download) - annotate - [select for diffs], Fri Dec 29 20:27:41 2006 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.45.4.3: +2 -5 lines
Diff to previous 1.45.4.3 (colored) to branchpoint 1.45 (colored)

Checkpoint work in progress.

Revision 1.45.6.1 / (download) - annotate - [select for diffs], Sun Dec 10 07:16:06 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.45: +3 -1 lines
Diff to previous 1.45 (colored) next main 1.46 (colored)

sync with head.

Revision 1.46 / (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, newlock2-nbase, newlock2-base
Changes since 1.45: +3 -1 lines
Diff to previous 1.45 (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.45.4.3 / (download) - annotate - [select for diffs], Fri Nov 17 16:34:32 2006 UTC (17 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.45.4.2: +18 -13 lines
Diff to previous 1.45.4.2 (colored) to branchpoint 1.45 (colored)

Checkpoint work in progress.

Revision 1.45.4.2 / (download) - annotate - [select for diffs], Fri Oct 20 19:46:53 2006 UTC (17 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.45.4.1: +4 -2 lines
Diff to previous 1.45.4.1 (colored) to branchpoint 1.45 (colored)

Export/remove new symbols to asm code.

Revision 1.45.4.1 / (download) - annotate - [select for diffs], Sun Sep 10 23:42:41 2006 UTC (17 years, 7 months ago) by ad
Branch: newlock2
Changes since 1.45: +20 -1 lines
Diff to previous 1.45 (colored)

Add updated locking primatives.

Revision 1.43.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:40:07 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.43: +5 -4 lines
Diff to previous 1.43 (colored) next main 1.44 (colored)

sync with head

Revision 1.43.8.2 / (download) - annotate - [select for diffs], Fri Aug 11 15:41:54 2006 UTC (17 years, 8 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.43.8.1: +4 -4 lines
Diff to previous 1.43.8.1 (colored) to branchpoint 1.43 (colored) next main 1.44 (colored)

sync with head

Revision 1.44.2.1 / (download) - annotate - [select for diffs], Thu Jul 13 17:48:52 2006 UTC (17 years, 9 months ago) by gdamore
Branch: gdamore-uart
Changes since 1.44: +4 -4 lines
Diff to previous 1.44 (colored) next main 1.45 (colored)

Merge from HEAD.

Revision 1.45 / (download) - annotate - [select for diffs], Sat Jul 8 20:30:00 2006 UTC (17 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, rpaulo-netinet-merge-pcb-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.44: +4 -4 lines
Diff to previous 1.44 (colored)

- apm.c -> apmbios.c and s/NAPM/NAPMBIOS/
- adjust to new function call signatures.

Revision 1.40.16.2 / (download) - annotate - [select for diffs], Wed Jun 21 14:52:18 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40.16.1: +50 -1 lines
Diff to previous 1.40.16.1 (colored) to branchpoint 1.40 (colored)

sync with head.

Revision 1.43.14.1 / (download) - annotate - [select for diffs], Mon Jun 19 03:44:25 2006 UTC (17 years, 10 months ago) by chap
Branch: chap-midi
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored) next main 1.44 (colored)

Sync with head.

Revision 1.43.6.1 / (download) - annotate - [select for diffs], Thu Jun 1 22:34:49 2006 UTC (17 years, 10 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored) next main 1.44 (colored)

Sync with head.

Revision 1.43.12.1 / (download) - annotate - [select for diffs], Wed May 24 15:47:58 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored) next main 1.44 (colored)

Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.43.8.1 / (download) - annotate - [select for diffs], Wed May 24 10:56:51 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored)

sync with head.

Revision 1.44 / (download) - annotate - [select for diffs], Mon May 22 13:44:53 2006 UTC (17 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, gdamore-uart-base, chap-midi-nbase, chap-midi-base
Branch point for: gdamore-uart
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored)

i386 and xen: move struct user to the highest address in uarea
and reduce UPAGES from 4 to 3 in the case of !NOREDZONE.

Revision 1.43 / (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-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base, elad-kernelauth-base, elad-kernelauth
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, chap-midi
Changes since 1.42: +1 -1 lines
Diff to previous 1.42 (colored)

merge ktrace-lwp.

Revision 1.37.2.4 / (download) - annotate - [select for diffs], Thu Nov 10 13:56:46 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.37.2.3: +49 -1 lines
Diff to previous 1.37.2.3 (colored) next main 1.38 (colored)

Sync with HEAD. Here we go again...

Revision 1.42 / (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.41: +46 -1 lines
Diff to previous 1.41 (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.41 / (download) - annotate - [select for diffs], Tue Sep 13 01:43:29 2005 UTC (18 years, 7 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.40: +4 -1 lines
Diff to previous 1.40 (colored)

compat code reorg. Other archs will need similar changes...

Revision 1.40.16.1 / (download) - annotate - [select for diffs], Thu Jul 7 12:35:52 2005 UTC (18 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.40: +4 -1 lines
Diff to previous 1.40 (colored)

handle M_EXT_LAZY in i386 MD in_cksum.

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

Fix the sync with head I botched.

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

Sync with HEAD.

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

Sync with HEAD

Revision 1.40 / (download) - annotate - [select for diffs], Fri Feb 20 17:35:01 2004 UTC (20 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-lazymbuf
Changes since 1.39: +4 -1 lines
Diff to previous 1.39 (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.39 / (download) - annotate - [select for diffs], Tue Nov 4 10:33:15 2003 UTC (20 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

Remove p_nras from struct proc - use LIST_EMPTY(&p->p_raslist) instead.
Remove p_raslock and rename p_lwplock p_lock (one lock is enough).
Simplify window test when adding a ras and correct test on VM_MAXUSER_ADDRESS.
Avoid unpredictable branch in i386 locore.S
(pad fields left in struct proc to avoid kernel bump)

Revision 1.38 / (download) - annotate - [select for diffs], Thu Jul 3 21:25:45 2003 UTC (20 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)

use the real linux_rt_sigreturn.

Revision 1.37 / (download) - annotate - [select for diffs], Sun May 4 22:01:58 2003 UTC (20 years, 11 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.36: +2 -1 lines
Diff to previous 1.36 (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.36 / (download) - annotate - [select for diffs], Wed Apr 2 07:35:58 2003 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.35: +4 -1 lines
Diff to previous 1.35 (colored)

Use PAGE_SIZE rather than NBPG.

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

Merge the nathanw_sa branch.

Revision 1.24.2.12 / (download) - annotate - [select for diffs], Wed Dec 11 06:00:53 2002 UTC (21 years, 4 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.24.2.11: +51 -9 lines
Diff to previous 1.24.2.11 (colored) next main 1.25 (colored)

Sync with HEAD.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Dec 6 00:00:20 2002 UTC (21 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.33: +3 -1 lines
Diff to previous 1.33 (colored)

add offsets for linux_rt_sigframe

Revision 1.24.2.11 / (download) - annotate - [select for diffs], Tue Nov 26 22:08:42 2002 UTC (21 years, 4 months ago) by skrll
Branch: nathanw_sa
Changes since 1.24.2.10: +2 -1 lines
Diff to previous 1.24.2.10 (colored)

Add P_MD_ASTPENDING for the benefit of locore.s after recent changes.

Revision 1.33 / (download) - annotate - [select for diffs], Fri Nov 22 15:23:39 2002 UTC (21 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.32: +49 -9 lines
Diff to previous 1.32 (colored)

New interrupt code. The basic idea behind it is to hide the differences
in interrupt controllers in struct pic, and try to keep as much
common code as possible. At the lowest (asm) level, this is done
with CPP macros.

The main structure is now struct intrsource, describing an established
interrupt line, of any kind (soft/hard local apic/legacy apic/IO apic).
For quick masking, there may be a maximum of 32 sources per CPU.
Sources can be assigned to any CPU in the MP case, though currently they
all go to the boot CPU.

Revision 1.24.2.10 / (download) - annotate - [select for diffs], Fri Oct 18 03:32:49 2002 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.24.2.9: +2 -2 lines
Diff to previous 1.24.2.9 (colored)

L_CPU is relative to a struct lwp, not a struct proc.

Revision 1.24.2.9 / (download) - annotate - [select for diffs], Fri Oct 18 02:37:40 2002 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.24.2.8: +42 -0 lines
Diff to previous 1.24.2.8 (colored)

Catch up to -current.

Revision 1.28.2.3 / (download) - annotate - [select for diffs], Thu Oct 10 18:33:19 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.28.2.2: +44 -1 lines
Diff to previous 1.28.2.2 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored)

sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.32 / (download) - annotate - [select for diffs], Tue Oct 1 12:56:51 2002 UTC (21 years, 6 months ago) by fvdl
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge
Changes since 1.31: +44 -1 lines
Diff to previous 1.31 (colored)

Merge Bill Sommerfeld's i386 MP branch. This code has some known
caveats, but works quite well in a lot of MP cases, and all
UP cases that I have tested. Parts of this will hopefully be
reworked in the not-too-distant future.

Revision 1.24.2.8 / (download) - annotate - [select for diffs], Tue Sep 17 21:15:04 2002 UTC (21 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.24.2.7: +1 -1 lines
Diff to previous 1.24.2.7 (colored)

Catch up to -current.

Revision 1.28.2.2 / (download) - annotate - [select for diffs], Fri Sep 6 08:36:12 2002 UTC (21 years, 7 months ago) by jdolecek
Branch: kqueue
Changes since 1.28.2.1: +2 -4 lines
Diff to previous 1.28.2.1 (colored) to branchpoint 1.28 (colored)

sync kqueue branch with HEAD

Revision 1.17.10.18 / (download) - annotate - [select for diffs], Sat Aug 31 20:31:34 2002 UTC (21 years, 7 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.17: +1 -0 lines
Diff to previous 1.17.10.17 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

SMP branch resync.  Mostly RAS support.

Revision 1.29.2.2 / (download) - annotate - [select for diffs], Sat Aug 31 13:44:52 2002 UTC (21 years, 7 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.29.2.1: +2 -1 lines
Diff to previous 1.29.2.1 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

catch up with -current.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Aug 28 09:47:15 2002 UTC (21 years, 7 months ago) by gmcgarry
Branch: MAIN
CVS Tags: sommerfeld_i386mpnext, sommerfeld_i386mpbase_1, gehenna-devsw-base
Changes since 1.30: +2 -1 lines
Diff to previous 1.30 (colored)

RAS support for i386.

Revision 1.24.2.7 / (download) - annotate - [select for diffs], Thu Aug 1 02:42:01 2002 UTC (21 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.24.2.6: +1 -4 lines
Diff to previous 1.24.2.6 (colored)

Catch up to -current.

Revision 1.24.2.6 / (download) - annotate - [select for diffs], Sun Jul 28 05:12:24 2002 UTC (21 years, 8 months ago) by gmcgarry
Branch: nathanw_sa
Changes since 1.24.2.5: +1 -2 lines
Diff to previous 1.24.2.5 (colored)

Purge SAF_UPCALL.

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Tue Jul 16 08:29:30 2002 UTC (21 years, 9 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.29: +1 -4 lines
Diff to previous 1.29 (colored)

catch up with -current.

Revision 1.24.2.5 / (download) - annotate - [select for diffs], Fri Jul 12 01:39:30 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.24.2.4: +1 -2 lines
Diff to previous 1.24.2.4 (colored)

No longer need to pull in lwp.h; proc.h pulls it in for us.

Revision 1.17.10.17 / (download) - annotate - [select for diffs], Tue Jun 25 15:44:50 2002 UTC (21 years, 9 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.16: +0 -3 lines
Diff to previous 1.17.10.16 (colored) to branchpoint 1.17 (colored)

Resynch with -current.

Revision 1.30 / (download) - annotate - [select for diffs], Sun Jun 23 22:18:49 2002 UTC (21 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.29: +1 -4 lines
Diff to previous 1.29 (colored)

During native signal delivery (and iBCS2, since it uses the native
sigcode), arrange to have the signal handler invoked directly, using
the trampoline only for the return path, saving a call insn.  Play
some other stack trickery in the trampoline to turn 2 pushl's into
one movl.

Revision 1.28.2.1 / (download) - annotate - [select for diffs], Sun Jun 23 17:37:23 2002 UTC (21 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored)

catch up with -current on kqueue branch

Revision 1.24.2.4 / (download) - annotate - [select for diffs], Thu Jun 20 03:39:10 2002 UTC (21 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.24.2.3: +2 -2 lines
Diff to previous 1.24.2.3 (colored)

Catch up to -current.

Revision 1.17.10.16 / (download) - annotate - [select for diffs], Sat May 18 17:27:31 2002 UTC (21 years, 11 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
CVS Tags: i386mp_plus16_stable
Changes since 1.17.10.15: +2 -2 lines
Diff to previous 1.17.10.15 (colored) to branchpoint 1.17 (colored)

Catch up with -current.  (commons elimination, changes to MI pci framework)

Revision 1.29 / (download) - annotate - [select for diffs], Sat May 11 09:39:26 2002 UTC (21 years, 11 months ago) by jdolecek
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6
Branch point for: gehenna-devsw
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored)

use _KERNEL_OPT rather than _KERNEL && !_LKM

Revision 1.17.10.15 / (download) - annotate - [select for diffs], Sat Apr 27 14:39:34 2002 UTC (21 years, 11 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.14: +19 -1 lines
Diff to previous 1.17.10.14 (colored) to branchpoint 1.17 (colored)

Add options TRAPLOG:

When enabled, each cpu gets a ring buffer; on every trap entry, we add
an entry to the trap log using the new locore "TLOG" macro.  Somewhat
like a flight recorder, this may give some post-mortem clues as to
what was going on as we were spiralling in...

XXX currently depends on various intel MSR's to record the low order
32 bits of the cycle counter as well as last-branch from and to
addresses.

Revision 1.28.10.4 / (download) - annotate - [select for diffs], Fri Mar 22 19:39:40 2002 UTC (22 years ago) by thorpej
Branch: newlock
Changes since 1.28.10.3: +3 -1 lines
Diff to previous 1.28.10.3 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored)

def __MUTEX_PRIVATE

Revision 1.28.10.3 / (download) - annotate - [select for diffs], Fri Mar 22 00:24:44 2002 UTC (22 years ago) by thorpej
Branch: newlock
Changes since 1.28.10.2: +5 -1 lines
Diff to previous 1.28.10.2 (colored) to branchpoint 1.28 (colored)

Handle MUTEX_DEBUG.

Revision 1.28.10.2 / (download) - annotate - [select for diffs], Sun Mar 17 23:07:44 2002 UTC (22 years, 1 month ago) by thorpej
Branch: newlock
Changes since 1.28.10.1: +2 -1 lines
Diff to previous 1.28.10.1 (colored) to branchpoint 1.28 (colored)

Allocate proc0 in machine-dependent code (can't specify align(16) in
C code on x86).

Revision 1.28.10.1 / (download) - annotate - [select for diffs], Sun Mar 17 21:28:52 2002 UTC (22 years, 1 month ago) by thorpej
Branch: newlock
Changes since 1.28: +4 -1 lines
Diff to previous 1.28 (colored)

Add first-cut mutex and rwlock implementation bits for the x86.
XXX Does not actually handle i386 CPUs yet, only i486 and later.

Revision 1.17.10.14 / (download) - annotate - [select for diffs], Sat Dec 29 23:31:00 2001 UTC (22 years, 3 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.13: +4 -2 lines
Diff to previous 1.17.10.13 (colored) to branchpoint 1.17 (colored)

Set up per-cpu GDT.
Use %fs for per-cpu data access.

Revision 1.24.2.3 / (download) - annotate - [select for diffs], Thu Jun 21 19:25:27 2001 UTC (22 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.24.2.2: +9 -12 lines
Diff to previous 1.24.2.2 (colored)

Catch up to -current.

Revision 1.17.10.13 / (download) - annotate - [select for diffs], Mon Jun 18 03:33:28 2001 UTC (22 years, 10 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.12: +0 -11 lines
Diff to previous 1.17.10.12 (colored) to branchpoint 1.17 (colored)

checkpoint merge-in-progress from mainline.

Revision 1.19.4.3 / (download) - annotate - [select for diffs], Sun Jun 17 22:26:52 2001 UTC (22 years, 10 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.19.4.2: +1 -12 lines
Diff to previous 1.19.4.2 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)

Pull up revision 1.28 (requested by sommerfeld):
  Add %fs/%gs to trap frame and save/restore them on trap/interupt/
  syscall entry from userspace.

  Remove special-case ``by hand'' validation of %fs/%gs register
  values s well as special handling of them in various signal
  handling paths.  Now, like %ds and %es, they are validated by
  the hardware on return to userland.

  This paves the way for the use of %fs for per-cpu data on multi-
  processor systems, and fixes an otherwise difficult-to-fix
  interaction between threads/clone(2) and USER_LDT.

Revision 1.28 / (download) - annotate - [select for diffs], Sun Jun 17 21:01:32 2001 UTC (22 years, 10 months ago) by sommerfeld
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, thorpej-devvp, pre-chs-ubcperf, post-chs-ubcperf, newlock-base, ifpoll-base, eeh-devprop-base, eeh-devprop
Branch point for: newlock, kqueue
Changes since 1.27: +1 -12 lines
Diff to previous 1.27 (colored)

Add %fs/%gs to trap frame and save/restore them on
trap/interrupt/syscall entry from userspace.

Remove special-case "by hand" validation of fs/gs register values as
well as special handling of them in various signal handling paths.

Now, like %ds and %es, they are validated by the hardware on return to
userland.

This paves the way for the use of %fs for per-cpu data on
multiprocessor systems, and fixes an otherwise difficult-to-fix
interaction between threads/clone(2) and USER_LDT.

Discussed in advance with Frank van der Linden.

Revision 1.17.10.12 / (download) - annotate - [select for diffs], Sat May 26 20:05:42 2001 UTC (22 years, 10 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.11: +5 -1 lines
Diff to previous 1.17.10.11 (colored) to branchpoint 1.17 (colored)

Merge up with -current

Revision 1.27 / (download) - annotate - [select for diffs], Sat May 26 17:46:12 2001 UTC (22 years, 10 months ago) by sommerfeld
Branch: MAIN
Changes since 1.26: +5 -1 lines
Diff to previous 1.26 (colored)

Add infrastructure to allow ports to override build of in6_cksum.c by
enabling the INET6_MD_CKSUM option, which is defopted into opt_inet.h.
Supply an i386 assembly version of in6_cksum in in_cksum.s; on
P6-family cpu's, this is is roughly 20% faster than the C code in
sys/netinet6 for ethernet-mtu-sized mbufs in L1 cache.  Turn on
INET6_MD_CKSUM in i386/conf/std.i386

While we're here, also nuke some now-obsolete XXX comments from
in_cksum.s.

Revision 1.17.10.11 / (download) - annotate - [select for diffs], Mon Apr 30 16:23:10 2001 UTC (22 years, 11 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.10: +4 -1 lines
Diff to previous 1.17.10.10 (colored) to branchpoint 1.17 (colored)

Merge sommerfeld_i386mp_1 branch with -current as of today.
GENERIC.MP kernel boots and runs multiuser on my ABIT BP6

Revision 1.17.2.5 / (download) - annotate - [select for diffs], Sat Apr 21 17:53:50 2001 UTC (22 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.17.2.4: +5 -1 lines
Diff to previous 1.17.2.4 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

Sync with HEAD

Revision 1.26 / (download) - annotate - [select for diffs], Sat Apr 14 13:56:02 2001 UTC (23 years ago) by augustss
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.25: +5 -1 lines
Diff to previous 1.25 (colored)

Propagate __HAVE_GENERIC_SOFTINTR to assembly files.

Revision 1.24.2.2 / (download) - annotate - [select for diffs], Mon Apr 9 01:53:30 2001 UTC (23 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.24.2.1: +8 -1 lines
Diff to previous 1.24.2.1 (colored)

Catch up with -current.

Revision 1.19.4.2 / (download) - annotate - [select for diffs], Fri Mar 30 22:29:23 2001 UTC (23 years ago) by he
Branch: netbsd-1-5
Changes since 1.19.4.1: +8 -1 lines
Diff to previous 1.19.4.1 (colored) to branchpoint 1.19 (colored)

Pull up revision 1.25 (requested by fvdl):
  Use optimized i386 assembly version for in4_cksum as well as the
  older in_cksum.  Gets back the 10-15% throughput loss compared
  to the NetBSD 1.4 branch.

Revision 1.17.10.10 / (download) - annotate - [select for diffs], Fri Mar 16 05:00:47 2001 UTC (23 years, 1 month ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.9: +8 -1 lines
Diff to previous 1.17.10.9 (colored) to branchpoint 1.17 (colored)

Merge branch with -current; top of branch + current builds a working
GENERIC.MP again.

Revision 1.17.2.4 / (download) - annotate - [select for diffs], Mon Mar 12 13:28:54 2001 UTC (23 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.17.2.3: +8 -1 lines
Diff to previous 1.17.2.3 (colored) to branchpoint 1.17 (colored)

Sync with HEAD.

Revision 1.25 / (download) - annotate - [select for diffs], Tue Mar 6 14:55:14 2001 UTC (23 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.24: +8 -1 lines
Diff to previous 1.24 (colored)

Use assembly version of in4_cksum (which is a piece of code that
does some of the extra work and then jumps into in_cksum).

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Mon Mar 5 22:49:12 2001 UTC (23 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.24: +15 -11 lines
Diff to previous 1.24 (colored)

Initial commit of scheduler activations and lightweight process support.

Revision 1.17.10.9 / (download) - annotate - [select for diffs], Wed Jan 10 04:38:32 2001 UTC (23 years, 3 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.8: +5 -6 lines
Diff to previous 1.17.10.8 (colored) to branchpoint 1.17 (colored)

Significant rewrite of slave CPU attach and initialization, centering
on identifycpu() and spreading outward.

Separate feature probes (cpuid invocation), which runs on the cpu
being attached, from the display of this information, which runs on
the boot cpu; remove some of the probe code from locore as it doesn't
need to run that early.

We now spin up secondary cpu's during cpu_attach, have them do a cpu
feature probe, and then have them spin waiting for a "go" signal.

We no longer pay attention to the cpu signature and cpuid features
reported by the MP BIOS since those are known to be truncated for at
least some bioses.

We now do npx initialization (including FDIV bug detection) on all
cpus.

XXX Change some of the cyrix bug workarounds to fit the new
identifycpu() system; this is untested.

Revision 1.17.10.8 / (download) - annotate - [select for diffs], Sun Jan 7 22:12:41 2001 UTC (23 years, 3 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.7: +11 -3 lines
Diff to previous 1.17.10.7 (colored) to branchpoint 1.17 (colored)

Snapshot of merge-in-progress with -current.

[Not expected to build].  Catch up with the last N months worth of
changes to -current.

Revision 1.17.2.3 / (download) - annotate - [select for diffs], Wed Dec 13 15:49:25 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.17.2.2: +2 -0 lines
Diff to previous 1.17.2.2 (colored) to branchpoint 1.17 (colored)

Sync with HEAD (for UBC fixes).

Revision 1.24 / (download) - annotate - [select for diffs], Mon Dec 11 05:28:59 2000 UTC (23 years, 4 months ago) by mycroft
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.23: +3 -4 lines
Diff to previous 1.23 (colored)

Introduce 2 new flags in types.h:
* __HAVE_SYSCALL_INTERN.  If this is defined, e_syscall is replaced by
  e_syscall_intern, which is called at key places in the kernel.  This can be
  used to set a MD syscall handler pointer.  This obsoletes and replaces the
  *_HAS_SEPARATED_SYSCALL flags.
* __HAVE_MINIMAL_EMUL.  If this is defined, certain (deprecated) elements in
  struct emul are omitted.

Revision 1.23 / (download) - annotate - [select for diffs], Sat Dec 9 13:20:04 2000 UTC (23 years, 4 months ago) by jdolecek
Branch: MAIN
Changes since 1.22: +4 -1 lines
Diff to previous 1.22 (colored)

make locore.s call emulation-specific syscall code directly
this should improve speed of emulation syscall path (avoids one function call,
and emulations syscall can use the trapframe trick)
Idea: Charles Hannum

Revision 1.17.2.2 / (download) - annotate - [select for diffs], Fri Dec 8 09:26:35 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.17.2.1: +7 -1 lines
Diff to previous 1.17.2.1 (colored) to branchpoint 1.17 (colored)

Sync with HEAD.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Nov 29 21:53:47 2000 UTC (23 years, 4 months ago) by jdolecek
Branch: MAIN
Changes since 1.21: +7 -1 lines
Diff to previous 1.21 (colored)

LKMify

Revision 1.17.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 20:09:21 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.17: +6 -6 lines
Diff to previous 1.17 (colored)

Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.

Revision 1.17.10.7 / (download) - annotate - [select for diffs], Fri Aug 25 03:56:27 2000 UTC (23 years, 7 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.6: +3 -2 lines
Diff to previous 1.17.10.6 (colored) to branchpoint 1.17 (colored)

Get this to at least build again in the !MULTIPROCESSOR case..

Revision 1.17.10.6 / (download) - annotate - [select for diffs], Fri Aug 18 03:30:53 2000 UTC (23 years, 8 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.5: +2 -1 lines
Diff to previous 1.17.10.5 (colored) to branchpoint 1.17 (colored)

Add PCB_FPCPU

Revision 1.19.4.1 / (download) - annotate - [select for diffs], Wed Aug 16 23:18:21 2000 UTC (23 years, 8 months ago) by thorpej
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA
Changes since 1.19: +2 -3 lines
Diff to previous 1.19 (colored)

Update from trunk:
Move the TSS selector out of the PCB and put it into mdproc.  We
need to access this when we have the proclist locked for reading,
and thus cannot store it in the PCB (which may be swapped out).

As part of this, call pmap_activate() from cpu_switch() to switch
to the new address space, and refresh the PCB's copy of the LDT
selector from the pmap structure (see above paragraph).  We need
to do this for MP support anyhow.

Fixes a "panic: spinlock_switchcheck: CPU 0 has 1 spin locks" via
gdt_compact() reported by Nathan Williams.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Aug 16 04:44:35 2000 UTC (23 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.20: +2 -3 lines
Diff to previous 1.20 (colored)

Move the TSS selector out of the PCB and put it into mdproc.  We
need to access this when we have the proclist locked for reading,
and thus cannot store it in the PCB (which may be swapped out).

As part of this, call pmap_activate() from cpu_switch() to switch
to the new address space, and refresh the PCB's copy of the LDT
selector from the pmap structure (see above paragraph).  We need
to do this for MP support anyhow.

Fixes a "panic: spinlock_switchcheck: CPU 0 has 1 spin locks" via
gdt_compact() reported by Nathan Williams.

Revision 1.17.10.5 / (download) - annotate - [select for diffs], Mon Aug 7 01:08:34 2000 UTC (23 years, 8 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.4: +0 -3 lines
Diff to previous 1.17.10.4 (colored) to branchpoint 1.17 (colored)

Merge sommerfeld_i386mp_1 branch forward to 20000806 sources

Revision 1.20 / (download) - annotate - [select for diffs], Thu Jun 29 08:44:51 2000 UTC (23 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.19: +1 -4 lines
Diff to previous 1.19 (colored)

remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>

Revision 1.17.10.4 / (download) - annotate - [select for diffs], Sun Jun 25 23:10:18 2000 UTC (23 years, 9 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.3: +2 -1 lines
Diff to previous 1.17.10.3 (colored) to branchpoint 1.17 (colored)

MULTIPROCESSOR: Set curproc->p_cpu when context switching

Revision 1.17.10.3 / (download) - annotate - [select for diffs], Sun Jun 25 19:37:03 2000 UTC (23 years, 9 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.2: +2 -1 lines
Diff to previous 1.17.10.2 (colored) to branchpoint 1.17 (colored)

Merge up to just-post-1.5 -current

Revision 1.19 / (download) - annotate - [select for diffs], Fri May 26 00:36:45 2000 UTC (23 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: sommerfeld_i386mp_houseclean, netbsd-1-5-base, netbsd-1-5-ALPHA2, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Changes since 1.18: +2 -1 lines
Diff to previous 1.18 (colored)

Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor.  Test against SONPROC as appropriate rather than
combinations of SRUN and curproc.  Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.

Revision 1.17.10.2 / (download) - annotate - [select for diffs], Wed May 3 14:42:31 2000 UTC (23 years, 11 months ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17.10.1: +4 -1 lines
Diff to previous 1.17.10.1 (colored) to branchpoint 1.17 (colored)

Merge with -current

Revision 1.18 / (download) - annotate - [select for diffs], Mon Apr 24 17:18:16 2000 UTC (23 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.17: +4 -1 lines
Diff to previous 1.17 (colored)

Glue in uvm_pageidlezero().  While here, improve some panic messages
in pmap.c, as requested by Jonathan Stone.

Revision 1.17.10.1 / (download) - annotate - [select for diffs], Sun Feb 20 17:53:26 2000 UTC (24 years, 1 month ago) by sommerfeld
Branch: sommerfeld_i386mp_1
Changes since 1.17: +22 -1 lines
Diff to previous 1.17 (colored)

Add offsets in struct cpu_info for the benefit of locore.s and similar
bottom-feeders.

Revision 1.16.4.1 / (download) - annotate - [select for diffs], Mon Jun 21 00:49:58 1999 UTC (24 years, 10 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.16: +1 -11 lines
Diff to previous 1.16 (colored) next main 1.17 (colored)

Sync w/ -current.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Jun 17 00:12:11 1999 UTC (24 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, sommerfeld_i386mpbase_20000422, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-newbase, chs-ubc2-base
Branch point for: thorpej_scsipi, sommerfeld_i386mp_1
Changes since 1.16: +1 -11 lines
Diff to previous 1.16 (colored)

PMAP_NEW is no longer optional on the i386; the old pmap's page table
allocation strategy no longer works at all.  Move pmap.new.* to pmap.*.

To read the revision history of PMAP_NEW up until this merge, use cvs
rlog of the old pmap.new.* files.

Revision 1.16 / (download) - annotate - [select for diffs], Wed Mar 24 11:23:45 1999 UTC (25 years ago) by tron
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Changes since 1.15: +1 -8 lines
Diff to previous 1.15 (colored)

Remove remaining "ifdef UVM" checks.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Mar 24 11:21:47 1999 UTC (25 years ago) by tron
Branch: MAIN
Changes since 1.14: +1 -2 lines
Diff to previous 1.14 (colored)

Don't include "opt_uvm.h" any more.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Mar 19 05:13:17 1999 UTC (25 years, 1 month ago) by cgd
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

pull isa_machdep.h in from machine/ instead of from $(MACHINE)/isa/

Revision 1.13 / (download) - annotate - [select for diffs], Sat Oct 3 23:38:32 1998 UTC (25 years, 6 months ago) by fvdl
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base, chs-ubc
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

Correct Linux compat include file names.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Oct 1 04:36:05 1998 UTC (25 years, 6 months ago) by erh
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

Path to linux_machdep.h changed.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Sep 13 11:26:58 1998 UTC (25 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.10: +2 -1 lines
Diff to previous 1.10 (colored)

Oops; forgot to commit this.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Aug 31 23:54:32 1998 UTC (25 years, 7 months ago) by jtk
Branch: MAIN
Changes since 1.9: +8 -8 lines
Diff to previous 1.9 (colored)

add 32-bit register support and beginnings of APM V1.2 support

Revision 1.9 / (download) - annotate - [select for diffs], Sat Aug 15 05:10:22 1998 UTC (25 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.8: +37 -2 lines
Diff to previous 1.8 (colored)

Assign my copyrights to TNF.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Jun 26 06:54:08 1998 UTC (25 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.7: +4 -1 lines
Diff to previous 1.7 (colored)

Include COMPAT_* option headers I forgot earlier, pointed out by
Nathan Williams.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Feb 11 03:05:35 1998 UTC (26 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.6: +5 -2 lines
Diff to previous 1.6 (colored)

Fix for defopt'd UVM and PMAP_NEW.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Feb 6 07:21:53 1998 UTC (26 years, 2 months ago) by mrg
Branch: MAIN
Changes since 1.5: +18 -1 lines
Diff to previous 1.5 (colored)

add the i386 MD portions for UVM.

Revision 1.3.2.1 / (download) - annotate - [select for diffs], Thu Nov 13 07:49:27 1997 UTC (26 years, 5 months ago) by mellon
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA
Changes since 1.3: +3 -1 lines
Diff to previous 1.3 (colored) next main 1.4 (colored)

Pull rev 1.4 and 1.5 up from trunk (mycroft)

Revision 1.5 / (download) - annotate - [select for diffs], Thu Nov 13 03:25:27 1997 UTC (26 years, 5 months ago) by mycroft
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored)

Implement the BSDI kluge for the Pentium `hang'; leave the first 7 IDT
descriptors in an unmapped page, and patch up the trap information inside
the page fault handler if the faulting VA is inside the IDT.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Nov 13 03:16:44 1997 UTC (26 years, 5 months ago) by mycroft
Branch: MAIN
Changes since 1.3: +2 -1 lines
Diff to previous 1.3 (colored)

Some general cleanup:
* Call gdt_init() earlier on.
* Don't bother to check for TSS and LDT descriptors in verr_gdt().
* Nuke the sti special case for trace and breakpoint traps.
* Move some variable declarations into more appropriate locations.

Revision 1.2.4.1 / (download) - annotate - [select for diffs], Wed Oct 15 20:59:28 1997 UTC (26 years, 6 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.2: +9 -8 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Sync w/ trunk.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Oct 15 01:21:00 1997 UTC (26 years, 6 months ago) by jtk
Branch: MAIN
CVS Tags: netbsd-1-3-base, marc-pcmcia-base
Branch point for: netbsd-1-3
Changes since 1.2: +9 -8 lines
Diff to previous 1.2 (colored)

put in place a proper bioscall.h (sorry about that!)
finish up incomplete job of moving structure used by bioscall() to
<machine/bioscall.h>, with associated changes in include file strategy,
genassym stuff, etc.

Revision 1.2 / (download) - annotate - [select for diffs], Sat Mar 15 18:09:51 1997 UTC (27 years, 1 month ago) by is
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-bp, bouyer-scsipi
Branch point for: marc-pcmcia
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored)

New ARP system, supports IPv4 over any hardware link.

Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Wed Mar 12 14:34:41 1997 UTC (27 years, 1 month ago) by is
Branch: is-newarp
Changes since 1.1.2.1: +172 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Merge in Changes from The Trunk.

Revision 1.1.2.1, Wed Feb 26 23:50:07 1997 UTC (27 years, 1 month ago) by is
Branch: is-newarp
Changes since 1.1: +0 -172 lines
FILE REMOVED

file genassym.cf was added on branch is-newarp on 1997-03-12 14:34:41 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Wed Feb 26 23:50:07 1997 UTC (27 years, 1 month ago) by mycroft
Branch: MAIN
CVS Tags: is-newarp-before-merge
Branch point for: is-newarp

Use genassym.sh, to support cross-compilation.

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>