Home | History | Annotate | Download | only in include
History log of /src/sys/arch/amd64/include/cpufunc.h
RevisionDateAuthorComments
 1.20  30-Nov-2020  bouyer Introduce smap_enable()/smap_disable() functions, to be used from
C code.
 1.19  17-Oct-2007  garbled branches: 1.19.120;
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.
 1.18  26-Sep-2007  ad 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.
 1.17  21-May-2007  fvdl branches: 1.17.8; 1.17.10; 1.17.12;
Revert fs/gs changes until I figure out issues with them.
 1.16  11-May-2007  fvdl Don't save/restore %fs and %gs in trapframe. The kernel won't touch them.
Instead, save/restore them on context switch. For 32bit processes, save/restore
the selector values only, for 64bit processes, save/restore the appropriate
MSRs. Iff the defaults have been changed.
 1.15  04-Mar-2007  christos branches: 1.15.2; 1.15.4; 1.15.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.14  09-Feb-2007  ad branches: 1.14.2;
Merge newlock2 to head.
 1.13  14-Jan-2007  ad .. but only if _KERNEL is defined.
 1.12  14-Jan-2007  ad On second thought, implement x86_pause() as a regular function. The small
delay from the call is useful for spinlock backoff.
 1.11  12-Jan-2007  ad x86_pause(): do issue the 'pause' instruction, for EMT64 CPUs.
 1.10  01-Jan-2007  ad Report on and where possible, try to work around some of the known errata
for Athlon 64 and Opteron processors. Tested briefly by cube@ and elad@.
 1.9  26-Aug-2006  ad branches: 1.9.2;
Add x86_sfence(), x86_mfence().
 1.8  19-Aug-2006  dsl Fix the amd64 INSTALL kernel (builds of machdep.c with -Os and -O3).
Load the idt with non-randmon data.
 1.7  28-Dec-2005  perry branches: 1.7.4; 1.7.8; 1.7.18;
inline -> __inline
 1.6  24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.5  11-Dec-2005  christos merge ktrace-lwp.
 1.4  14-Jan-2004  yamt branches: 1.4.14; 1.4.16;
issue memory read barrier for BUS_DMASYNC_POSTREAD operation.
PR/21665 from Stephan Uphoff.
 1.3  08-May-2003  fvdl branches: 1.3.2;
Move x86_pause() out of ifdef _KERNEL.
 1.2  08-May-2003  fvdl Add x86_pause() inline function, containing the "pause" instruction
for i386, and nothing for amd64. Sprinkle it in various spinloops,
as recommended by Intel.
 1.1  26-Apr-2003  fvdl Rename the x86_64 port to amd64, as this is the actual name used for
the processor family now. x86_64 is kept as the MACHINE_ARCH value,
since it's already widely used (by e.g. the toolchain, etc), and
by other operating systems.
 1.3.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.3.2.1  03-Aug-2004  skrll Sync with HEAD
 1.4.16.5  27-Oct-2007  yamt sync with head.
 1.4.16.4  03-Sep-2007  yamt sync with head.
 1.4.16.3  26-Feb-2007  yamt sync with head.
 1.4.16.2  30-Dec-2006  yamt sync with head.
 1.4.16.1  21-Jun-2006  yamt sync with head.
 1.4.14.1  28-Sep-2008  jdc Pull up revisions:
sys/arch/amd64/include/cpufunc.h patch
sys/arch/i386/include/cpufunc.h patch
sys/arch/x86/x86/bus_dma.c 1.45 via patch
requested by bouyer in ticket 1945.
 1.7.18.1  27-Aug-2006  riz Pull up following revision(s) (requested by dsl in ticket #68):
sys/arch/amd64/include/cpufunc.h: revision 1.8
Fix the amd64 INSTALL kernel (builds of machdep.c with -Os and -O3).
Load the idt with non-randmon data.
 1.7.8.1  03-Sep-2006  yamt sync with head.
 1.7.4.1  09-Sep-2006  rpaulo sync with head
 1.9.2.4  01-Feb-2007  ad Sync with head.
 1.9.2.3  27-Jan-2007  ad 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).
 1.9.2.2  12-Jan-2007  ad Sync with head.
 1.9.2.1  29-Dec-2006  ad Checkpoint work in progress.
 1.14.2.2  17-May-2007  yamt sync with head.
 1.14.2.1  12-Mar-2007  rmind Sync with HEAD.
 1.15.10.2  03-Oct-2007  garbled Sync with HEAD
 1.15.10.1  22-May-2007  matt Update to HEAD.
 1.15.4.1  11-Jul-2007  mjf Sync with head.
 1.15.2.1  09-Oct-2007  ad Sync with head.
 1.17.12.1  06-Oct-2007  yamt sync with head.
 1.17.10.1  06-Nov-2007  matt sync with HEAD
 1.17.8.1  02-Oct-2007  joerg Sync with HEAD.
 1.19.120.1  14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed