Home | History | Annotate | Download | only in include
History log of /src/sys/arch/powerpc/include/altivec.h
RevisionDateAuthorComments
 1.19  28-May-2022  andvar fix various typos in comments.
 1.18  19-Apr-2018  christos s/static inline/static __inline/g for consistency.
 1.17  16-Mar-2017  chs branches: 1.17.12;
allow pcu_save() and pcu_discard() to be called on other threads,
ptrace needs to use it that way.
 1.16  22-Aug-2013  drochner branches: 1.16.6; 1.16.10; 1.16.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.15  02-May-2011  matt branches: 1.15.4; 1.15.14; 1.15.18;
Fix cut/paste error.
 1.14  02-May-2011  matt Move powerpc to use pcu to manage FPU/AltiVec/SPE.
 1.13  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.12  28-Apr-2008  martin branches: 1.12.22; 1.12.26; 1.12.28;
Remove clause 3 and 4 from TNF licenses
 1.11  17-Oct-2007  garbled branches: 1.11.16; 1.11.18; 1.11.20;
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.10  11-Dec-2005  christos branches: 1.10.30; 1.10.38; 1.10.48; 1.10.50; 1.10.52; 1.10.54;
merge ktrace-lwp.
 1.9  16-Apr-2004  matt branches: 1.9.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.8  23-Jun-2003  martin branches: 1.8.2;
Make sure to include opt_foo.h if a defflag option FOO is used.
 1.7  05-Mar-2003  matt Make AltiVec registers available via ptrace/procfs. Simplify AltiVec
processing. Add a "common" procfs_machdep.c for PowerPC platforms.
Even though it is supposed to be port specific, most (if not all)
PowerPC ports can just use the common one.
 1.6  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.5  03-Nov-2002  matt Change _MACHINE_foo_H_ to _POWERPC_foo_H_
 1.4  28-Jul-2002  chs restructure the FPU and AltiVEC code so that it works for MP.
 1.3  18-Jul-2002  matt Make sure that pmap_zero_page and pmap_copy_page don't make calls or
reference while relocation is disabled since the stack will be inaccessible.
Add support for using AltiVec in pmap_zero_page and pmap_copy_page on
AltiVec capable processors.
 1.2  05-Jul-2002  matt Peform a rototill over the powerpc-based ports.

Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop. Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
 1.1  19-Nov-2000  matt branches: 1.1.2; 1.1.6; 1.1.10; 1.1.18;
Add AltiVec VSCR definitions.
 1.1.18.3  31-Aug-2002  gehenna catch up with -current.
 1.1.18.2  21-Jul-2002  gehenna catch up with -current.
 1.1.18.1  16-Jul-2002  gehenna catch up with -current.
 1.1.10.3  11-Nov-2002  nathanw Catch up to -current
 1.1.10.2  01-Aug-2002  nathanw LWPify.
 1.1.10.1  01-Aug-2002  nathanw Catch up to -current.
 1.1.6.1  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.1.2.1  19-Nov-2000  bouyer file altivec.h was added on branch thorpej_scsipi on 2000-11-22 16:01:27 +0000
 1.8.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1  03-Aug-2004  skrll Sync with HEAD
 1.9.12.1  27-Oct-2007  yamt sync with head.
 1.10.54.1  25-Oct-2007  bouyer Sync with HEAD.
 1.10.52.1  18-Oct-2007  yamt sync with head.
 1.10.50.1  06-Nov-2007  matt sync with HEAD
 1.10.48.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.10.38.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.10.30.1  23-Oct-2007  ad Sync with head.
 1.11.20.1  16-May-2008  yamt sync with head.
 1.11.18.1  18-May-2008  yamt sync with head.
 1.11.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.12.28.1  06-Jun-2011  jruoho Sync with HEAD.
 1.12.26.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.12.22.2  31-May-2011  rmind sync with head
 1.12.22.1  05-Mar-2011  rmind sync with head
 1.15.18.1  28-Aug-2013  rmind sync with head
 1.15.14.2  03-Dec-2017  jdolecek update from HEAD
 1.15.14.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.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.16.14.1  21-Apr-2017  bouyer Sync with HEAD
 1.16.10.1  20-Mar-2017  pgoyette Sync with HEAD
 1.16.6.1  28-Aug-2017  skrll Sync with HEAD
 1.17.12.1  22-Apr-2018  pgoyette Sync with HEAD

RSS XML Feed