libc/<arch>/sys/Makefile.inc: remove cruftRemove stray blank lines left over from $FreeBSD$ removal as well assome CVS-era (perhaps pre-repocopy) version comments.Reviewed by: emasteDifferentia
libc/<arch>/sys/Makefile.inc: remove cruftRemove stray blank lines left over from $FreeBSD$ removal as well assome CVS-era (perhaps pre-repocopy) version comments.Reviewed by: emasteDifferential Revision: https://reviews.freebsd.org/D42611(cherry picked from commit b73eace889f1db518a7b0b3372351e0cbf550085)
show more ...
libc: Purge unneeded cdefs.hThese sys/cdefs.h are not needed. Purge them. They are mostly left-overfrom the $FreeBSD$ removal. A few in libc are still required for macrosthat cdefs.h defines. Kee
libc: Purge unneeded cdefs.hThese sys/cdefs.h are not needed. Purge them. They are mostly left-overfrom the $FreeBSD$ removal. A few in libc are still required for macrosthat cdefs.h defines. Keep those.Sponsored by: NetflixDifferential Revision: https://reviews.freebsd.org/D42385(cherry picked from commit 559a218c9b257775fb249b67945fe4a05b7a6b9f)
powerpcspe: Fix buildCopy _fpmath.h from powerpc, which is the same as the one in powerpc64.Sponsored by: The FreeBSD Foundation(cherry picked from commit 604f6bf022cea7e48f3675aa82e756a440716f
powerpcspe: Fix buildCopy _fpmath.h from powerpc, which is the same as the one in powerpc64.Sponsored by: The FreeBSD Foundation(cherry picked from commit 604f6bf022cea7e48f3675aa82e756a440716fd9)
Remove $FreeBSD$: one-line sh patternRemove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
Remove $FreeBSD$: one-line .c patternRemove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
Remove $FreeBSD$: one-line .c comment patternRemove /^/[*/]\s*\$FreeBSD\$.*\n/
Remove $FreeBSD$: two-line .h patternRemove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
[PowerPC] [PowerPCSPE] Fix multiple issues in fpsetmask().Building R on powerpc64 exposed a problem in fpsetmask() whereby wewere not properly clamping the provided mask to the valid range.This
[PowerPC] [PowerPCSPE] Fix multiple issues in fpsetmask().Building R on powerpc64 exposed a problem in fpsetmask() whereby wewere not properly clamping the provided mask to the valid range.This same issue affects powerpc and powerpcspe.Properly limit the range of bits that can be set via fpsetmask().While here, use the correct fp_except_t type instead of fp_rnd_t.Reported by: pkubaj, jhibbits (in IRC)Sponsored by: Tag1 Consulting, Inc.MFC after: 1 week
[PowerPC] Implement VDSO timebase access on powerpc*Implement the remaining pieces needed to allow userland timestamp reading.Rewritten based on an intial essay into the problem by Justin Hibbits
[PowerPC] Implement VDSO timebase access on powerpc*Implement the remaining pieces needed to allow userland timestamp reading.Rewritten based on an intial essay into the problem by Justin Hibbits.(Copyright changed to my own on his request.)Tested on ppc64 (POWER9 Talos II), powerpcspe (e500v2 RB800), andpowerpc (g4 PowerBook).Reviewed by: jhibbits (in irc)Sponsored by: Tag1 Consulting, Inc.Differential Revision: https://reviews.freebsd.org/D26347
[PowerPC] Fix SPE floating point environment manipulationFix multiple problems in the powerpcspe floating point code.* Endianness handling of the SPEFSCR in fenv.h was completely broken.* Ensure
[PowerPC] Fix SPE floating point environment manipulationFix multiple problems in the powerpcspe floating point code.* Endianness handling of the SPEFSCR in fenv.h was completely broken.* Ensure SPEFSCR synchronization requirements are being met.The __r.__d -> __r transformations were written by jhibbits.Reviewed by: jhibbitsDifferential Revision: https://reviews.freebsd.org/D22526
Fix fabs(3) for powerpcspe, this time for realSPE ABI uses the soft-float ABI, which splits doubles into two words. As such,fabs(3) cannot work on a double directly. It's too costly to convert t
Fix fabs(3) for powerpcspe, this time for realSPE ABI uses the soft-float ABI, which splits doubles into two words. As such,fabs(3) cannot work on a double directly. It's too costly to convert theargument pair into a single double to use efdabs, so clear the top bit of thehigh word, which is the sign bit.
Fix register usage in fabs(3) for powerpcspeThis still used the FPU register definition, which gcc converted to using %r1(stack register). Fix to use %r3.
Fix floating point exception definitions for powerpcspeThese were incorrectly implemented in the original port.
Correct an misunderstanding of MDSRCS.MDSRCS it intended to allow assembly versions of funtions with Cimplementations listed in MISRCS. The selection of the correctmachdep_ldis?.c for a given arc
Correct an misunderstanding of MDSRCS.MDSRCS it intended to allow assembly versions of funtions with Cimplementations listed in MISRCS. The selection of the correctmachdep_ldis?.c for a given architecture does not follow this patternand the file should be added to SRCS directly.Reviewed by: emaste, imp, jhbMFC after: 1 weekSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D9841
Fix a copy&paste-o causing a segfault with sigsetjmp.I'm not sure how this passed my code inspection and initial testing, it'sobviously wrong. Found when debugging csh.
Remove the powerpcspe Symbol.map, it's identical to powerpc's.Reported by: kib
Reduce code duplication between powerpc and powerpcspeThey're nearly identical except for a few files.Reported by: kib
ptrace.S is not needed, libc/sys/ptrace.c exists already.This was leftovers from the initial branch work.Reported by: kib
Create a new MACHINE_ARCH for Freescale PowerPC e500v2Summary:The Freescale e500v2 PowerPC core does not use a standard FPU.Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector p
Create a new MACHINE_ARCH for Freescale PowerPC e500v2Summary:The Freescale e500v2 PowerPC core does not use a standard FPU.Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processorunit, which doubles as a FPU. The PowerPC SPE ABI is incompatible with thestock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.Additionaly, the SPE opcodes overlap with Altivec, so these are mutuallyexclusive. Taking advantage of this fact, a new file, powerpc/booke/spe.c, wascreated with the same function set as in powerpc/powerpc/altivec.c, so itbecomes effectively a drop-in replacement. setjmp/longjmp were modified to savethe upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible bythe SPE).Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does notsupport double-precision floating point.Also, without a new MACHINE_ARCH it would be impossible to provide binarypackages which utilize the SPE.Additionally, no work has been done to support ports, work is needed for this.This also means no newer gcc can yet be used. However, gcc's powerpc supporthas been refactored which would make adding a powerpcspe-freebsd target veryeasy.Test Plan:This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222(P1022-based) board, compiled against the new ABI. Base system utilities(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to bootmultiuser.Reviewed By: bdrewery, impRelnotes: yesDifferential Revision: https://reviews.freebsd.org/D5683