| History log of /src/sys/arch/amd64/include/fpu.h |
| Revision | | Date | Author | Comments |
| 1.14 |
| 18-Feb-2014 |
dsl | It seems that firefox includes machine/fpu.h on amd64. Add the file back so that the firwfox source doesn't have to depend on the version of netbsd it is being compiled for. (The i386 version doesn't play the same games in its SIGFPE handler.)
|
| 1.13 |
| 11-Feb-2014 |
dsl | Move sys/arch/amd64/amd64/fpu.c and sys/arch/amd64/include/fpu.h into sys/arch/x86 in preparation for using the same code for i386.
|
| 1.12 |
| 07-Feb-2014 |
dsl | Convert the amd64 build to use x86/cpu_extended_state.h so that the fpu definitions match those of i386. Mostly just structure and field renames, in addition: 1) process_xmm_to_s87() and process_s87_to_xmm() moved into x86/convert_xmm_s87.c so they can be used by amd64's netbsd32 code. 2) The linux signal code simplified to use a structure copy for ths fxsave data - it matches the hardware definition and won't change.
|
| 1.11 |
| 11-Dec-2013 |
dsl | Remove the fields that were used to save the i387 fp state on interrupt. They were written but never read. Possibly they should be saved for 32 bit processes, but that might be a relic from real i387 where the fpu was actully asynchronous.
|
| 1.10 |
| 01-Dec-2013 |
christos | revert fpu/pcu changes until we figure out what's wrong; they cause random freezes
|
| 1.9 |
| 11-Nov-2013 |
joerg | NetBSD 6.99.26: Switch i386 and amd64 to the x87 default control word as initial value for new processes. This means that long double computations get the expected 63bit mantissa. Binaries tagged as compiled for 6.99.25 and older get the old value.
Add a simple test case to ensure that double and long double computation are working correctly.
|
| 1.8 |
| 23-Oct-2013 |
drochner | 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.
|
| 1.7 |
| 31-Dec-2012 |
dsl | branches: 1.7.2; Move the two fields used to save some i387 state on the last fpu trap into their own sub-structure of the pcb (from 'struct savefpu'). They only (seem) to be used in some code that generates core dumps for 32bit processes (code that might be broken as well!). 'struct safefpu' is now identical to 'struct fxsave64'. One (or both) needs extending to support AVX - might need to be dynamically sized. Removed all the __aligned(16) except for the one in struct pcb itself. Only the copy used for the fsave instruction need be aligned.
|
| 1.6 |
| 15-Dec-2012 |
dsl | Add the offsets and comments for the members of 'struct fxsave64. Spilt the 'fx_unused2' field into its reserved and available halves. The latter could be used by the kernel software (cpu won't read/write it). Remove the __padded from 'struct fxsave64', everything is aligned. Add a CTASSERT that the size is correct (512). Remove the unused 'struct oldfsave'. Everything still builds.
|
| 1.5 |
| 16-Apr-2008 |
cegger | branches: 1.5.38; 1.5.48; use POSIX integer types
|
| 1.4 |
| 15-Jan-2008 |
joerg | branches: 1.4.6; Introduce optional cpu_offline_md to execute MD actions at the end of cpu_offline. Use this on amd64/i386 to force a FPU save. As this was triggered by npxsave_cpu/fpusave_cpu not working for a different CPU, remove the cpu_info argument and adjust npxsave_*/fpusave_* to use bool for the save.
OK ad@
|
| 1.3 |
| 25-Dec-2007 |
perry | Convert many of the uses of __attribute__ to equivalent __packed, __unused and __dead macros from cdefs.h
|
| 1.2 |
| 27-Nov-2007 |
christos | branches: 1.2.2; 1.2.6; Add aligned(16) in savefpu like the i386 port has. Suggested by Matthias Drochner.
|
| 1.1 |
| 26-Apr-2003 |
fvdl | branches: 1.1.18; 1.1.60; 1.1.78; 1.1.80; 1.1.86; 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.1.86.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
| 1.1.86.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
| 1.1.80.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
| 1.1.80.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
| 1.1.78.1 |
| 03-Dec-2007 |
joerg | Sync with HEAD.
|
| 1.1.60.1 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
| 1.1.18.2 |
| 21-Jan-2008 |
yamt | sync with head
|
| 1.1.18.1 |
| 07-Dec-2007 |
yamt | sync with head
|
| 1.2.6.2 |
| 19-Jan-2008 |
bouyer | Sync with HEAD
|
| 1.2.6.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
| 1.2.2.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
| 1.4.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
| 1.5.48.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.5.48.1 |
| 25-Feb-2013 |
tls | resync with head
|
| 1.5.38.2 |
| 22-May-2014 |
yamt | 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")
|
| 1.5.38.1 |
| 23-Jan-2013 |
yamt | sync with head
|
| 1.7.2.1 |
| 18-May-2014 |
rmind | sync with head
|