Home | History | Annotate | Download | only in include
History log of /src/sys/arch/powerpc/include/fpu.h
RevisionDateAuthorComments
 1.25  15-Jul-2020  rin Expose fpu_get_fault_code() even if !PPC_HAVE_FPU, and
adjust it to systems without FPU.
 1.24  06-Jul-2020  rin Drop unused opt_multiprocessor.h includes.
 1.23  06-Jul-2020  rin Style and cosmetic changes. No binary changes intended.
 1.22  19-Apr-2018  christos s/static inline/static __inline/g for consistency.
 1.21  16-Mar-2017  chs branches: 1.21.12;
allow pcu_save() and pcu_discard() to be called on other threads,
ptrace needs to use it that way.
 1.20  22-Aug-2013  drochner branches: 1.20.6; 1.20.10; 1.20.14;
-extend the pcu(9) API by a function which saves all context on the
current CPU, and use it if a CPU is taken offline
-add a bool argument to pcu_discard which tells whether the internal
"LWP has used the coprocessor" flag should be set or reset. The flag
is reported by pcu_used_p(). If set, future accesses should use the
state stored in the PCB. If reset, it should be reset to default.
The former case is useful for setmcontext().
With that, it should not be necessary anymore to manage the "FPU used"
state by an additional MD variable.

approved by matt
 1.19  19-May-2011  kiyohara branches: 1.19.4; 1.19.14; 1.19.18;
Remove unnecessary Tab.
 1.18  02-May-2011  matt Move powerpc to use pcu to manage FPU/AltiVec/SPE.
 1.17  18-Jan-2011  matt Add support for BookE Freescale MPC85xx (e500 core) processors.
Add fast softint support for PowerPC (though only booke uses it).
Redo FPU/VEC support and add e500 SPE support.
Rework trap/intrs to use a common trapframe format.
Support SOFTFLOAT (no hardfloat or fpu emulation) for BookE.
 1.16  17-Oct-2007  garbled branches: 1.16.42; 1.16.46; 1.16.48;
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.15  05-Aug-2006  sanjayl branches: 1.15.14; 1.15.22; 1.15.32; 1.15.34; 1.15.36; 1.15.38;
1st cut of Powermac G5 support (uses bridge mode).
 1.14  11-Dec-2005  christos branches: 1.14.4; 1.14.8;
merge ktrace-lwp.
 1.13  16-Apr-2004  matt branches: 1.13.12;
Add a SAVE/DISCARD flag to save_{fpu,vec}_lwp. Use it appropriately.
Nuke struct fpu and use struct fpreg instead (except for the names, they
were identical). On MP machines, this will avoid an unneeded IPI to save
the register contents that are about to discarded.
 1.12  04-Apr-2004  matt Add int get_fpu_fault_code(void).
 1.11  23-Jun-2003  martin branches: 1.11.2;
Make sure to include opt_foo.h if a defflag option FOO is used.
 1.10  03-Feb-2003  matt Rename PPC_MPC6XX to PPC_OEA (and any mpc6xx reference to oea).
 1.9  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.8  03-Nov-2002  matt Change _MACHINE_foo_H_ to _POWERPC_foo_H_
 1.7  28-Jul-2002  chs restructure the FPU and AltiVEC code so that it works for MP.
 1.6  19-May-2002  jdolecek make usable in LKM context (use #if defined(_KERNEL_OPT))
 1.5  05-Dec-2001  chs branches: 1.5.8;
fix macppc MULTIPROCESSOR compilation.
 1.4  13-Jun-2001  simonb branches: 1.4.2; 1.4.8;
Add a port to IBM's PPC405GP Reference Board (the "walnut")
by Eduardo Horvath and Simon Burge of Wasabi Systems.

IBM 4xx series CPU features:
- New pmap and revised trap handler.
- Support on-chip timers, PCI controller, UARTs
- Framework for on-chip ethernet and watchdog timer.
General PowerPC features:
- Add in-kernel PPC floating point emulation
- New in{,4}_cksum that is between 1.5 and 5 times faster than the
old version depending on CPU type.
General changes:
- Kernel support for generic dbsym-style symbols.
 1.3  04-Feb-2001  briggs branches: 1.3.2;
Build with -Wall -Wetc.
 1.2  07-Dec-1999  danw Fix "FPCSR" to "FPSCR". ("Floating Point Status and Control Register")
 1.1  30-Sep-1996  ws branches: 1.1.28; 1.1.34;
PowerPC port
 1.1.34.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.1.28.2  11-Feb-2001  bouyer Sync with HEAD.
 1.1.28.1  20-Nov-2000  bouyer 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.
 1.3.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.4.8.7  11-Nov-2002  nathanw Catch up to -current
 1.4.8.6  01-Aug-2002  nathanw LWPify.
 1.4.8.5  01-Aug-2002  nathanw Catch up to -current.
 1.4.8.4  20-Jun-2002  nathanw Catch up to -current.
 1.4.8.3  08-Jan-2002  nathanw Catch up to -current.
 1.4.8.2  05-Nov-2001  briggs Initial SA support for ppc. Test-booted on sandpoint, macppc, & walnut.
mcontext and cpu_getmcontext()/cpu_setmcontext() from Klaus Klein
<kleink@netbsd.org>.
 1.4.8.1  13-Jun-2001  briggs file fpu.h was added on branch nathanw_sa on 2001-11-05 19:46:16 +0000
 1.4.2.3  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.4.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.4.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.8.2  31-Aug-2002  gehenna catch up with -current.
 1.5.8.1  30-May-2002  gehenna Catch up with -current.
 1.11.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.11.2.1  03-Aug-2004  skrll Sync with HEAD
 1.13.12.2  27-Oct-2007  yamt sync with head.
 1.13.12.1  30-Dec-2006  yamt sync with head.
 1.14.8.1  11-Aug-2006  yamt sync with head
 1.14.4.1  09-Sep-2006  rpaulo sync with head
 1.15.38.1  25-Oct-2007  bouyer Sync with HEAD.
 1.15.36.1  18-Oct-2007  yamt sync with head.
 1.15.34.1  06-Nov-2007  matt sync with HEAD
 1.15.32.1  26-Oct-2007  joerg 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.
 1.15.22.1  11-Oct-2007  garbled Move a bunch of the macppc SMP code out of macppc, and down into the
generic OEA code. Add a set of md callbacks into these shared routines,
that any oeappc SMP machine needs to provide. This allows for generally
shared SMP startup code, but still allows for machine-specific
differences in the setup and kicking of the new CPU.

Convert macppc to this new layout. Tested by Macallan.

Add an initial attempt at SMP to prep. Tested on UP machine only,
untested on SMP yet.
 1.15.14.1  23-Oct-2007  ad Sync with head.
 1.16.48.1  06-Jun-2011  jruoho Sync with HEAD.
 1.16.46.1  17-Jan-2011  matt Add SPE (signal processing engine) support for mpc85xx/booke. Think of it
as AltiVec-lite (really lite). Genercize AltiVec support so that it could
the same interface could support SPE as well. Rework the FPU support along
the same lines. Move the __asm() to their own XXX_subr.S (altivec, fpu, spe).
 1.16.42.2  31-May-2011  rmind sync with head
 1.16.42.1  05-Mar-2011  rmind sync with head
 1.19.18.1  28-Aug-2013  rmind sync with head
 1.19.14.2  03-Dec-2017  jdolecek update from HEAD
 1.19.14.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.19.4.1  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.20.14.1  21-Apr-2017  bouyer Sync with HEAD
 1.20.10.1  20-Mar-2017  pgoyette Sync with HEAD
 1.20.6.1  28-Aug-2017  skrll Sync with HEAD
 1.21.12.1  22-Apr-2018  pgoyette Sync with HEAD

RSS XML Feed