The NetBSD Project

CVS log for src/sys/arch/x86/include/cpufunc.h

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.42 / (download) - annotate - [select for diffs], Sat Oct 24 07:14:29 2020 UTC (3 years, 5 months ago) by mgorny
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, 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, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, 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, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.41: +77 -1 lines
Diff to previous 1.41 (colored) to selected 1.28 (colored)

Issue 64-bit versions of *XSAVE* for 64-bit amd64 programs

When calling FXSAVE, XSAVE, FXRSTOR, ... for 64-bit programs on amd64
use the 64-suffixed variant in order to include the complete FIP/FDP
registers in the x87 area.

The difference between the two variants is that the FXSAVE64 (new)
variant represents FIP/FDP as 64-bit fields (union fp_addr.fa_64),
while the legacy FXSAVE variant uses split fields: 32-bit offset,
16-bit segment and 16-bit reserved field (union fp_addr.fa_32).
The latter implies that the actual addresses are truncated to 32 bits
which is insufficient in modern programs.

The change is applied only to 64-bit programs on amd64.  Plain i386
and compat32 continue using plain FXSAVE.  Similarly, NVMM is not
changed as I am not familiar with that code.

This is a potentially breaking change.  However, I don't think it likely
to actually break anything because the data provided by the old variant
were not meaningful (because of the truncated pointer).

Revision 1.41 / (download) - annotate - [select for diffs], Mon Jun 15 09:09:23 2020 UTC (3 years, 9 months ago) by msaitoh
Branch: MAIN
Changes since 1.40: +30 -12 lines
Diff to previous 1.40 (colored) to selected 1.28 (colored)

Serialize rdtsc using with lfence, mfence or cpuid to read TSC more precisely.

 x86/x86/tsc.c rev. 1.67 reduced cache problem and got big improvement, but it
 still has room. I measured the effect of lfence, mfence, cpuid and rdtscp.
The impact to TSC skew and/or drift is:

	AMD:   mfence > rdtscp > cpuid > lfence-serialize > lfence = nomodify
	Intel: lfence > rdtscp > cpuid > nomodify

So, mfence is the best on AMD and lfence is the best on Intel. If it has no
SSE2, we can use cpuid.

NOTE:
  - An AMD's document says DE_CFG_LFENCE_SERIALIZE bit can be used for
    serializing, but it's not so good.
  - On Intel i386(not amd64), it seems the improvement is very little.
  - rdtscp instruct can be used as serializing instruction + rdtsc, but
    it's not good as [lm]fence. Both Intel and AMD's document say that
    the latency of rdtscp is bigger than rdtsc, so I suspect the difference
    of the result comes from it.

Revision 1.40 / (download) - annotate - [select for diffs], Sun Jun 14 16:12:05 2020 UTC (3 years, 9 months ago) by riastradh
Branch: MAIN
Changes since 1.39: +4 -4 lines
Diff to previous 1.39 (colored) to selected 1.28 (colored)

Use static constant rather than stack memset buffer for zero fpregs.

Revision 1.39 / (download) - annotate - [select for diffs], Sat May 2 11:37:17 2020 UTC (3 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.38: +13 -4 lines
Diff to previous 1.38 (colored) to selected 1.28 (colored)

Modify the hotpatch mechanism, in order to make it much less ROP-friendly.

Currently x86_patch_window_open is a big problem, because it is a perfect
function to inject/modify executable code with ROP.

 - Remove x86_patch_window_open(), along with its x86_patch_window_close()
   counterpart.
 - Introduce a read-only link-set of hotpatch descriptor structures,
   which reference a maximum of two read-only hotpatch sources.
 - Modify x86_hotpatch() to open a window and call the new
   x86_hotpatch_apply() function in a hard-coded manner.
 - Modify x86_hotpatch() to take a name and a selector, and have
   x86_hotpatch_apply() resolve the descriptor from the name and the
   source from the selector, before hotpatching.
 - Move the error handling in a separate x86_hotpatch_cleanup() function,
   that gets called after we closed the window.

The resulting implementation is a bit complex and non-obvious. But it
gains the following properties: the code executed in the hotpatch window
is strictly hard-coded (no callback and no possibility to execute your own
code in the window) and the pointers this code accesses are strictly
read-only (no possibility to forge pointers to hotpatch an area that was
not designated as hotpatchable at compile-time, and no possibility to
choose what bytes to write other than the maximum of two read-only
templates that were designated as valid for the given destination at
compile-time).

With current CPUs this slightly improves a situation that is already
pretty bad by definition on x86. Assuming CET however, this change closes
a big hole and is kinda great.

The only ~problem there is, is that dtrace-fbt tries to hotpatch random
places with random bytes, and there is just no way to make it safe.
However dtrace is only in a module, that is rarely used and never compiled
into the kernel, so it's not a big problem; add a shitty & vulnerable
independent hotpatch window in it, and leave big XXXs. It looks like fbt
is going to collapse soon anyway.

Revision 1.38 / (download) - annotate - [select for diffs], Sat Apr 25 15:26:18 2020 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored) to selected 1.28 (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.37.6.1 / (download) - annotate - [select for diffs], Wed Apr 15 16:04:06 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored) next main 1.38 (colored) to selected 1.28 (colored)

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

Revision 1.24.4.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:11 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.24.4.1: +192 -23 lines
Diff to previous 1.24.4.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored) to selected 1.28 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.37 / (download) - annotate - [select for diffs], Wed Oct 30 17:06:57 2019 UTC (4 years, 4 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: bouyer-xenpvh
Changes since 1.36: +98 -8 lines
Diff to previous 1.36 (colored) to selected 1.28 (colored)

More inlined ASM.

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Wed Oct 16 17:32:17 2019 UTC (4 years, 5 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Changes since 1.34: +4 -3 lines
Diff to previous 1.34 (colored) next main 1.35 (colored) to selected 1.28 (colored)

Pull up following revision(s) (requested by maxv in ticket #338):

	sys/arch/x86/include/cpufunc.h: revision 1.35

Add a memory barrier on wrmsr, because some MSRs control memory access
rights (we don't use them though). Also add barriers on fninit and clts
for safety.

Revision 1.36 / (download) - annotate - [select for diffs], Sat Sep 7 18:33:16 2019 UTC (4 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.35: +30 -4 lines
Diff to previous 1.35 (colored) to selected 1.28 (colored)

Convert rdmsr_locked and wrmsr_locked to inlines.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Sep 7 11:09:03 2019 UTC (4 years, 6 months ago) by maxv
Branch: MAIN
Changes since 1.34: +4 -3 lines
Diff to previous 1.34 (colored) to selected 1.28 (colored)

Add a memory barrier on wrmsr, because some MSRs control memory access
rights (we don't use them though). Also add barriers on fninit and clts
for safety.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Jul 5 17:08:55 2019 UTC (4 years, 8 months ago) by maxv
Branch: MAIN
CVS Tags: netbsd-9-base
Branch point for: netbsd-9
Changes since 1.33: +47 -11 lines
Diff to previous 1.33 (colored) to selected 1.28 (colored)

More inlines, prerequisites for future changes. Also, remove fngetsw(),
which was a duplicate of fnstsw().

Revision 1.33 / (download) - annotate - [select for diffs], Wed Jul 3 17:24:37 2019 UTC (4 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.32: +22 -6 lines
Diff to previous 1.32 (colored) to selected 1.28 (colored)

Inline x86_cpuid2(), prerequisite for future changes. Also, add "memory"
on certain other inlines, to make sure GCC does not reorder.

Revision 1.24.4.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:06:53 2019 UTC (4 years, 9 months ago) by christos
Branch: phil-wifi
Changes since 1.24: +292 -63 lines
Diff to previous 1.24 (colored) to selected 1.28 (colored)

Sync with HEAD

Revision 1.32 / (download) - annotate - [select for diffs], Thu May 30 21:40:40 2019 UTC (4 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-20190609
Changes since 1.31: +21 -21 lines
Diff to previous 1.31 (colored) to selected 1.28 (colored)

use __asm

Revision 1.31 / (download) - annotate - [select for diffs], Wed May 29 16:54:41 2019 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.30: +25 -1 lines
Diff to previous 1.30 (colored) to selected 1.28 (colored)

Add PCID support in SVS. This avoids TLB flushes during kernel<->user
transitions, which greatly reduces the performance penalty introduced by
SVS.

We use two ASIDs, 0 (kern) and 1 (user), and use invpcid to flush pages
in both ASIDs.

The read-only machdep.svs.pcid={0,1} sysctl is added, and indicates whether
SVS+PCID is in use.

Revision 1.30 / (download) - annotate - [select for diffs], Sat May 11 13:40:26 2019 UTC (4 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.29: +7 -6 lines
Diff to previous 1.29 (colored) to selected 1.28 (colored)

Undo previous, fixed in userland.

Revision 1.29 / (download) - annotate - [select for diffs], Sat May 11 12:58:17 2019 UTC (4 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.28: +7 -8 lines
Diff to previous 1.28 (colored)

expose the {rd,wr}msr functions to userland and install the header for
the benefit of cpuctl (fix the build).

Revision 1.28 / (download) - annotate - [selected], Thu May 9 17:09:50 2019 UTC (4 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.27: +9 -1 lines
Diff to previous 1.27 (colored)

sti/cli are not allowed on Xen, we have to clear/set a bit in the
shared page. Revert x86_disable_intr/x86_enable_intr to plain function
calls on XENPV.
While there, clean up unused functions and macros, and change cli()/sti()
macros to x86_disable_intr/x86_enable_intr.
Makes Xen domU boot again
(http://www-soc.lip6.fr/~bouyer/NetBSD-tests/xen/HEAD/)

Revision 1.27 / (download) - annotate - [select for diffs], Sat May 4 07:20:22 2019 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.26: +157 -36 lines
Diff to previous 1.26 (colored) to selected 1.28 (colored)

More inlined ASM. While here switch to proper types.

Revision 1.26 / (download) - annotate - [select for diffs], Wed May 1 15:17:49 2019 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.25: +77 -6 lines
Diff to previous 1.25 (colored) to selected 1.28 (colored)

Start converting the x86 CPU functions to inlined ASM. Matters for NVMM,
where some are invoked millions of times.

Revision 1.25 / (download) - annotate - [select for diffs], Wed May 1 14:29:15 2019 UTC (4 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.24: +35 -30 lines
Diff to previous 1.24 (colored) to selected 1.28 (colored)

Remove unused functions and reorder a little.

Revision 1.22.8.1 / (download) - annotate - [select for diffs], Tue Mar 6 10:17:11 2018 UTC (6 years ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.22: +4 -1 lines
Diff to previous 1.22 (colored) next main 1.23 (colored) to selected 1.28 (colored)

Pull up the following revisions, requested by maxv in ticket #603:

	amd64/conf/kern.ldscript      1.25 (patch)
	amd64/conf/kern.ldscript.Xen  1.14 (patch)
	i386/conf/kern.ldscript       1.21 (patch)
	i386/conf/kern.ldscript.Xen   1.15 (patch)
	x86/include/cpufunc.h         1.24 (patch)
	x86/x86/patch.c               1.25 (partial) 1.26 (partial)

Backport x86_hotpatch.

Revision 1.24 / (download) - annotate - [select for diffs], Thu Feb 22 09:41:06 2018 UTC (6 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, 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, pgoyette-compat, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi
Changes since 1.23: +4 -1 lines
Diff to previous 1.23 (colored) to selected 1.28 (colored)

Improve the SVS initialization.

Declare x86_patch_window_open() and x86_patch_window_close(), and globalify
x86_hotpatch().

Introduce svs_enable() in x86/svs.c, that does the SVS hotpatching.

Change svs_init() to take a bool. This function gets called twice; early
when the system just booted (and nothing is initialized), lately when at
least pmap_kernel has been initialized.

Revision 1.13.12.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:50 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.13.12.1: +16 -5 lines
Diff to previous 1.13.12.1 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored) to selected 1.28 (colored)

update from HEAD

Revision 1.23 / (download) - annotate - [select for diffs], Sun Oct 15 11:31:00 2017 UTC (6 years, 5 months ago) by maxv
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.22: +3 -1 lines
Diff to previous 1.22 (colored) to selected 1.28 (colored)

Add setds and setes, will be useful in the future.

Revision 1.18.6.3 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:23 2017 UTC (7 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.18.6.2: +13 -14 lines
Diff to previous 1.18.6.2 (colored) to branchpoint 1.18 (colored) next main 1.19 (colored) to selected 1.28 (colored)

Sync with HEAD

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:28 2017 UTC (7 years, 2 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.19: +13 -4 lines
Diff to previous 1.19 (colored) next main 1.20 (colored) to selected 1.28 (colored)

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

Revision 1.22 / (download) - annotate - [select for diffs], Tue Dec 13 10:54:27 2016 UTC (7 years, 3 months ago) by kamil
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.21: +1 -2 lines
Diff to previous 1.21 (colored) to selected 1.28 (colored)

Torn down KSTACK_CHECK_DR0, i386-only feature to detect stack overflow

This feature was intended to detect stack overflow with CPU Debug Registers
(x86). It was never ported to other ports, neither amd64 and should be
adapted for SMP...

Currently there might be better ways to detect stack overflows like page
mapping protection. Since the number of Debug Registers is restricted
(4 on x86), torn it down completely.

This interface introduced helper functions for Debug Registers, they will
be replaced with the new <x86/dbregs.h> interface.

KSTACK_CHECK_DR0 was disabled by default and won't affect ordinary users.

Sponsored by <The NetBSD Foundation>

Revision 1.21 / (download) - annotate - [select for diffs], Tue Dec 13 10:21:33 2016 UTC (7 years, 3 months ago) by kamil
Branch: MAIN
Changes since 1.20: +13 -13 lines
Diff to previous 1.20 (colored) to selected 1.28 (colored)

Switch x86 CPU Debug Register types from vaddr_t to register_t

This is more opaque and appropriate type, as vaddr_t is meant to be used
for vitual address value. Not all DR on x86 are used to represent virtual
address (DR6 and DR7 are definitely not).

No functional change intended.

Change suggested by <christos>

Sponsored by <The NetBSD Foundation>

Revision 1.18.6.2 / (download) - annotate - [select for diffs], Mon Dec 5 10:54:59 2016 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.18.6.1: +11 -1 lines
Diff to previous 1.18.6.1 (colored) to branchpoint 1.18 (colored) to selected 1.28 (colored)

Sync with HEAD

Revision 1.20 / (download) - annotate - [select for diffs], Sun Nov 27 14:49:21 2016 UTC (7 years, 4 months ago) by kamil
Branch: MAIN
CVS Tags: nick-nhusb-base-20161204
Changes since 1.19: +11 -1 lines
Diff to previous 1.19 (colored) to selected 1.28 (colored)

Add accessors for available x86 Debug Registers

There are 8 Debug Registers on i386 (available at least since 80386) and 16
on AMD64. Currently DR4 and DR5 are reserved on both cpu-families and
DR9-DR15 are still reserved on AMD64. Therefore add accessors for DR0-DR3,
DR6-DR7 for all ports.

Debug Registers x86:
 * DR0-DR3  Debug Address Registers
 * DR4-DR5  Reserved
 * DR6      Debug Status Register
 * DR7      Debug Control Register
 * DR8-DR15 Reserved

Access the registers is available only from a kernel (ring 0) as there is
needed top protected access. For this reason there is need to use special
XEN functions to get and set the registers in the XEN3 kernels.

XEN specific functions as defined in NetBSD:
 - HYPERVISOR_get_debugreg()
 - HYPERVISOR_set_debugreg()

This code extends the existing rdr6() and ldr6() accessor for additional:
 - rdr0() & ldr0()
 - rdr1() & ldr1()
 - rdr2() & ldr2()
 - rdr3() & ldr3()
 - rdr7() & ldr7()

Traditionally accessors for DR6 were passing vaddr_t argument, while it's
appropriate type for DR0-DR3, DR6-DR7 should be using u_long, however it's
not a big deal. The resulting functionality should be equivalent so stick
to this convention and use the vaddr_t type for all DR accessors.

There was already a function defined for rdr6() in XEN, but it had a nit on
AMD64 as it was casting HYPERVISOR_get_debugreg() to u_int (32-bit on
AMD64), truncating result. It still works for DR6, but for the sake of
simplicity always return full 64-bit value.

New accessors duplicate functionality of the dr0() function available on
i386 within the KSTACK_CHECK_DR0 option. dr0() is a specialized layer with
logic to set appropriate types of interrupts, now accessors are designed to
pass verbatim values from user-land (with simple sanity checks in the
kernel). At the moment there are no plans to make possible to coexist
KSTACK_CHECK_DR0 with debug registers for user applications (debuggers).

     options KSTACK_CHECK_DR0
     Detect kernel stack overflow using DR0 register.  This option uses DR0
     register exclusively so you can't use DR0 register for other purpose
     (e.g., hardware breakpoint) if you turn this on.

The KSTACK_CHECK_DR0 functionality was designed for i386 and never ported
to amd64.

Code tested on i386 and amd64 with kernels: GENERIC, XEN3_DOMU, XEN3_DOM0.

Sponsored by <The NetBSD Foundation>

Revision 1.13.8.1 / (download) - annotate - [select for diffs], Thu Jul 14 06:51:03 2016 UTC (7 years, 8 months ago) by snj
Branch: netbsd-6
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.28 (colored)

Pull up following revision(s) (requested by hannken in ticket #1361):
	sys/arch/x86/include/cpufunc.h: revision 1.19
	sys/arch/x86/x86/errata.c: revision 1.23
Adapt prototypes and usage of rdmsr_locked() and wrmsr_locked() to
their implementation.  Both functions don't take the passcode as
argument.
As wrmsr_locked() no longer writes the passcode to the msr the
erratum 721 on my Opteron 2356 really gets patched and cc1 no longer
crashes with SIGSEGV.

Revision 1.13.22.1 / (download) - annotate - [select for diffs], Thu Jul 14 06:48:53 2016 UTC (7 years, 8 months ago) by snj
Branch: netbsd-6-1
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.28 (colored)

Pull up following revision(s) (requested by hannken in ticket #1361):
	sys/arch/x86/include/cpufunc.h: revision 1.19
	sys/arch/x86/x86/errata.c: revision 1.23
Adapt prototypes and usage of rdmsr_locked() and wrmsr_locked() to
their implementation.  Both functions don't take the passcode as
argument.
As wrmsr_locked() no longer writes the passcode to the msr the
erratum 721 on my Opteron 2356 really gets patched and cc1 no longer
crashes with SIGSEGV.

Revision 1.13.14.1 / (download) - annotate - [select for diffs], Thu Jul 14 06:48:19 2016 UTC (7 years, 8 months ago) by snj
Branch: netbsd-6-0
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.28 (colored)

Pull up following revision(s) (requested by hannken in ticket #1361):
	sys/arch/x86/include/cpufunc.h: revision 1.19
	sys/arch/x86/x86/errata.c: revision 1.23
Adapt prototypes and usage of rdmsr_locked() and wrmsr_locked() to
their implementation.  Both functions don't take the passcode as
argument.
As wrmsr_locked() no longer writes the passcode to the msr the
erratum 721 on my Opteron 2356 really gets patched and cc1 no longer
crashes with SIGSEGV.

Revision 1.18.6.1 / (download) - annotate - [select for diffs], Sat Mar 19 11:30:07 2016 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored) to selected 1.28 (colored)

Sync with HEAD

Revision 1.18.8.1 / (download) - annotate - [select for diffs], Sat Feb 6 20:26:55 2016 UTC (8 years, 1 month ago) by snj
Branch: netbsd-7-0
CVS Tags: netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored) next main 1.19 (colored) to selected 1.28 (colored)

Pull up following revision(s) (requested by hannken in ticket #1073):
	sys/arch/x86/x86/errata.c: revision 1.23
	sys/arch/x86/include/cpufunc.h: revision 1.19
Adapt prototypes and usage of rdmsr_locked() and wrmsr_locked() to
their implementation.  Both functions don't take the passcode as
argument.
As wrmsr_locked() no longer writes the passcode to the msr the
erratum 721 on my Opteron 2356 really gets patched and cc1 no longer
crashes with SIGSEGV.

Revision 1.18.4.1 / (download) - annotate - [select for diffs], Tue Jan 26 23:46:59 2016 UTC (8 years, 2 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, 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
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored) next main 1.19 (colored) to selected 1.28 (colored)

Pull up following revision(s) (requested by hannken in ticket #1073):
	sys/arch/x86/x86/errata.c: revision 1.23
	sys/arch/x86/include/cpufunc.h: revision 1.19
Adapt prototypes and usage of rdmsr_locked() and wrmsr_locked() to
their implementation.  Both functions don't take the passcode as
argument.
As wrmsr_locked() no longer writes the passcode to the msr the
erratum 721 on my Opteron 2356 really gets patched and cc1 no longer
crashes with SIGSEGV.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Jan 5 10:20:22 2016 UTC (8 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored) to selected 1.28 (colored)

Adapt prototypes and usage of rdmsr_locked() and wrmsr_locked() to
their implementation.  Both functions don't take the passcode as
argument.

As wrmsr_locked() no longer writes the passcode to the msr the
erratum 721 on my Opteron 2356 really gets patched and cc1 no longer
crashes with SIGSEGV.

Revision 1.8.10.3.6.1 / (download) - annotate - [select for diffs], Mon Jun 1 14:43:48 2015 UTC (8 years, 9 months ago) by sborrill
Branch: netbsd-5-1
Changes since 1.8.10.3: +2 -1 lines
Diff to previous 1.8.10.3 (colored) next main 1.8.10.4 (colored) to selected 1.28 (colored)

Pull up the following revisions(s) (requested by msaitoh in ticket #1969):
	sys/arch/x86/include/cpufunc.h:	revision 1.13
	sys/arch/amd64/amd64/cpufunc.S:	revision 1.20-1.21 via patch
	sys/arch/i386/i386/cpufunc.S:	revision 1.16-1.17, 1.21 via patch

Backport rdmsr_safe() to access MSR safely.

Revision 1.8.10.3.10.1 / (download) - annotate - [select for diffs], Mon Jun 1 14:42:40 2015 UTC (8 years, 9 months ago) by sborrill
Branch: netbsd-5-2
Changes since 1.8.10.3: +2 -1 lines
Diff to previous 1.8.10.3 (colored) next main 1.8.10.4 (colored) to selected 1.28 (colored)

Pull up the following revisions(s) (requested by msaitoh in ticket #1969):
	sys/arch/x86/include/cpufunc.h:	revision 1.13
	sys/arch/amd64/amd64/cpufunc.S:	revision 1.20-1.21 via patch
	sys/arch/i386/i386/cpufunc.S:	revision 1.16-1.17, 1.21 via patch

Backport rdmsr_safe() to access MSR safely.

Revision 1.8.10.4 / (download) - annotate - [select for diffs], Mon Jun 1 14:38:31 2015 UTC (8 years, 9 months ago) by sborrill
Branch: netbsd-5
Changes since 1.8.10.3: +2 -1 lines
Diff to previous 1.8.10.3 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored) to selected 1.28 (colored)

Pull up the following revisions(s) (requested by msaitoh in ticket #1969):
	sys/arch/x86/include/cpufunc.h:		revision 1.13
	sys/arch/amd64/amd64/cpufunc.S:		revision 1.20-1.21 via patch
	sys/arch/i386/i386/cpufunc.S:		revision 1.16-1.17, 1.21 via patch

Backport rdmsr_safe() to access MSR safely.

Revision 1.13.12.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:29 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.13: +29 -12 lines
Diff to previous 1.13 (colored) to selected 1.28 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Thu May 22 11:40:13 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.13: +29 -12 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.28 (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.13.16.1 / (download) - annotate - [select for diffs], Sun May 18 17:45:30 2014 UTC (9 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.13: +29 -12 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.28 (colored)

sync with head

Revision 1.18 / (download) - annotate - [select for diffs], Tue Feb 25 22:16:52 2014 UTC (10 years, 1 month 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-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-base, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1
Branch point for: nick-nhusb, netbsd-7-0, netbsd-7
Changes since 1.17: +16 -15 lines
Diff to previous 1.17 (colored) to selected 1.28 (colored)

Add support for saving the AVX-256 ymm registers during FPU context switches.
Add support for the forthcoming AVX-512 registers.
Code compiled with -mavx seems to work, but I've not tested context
  switches with live ymm registers.
There is a small cost on fork/exec (a larger area is copied/zerod),
  but I don't think the ymm registers are read/written unless they
  have been used.
The code use XSAVE on all cpus, I'm not brave enough to enable XSAVEOPT.

Revision 1.17 / (download) - annotate - [select for diffs], Thu Feb 13 19:37:08 2014 UTC (10 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.16: +14 -9 lines
Diff to previous 1.16 (colored) to selected 1.28 (colored)

Check the argument types for the fpu asm functions.

Revision 1.16 / (download) - annotate - [select for diffs], Wed Feb 12 23:24:09 2014 UTC (10 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.15: +4 -3 lines
Diff to previous 1.15 (colored) to selected 1.28 (colored)

Change i386 to use x86/fpu.c instead of i386/isa/npx.c
This changes the trap10 and trap13 code to call directly into fpu.c,
  removing all the code for T_ARITHTRAP, T_XMM and T_FPUNDA from i386/trap.c
Not all of the code thate appeared to handle fpu traps was ever called!
Most of the changes just replace the include of machine/npx.h with x86/fpu.h
  (or remove it entirely).

Revision 1.15 / (download) - annotate - [select for diffs], Sun Feb 9 17:07:41 2014 UTC (10 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.14: +4 -3 lines
Diff to previous 1.14 (colored) to selected 1.28 (colored)

Add x86_stmxcsr for amd64.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Dec 8 18:00:51 2013 UTC (10 years, 3 months ago) by dsl
Branch: MAIN
Changes since 1.13: +11 -2 lines
Diff to previous 1.13 (colored) to selected 1.28 (colored)

Add some definitions for cpu 'extended state'.
These are needed for support of the AVX SIMD instructions.
Nothing yet uses them.

Revision 1.13 / (download) - annotate - [select for diffs], Sat Sep 24 10:32:52 2011 UTC (12 years, 6 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, khorben-n900, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, agc-symver-base, agc-symver
Branch point for: yamt-pagecache, tls-maxphys, rmind-smpnet, netbsd-6-1, netbsd-6-0, netbsd-6
Changes since 1.12: +2 -1 lines
Diff to previous 1.12 (colored) to selected 1.28 (colored)

Import rdmsr_safe(msr, *value) for x86 world. It allows reading MSRs
in a safe way by handling the fault that might trigger for certain
register <> CPU/arch combos.

Requested by Jukka. Patch adapted from one found in DragonflyBSD.

Revision 1.11.6.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:52:28 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.11: +3 -1 lines
Diff to previous 1.11 (colored) next main 1.12 (colored) to selected 1.28 (colored)

sync with head

Revision 1.11.2.1 / (download) - annotate - [select for diffs], Sun Oct 24 22:48:16 2010 UTC (13 years, 5 months ago) by jym
Branch: jym-xensuspend
Changes since 1.11: +3 -1 lines
Diff to previous 1.11 (colored) next main 1.12 (colored) to selected 1.28 (colored)

Sync with HEAD

Revision 1.11.4.1 / (download) - annotate - [select for diffs], Tue Aug 17 06:45:30 2010 UTC (13 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.11: +3 -1 lines
Diff to previous 1.11 (colored) next main 1.12 (colored) to selected 1.28 (colored)

Sync with HEAD.

Revision 1.6.2.3 / (download) - annotate - [select for diffs], Wed Aug 11 22:52:55 2010 UTC (13 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.6.2.2: +3 -1 lines
Diff to previous 1.6.2.2 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored) to selected 1.28 (colored)

sync with head.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Jul 7 01:14:53 2010 UTC (13 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base7, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jym-xensuspend-base, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.11: +3 -1 lines
Diff to previous 1.11 (colored) to selected 1.28 (colored)

add the guts of TLS support on amd64.  based on joerg's patch,
reworked by me to support 32-bit processes as well.
we now keep %fs and %gs loaded with the user values
while in the kernel, which means we don't need to
reload them when returning to user mode.

Revision 1.6.2.2 / (download) - annotate - [select for diffs], Mon May 4 08:12:09 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.6.2.1: +6 -2 lines
Diff to previous 1.6.2.1 (colored) to branchpoint 1.6 (colored) to selected 1.28 (colored)

sync with head.

Revision 1.8.8.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:29:36 2009 UTC (15 years ago) by skrll
Branch: nick-hppapmap
Changes since 1.8.8.1: +3 -1 lines
Diff to previous 1.8.8.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored) to selected 1.28 (colored)

Sync with HEAD.

Revision 1.8.10.3 / (download) - annotate - [select for diffs], Mon Feb 2 21:38:50 2009 UTC (15 years, 1 month 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-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-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
Branch point for: netbsd-5-2, netbsd-5-1
Changes since 1.8.10.2: +3 -1 lines
Diff to previous 1.8.10.2 (colored) to branchpoint 1.8 (colored) to selected 1.28 (colored)

Pull up following revision(s) (requested by ad in ticket #396):
	sys/arch/amd64/amd64/machdep.c: revision 1.122
	sys/arch/i386/i386/machdep.c: revision 1.657
	sys/arch/x86/include/cpufunc.h: revision 1.11
	sys/arch/x86/x86/x86_machdep.c: revision 1.28
factor out common reset code.

Revision 1.8.10.2 / (download) - annotate - [select for diffs], Mon Feb 2 18:50:01 2009 UTC (15 years, 1 month ago) by snj
Branch: netbsd-5
Changes since 1.8.10.1: +3 -1 lines
Diff to previous 1.8.10.1 (colored) to branchpoint 1.8 (colored) to selected 1.28 (colored)

Pull up following revision(s) (requested by bouyer in ticket #343):
	sys/arch/x86/x86/identcpu.c: revision 1.13
	sys/arch/x86/include/cpufunc.h: revision 1.10
x86_patch() is not available on Xen.
Make Xen kernels link again.

Revision 1.8.10.1 / (download) - annotate - [select for diffs], Mon Feb 2 03:06:12 2009 UTC (15 years, 1 month ago) by snj
Branch: netbsd-5
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored) to selected 1.28 (colored)

Pull up following revision(s) (requested by ad in ticket #343):
	common/lib/libc/arch/i386/atomic/atomic.S: revision 1.14
	sys/arch/x86/include/cpufunc.h: revision 1.9
	sys/arch/x86/x86/identcpu.c: revision 1.12
	sys/arch/x86/x86/cpu.c: revision 1.60
	sys/arch/x86/x86/patch.c: revision 1.15
PR kern/40213 my i386 machine can't boot because of tsc
- Patch in atomic_cas_64() twice. The first patch is early and makes it
  the MP-atomic version available if we have cmpxchg8b. The second patch
  strips the lock prefix if ncpu==1.
- Fix the i486 atomic_cas_64() to not unconditionally enable interrupts.

Revision 1.11 / (download) - annotate - [select for diffs], Tue Jan 27 21:59:24 2009 UTC (15 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, uebayasi-xip-base1, uebayasi-xip-base, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, matt-premerge-20091211, jymxensuspend-base
Branch point for: uebayasi-xip, rmind-uvmplock, jym-xensuspend
Changes since 1.10: +3 -1 lines
Diff to previous 1.10 (colored) to selected 1.28 (colored)

factor out common reset code.

Revision 1.8.8.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:17:09 2009 UTC (15 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.8: +4 -2 lines
Diff to previous 1.8 (colored) to selected 1.28 (colored)

Sync with HEAD.

Revision 1.4.6.2 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:38 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.4.6.1: +3 -1 lines
Diff to previous 1.4.6.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored) to selected 1.28 (colored)

Sync with HEAD.

Revision 1.10 / (download) - annotate - [select for diffs], Fri Dec 19 15:11:55 2008 UTC (15 years, 3 months ago) by cegger
Branch: MAIN
CVS Tags: mjf-devfs2-base
Changes since 1.9: +3 -1 lines
Diff to previous 1.9 (colored) to selected 1.28 (colored)

x86_patch() is not available on Xen.
Make Xen kernels link again.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Dec 19 11:21:24 2008 UTC (15 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored) to selected 1.28 (colored)

PR kern/40213 my i386 machine can't boot because of tsc

- Patch in atomic_cas_64() twice. The first patch is early and makes it
  the MP-atomic version available if we have cmpxchg8b. The second patch
  strips the lock prefix if ncpu==1.

- Fix the i486 atomic_cas_64() to not unconditionally enable interrupts.

Revision 1.4.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:22:50 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.4: +6 -12 lines
Diff to previous 1.4 (colored) to selected 1.28 (colored)

Sync with HEAD.

Revision 1.5.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:33:01 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.5: +4 -10 lines
Diff to previous 1.5 (colored) next main 1.6 (colored) to selected 1.28 (colored)

sync with head.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:23:27 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.6: +3 -10 lines
Diff to previous 1.6 (colored) to selected 1.28 (colored)

sync with head.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Apr 30 00:16:30 2008 UTC (15 years, 11 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, netbsd-5-0-RC1, matt-mips64-base2, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored) to selected 1.28 (colored)

AMD's APM Volume 2 says 'All control registers are 64bit in long mode'.
Fix the CR0 prototype to match this (the asm implementation is correct though).
OK ad

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

Remove clause 3 and 4 from TNF licenses

Revision 1.6 / (download) - annotate - [select for diffs], Sun Apr 27 11:26:01 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (colored) to selected 1.28 (colored)

+lcr2

Revision 1.5 / (download) - annotate - [select for diffs], Wed Apr 16 16:06:51 2008 UTC (15 years, 11 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base
Branch point for: yamt-pf42
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored) to selected 1.28 (colored)

- use aprint_*_dev and device_xname
- use POSIX integer types

Revision 1.2.12.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:05:16 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.2.12.1: +3 -2 lines
Diff to previous 1.2.12.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.28 (colored)

Sync with HEAD.

Revision 1.2.10.4 / (download) - annotate - [select for diffs], Mon Jan 21 09:40:07 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.10.3: +3 -2 lines
Diff to previous 1.2.10.3 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.28 (colored)

sync with head

Revision 1.2.14.3 / (download) - annotate - [select for diffs], Wed Jan 9 01:49:46 2008 UTC (16 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.2.14.2: +3 -14 lines
Diff to previous 1.2.14.2 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.28 (colored)

sync with HEAD

Revision 1.3.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:51:18 2008 UTC (16 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.3: +3 -2 lines
Diff to previous 1.3 (colored) next main 1.4 (colored) to selected 1.28 (colored)

Sync with HEAD

Revision 1.4 / (download) - annotate - [select for diffs], Tue Jan 1 12:51:08 2008 UTC (16 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.3: +3 -2 lines
Diff to previous 1.3 (colored) to selected 1.28 (colored)

add x86_cpuid2, which can specify ecx register.

Revision 1.2.10.3 / (download) - annotate - [select for diffs], Fri Dec 7 17:26:56 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.10.2: +1 -13 lines
Diff to previous 1.2.10.2 (colored) to branchpoint 1.2 (colored) to selected 1.28 (colored)

sync with head

Revision 1.2.6.3 / (download) - annotate - [select for diffs], Mon Dec 3 18:40:04 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.2.6.2: +1 -13 lines
Diff to previous 1.2.6.2 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.28 (colored)

Sync with HEAD.

Revision 1.2.2.3 / (download) - annotate - [select for diffs], Wed Nov 21 21:53:36 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.2.2.2: +1 -13 lines
Diff to previous 1.2.2.2 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.28 (colored)

Sync with HEAD.

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

Sync with HEAD.

Revision 1.2.8.1 / (download) - annotate - [select for diffs], Sun Nov 18 19:34:44 2007 UTC (16 years, 4 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.2: +1 -13 lines
Diff to previous 1.2 (colored) next main 1.3 (colored) to selected 1.28 (colored)

Sync with HEAD

Revision 1.3 / (download) - annotate - [select for diffs], Thu Nov 15 19:18:34 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-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: bouyer-xeni386
Changes since 1.2: +1 -13 lines
Diff to previous 1.2 (colored) to selected 1.28 (colored)

Remove support for 80386 level CPUs. PR port-i386/36163.

Revision 1.2.14.2 / (download) - annotate - [select for diffs], Tue Nov 6 23:23:34 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.2.14.1: +141 -0 lines
Diff to previous 1.2.14.1 (colored) to branchpoint 1.2 (colored) to selected 1.28 (colored)

sync with HEAD

Revision 1.2.10.2 / (download) - annotate - [select for diffs], Sat Oct 27 11:28:54 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.10.1: +141 -0 lines
Diff to previous 1.2.10.1 (colored) to branchpoint 1.2 (colored) to selected 1.28 (colored)

sync with head.

Revision 1.2.6.2 / (download) - annotate - [select for diffs], Tue Oct 9 13:38:41 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.2.6.1: +141 -0 lines
Diff to previous 1.2.6.1 (colored) to branchpoint 1.2 (colored) to selected 1.28 (colored)

Sync with head.

Revision 1.2.4.2 / (download) - annotate - [select for diffs], Sat Oct 6 15:33:31 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.2.4.1: +141 -0 lines
Diff to previous 1.2.4.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.28 (colored)

sync with head.

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Tue Oct 2 18:27:49 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.2.2.1: +141 -0 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored) to selected 1.28 (colored)

Sync with HEAD.

Revision 1.2.14.1, Wed Sep 26 23:48:37 2007 UTC (16 years, 6 months ago) by matt
Branch: matt-armv6
Changes since 1.2: +0 -141 lines
FILE REMOVED

file cpufunc.h was added on branch matt-armv6 on 2007-11-06 23:23:34 +0000

Revision 1.2.10.1, Wed Sep 26 23:48:37 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2: +0 -141 lines
FILE REMOVED

file cpufunc.h was added on branch yamt-lazymbuf on 2007-10-27 11:28:54 +0000

Revision 1.2.6.1, Wed Sep 26 23:48:37 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.2: +0 -141 lines
FILE REMOVED

file cpufunc.h was added on branch vmlocking on 2007-10-09 13:38:41 +0000

Revision 1.2.4.1, Wed Sep 26 23:48:37 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.2: +0 -141 lines
FILE REMOVED

file cpufunc.h was added on branch yamt-x86pmap on 2007-10-06 15:33:31 +0000

Revision 1.2.2.1, Wed Sep 26 23:48:37 2007 UTC (16 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.2: +0 -141 lines
FILE REMOVED

file cpufunc.h was added on branch jmcneill-pm on 2007-10-02 18:27:49 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Wed Sep 26 23:48:37 2007 UTC (16 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, vmlocking-base, jmcneill-base
Branch point for: yamt-x86pmap, yamt-lazymbuf, vmlocking, mjf-devfs, matt-armv6, jmcneill-pm, bouyer-xenamd64
Changes since 1.1: +3 -3 lines
Diff to previous 1.1 (colored) to selected 1.28 (colored)

Update copyright.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Sep 26 19:48:38 2007 UTC (16 years, 6 months ago) by ad
Branch: MAIN
Diff to selected 1.28 (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.

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>