Add sched_getcpu()(cherry picked from commit 77b2c2f81451db8119e4ea6398fe76813db790de)
Remove architecture specific shmat.S files.These files are identical to the generated system calls.In the case of MIPS, the file was already disconnected from the build.Submitted by: Ali Mashtiz
Remove architecture specific shmat.S files.These files are identical to the generated system calls.In the case of MIPS, the file was already disconnected from the build.Submitted by: Ali Mashtizadeh <[email protected]>Reviewed by: kibDifferential Revision: https://reviews.freebsd.org/D14976
show more ...
Remove architecture specific sigreturn.S files.All of these files are identical (modulo license blocks and VCS IDs) tothe files generated by lib/libc/sys/Makefile.inc and serve no purpose.Report
Remove architecture specific sigreturn.S files.All of these files are identical (modulo license blocks and VCS IDs) tothe files generated by lib/libc/sys/Makefile.inc and serve no purpose.Reported by: Ali Mashtizadeh <[email protected]>Reviewed by: kibSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D14953
Fix the error value we write in cerror. __error returns an int *, howeverwe were writing a 64 bit value meaning the 32 bits after this would betrashed.MFC after: 3 daysSponsored by: DARPA, AFRL
Reduce duplicate NOASM and PSEUDO definitionsThe initial value of NOASM is nearly the same in all cases and theinitial value of PSEUDO is the same in all cases so reduce duplication(and hopefully
Reduce duplicate NOASM and PSEUDO definitionsThe initial value of NOASM is nearly the same in all cases and theinitial value of PSEUDO is the same in all cases so reduce duplication(and hopefully, future merge conflicts) by machine independent defaults.Also document the PSEUDO variable.Reviewed by: jhb, kibObtained from: CheriBSDSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D7820
Remove commented out mention of ptrace.S.After r305012 the asm wrapper is not needed.Sponsored by: The FreeBSD FoundationMFC after: 1 week
Remove unusedd and obsolete openbsd_poll system call. (Phase 1)Reported by: brooksReviewed by: brooks,jhbDifferential Revision: https://reviews.freebsd.org/D7548
Implement userspace gettimeofday(2) with HPET timecounter.Right now, userspace (fast) gettimeofday(2) on x86 only works forRDTSC. For older machines, like Core2, where RDTSC is not C2/C3invarian
Implement userspace gettimeofday(2) with HPET timecounter.Right now, userspace (fast) gettimeofday(2) on x86 only works forRDTSC. For older machines, like Core2, where RDTSC is not C2/C3invariant, and which fall to HPET hardware, this means that the callhas both the penalty of the syscall and of the uncached hw behind theQPI or PCIe connection to the sought bridge. Nothing can me doneagainst the access latency, but the syscall overhead can be removed.System already provides mappable /dev/hpetX devices, which givesstraight access to the HPET registers page.Add yet another algorithm to the x86 'vdso' timehands. Libc is updatedto handle both RDTSC and HPET. For HPET, the index of the hpet deviceto mmap is passed from kernel to userspace, index might be changed andlibc invalidates its mapping as needed.Remove cpu_fill_vdso_timehands() KPI, instead require thattimecounters which can be used from userspace, to providetc_fill_vdso_timehands{,32}() methods. Merge i386 and amd64libc/<arch>/sys/__vdso_gettc.c into one source file in the newlibc/x86/sys location. __vdso_gettc() internal interface is changedto move timecounter algorithm detection into the MD code.Measurements show that RDTSC even with the syscall overhead is fasterthan userspace HPET access. But still, userspace HPET is three-fourtimes faster than syscall HPET on several Core2 and SandyBridgemachines.Tested by: Howard Su <[email protected]>Sponsored by: The FreeBSD FoundationMFC after: 1 monthDifferential revision: https://reviews.freebsd.org/D7473
Replace use of the pipe(2) system call with pipe2(2) with a zero flagsvalue.This eliminates the need for machine dependant assembly wrappers forpipe(2).It also make passing an invalid address t
Replace use of the pipe(2) system call with pipe2(2) with a zero flagsvalue.This eliminates the need for machine dependant assembly wrappers forpipe(2).It also make passing an invalid address to pipe(2) return EFAULT ratherthan triggering a segfault. Document this behavior (which was alreadytrue for pipe2(2), but undocumented).Reviewed by: andrewApproved by: re (gjb)Sponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D6815
Remove brk and sbrk from arm64. They were defined in The Single UNIXSpecification, Version 2, but marked as legacy, and have been removed fromlater specifications. After 12 years it is time to remo
Remove brk and sbrk from arm64. They were defined in The Single UNIXSpecification, Version 2, but marked as legacy, and have been removed fromlater specifications. After 12 years it is time to remove them from newarchitectures when the main use for sbrk is an invalid method to attemptto find how much memory has been allocated from malloc.There are a few places in the tree that still call sbrk, however they arenot used on arm64. They will need to be fixed to cross build from arm64,but these will be fixed in a follow up commit.Old copies of binutils from ports called into sbrk, however this has beenfixed around 6 weeks ago. It is advised to update binutils on arm64 beforeinstalling a world that includes this change.Reviewed by: brooks, emasteObtained from: brooksRelnotes: yesSponsored by: ABT Systems LtdDifferential Revision: https://reviews.freebsd.org/D6464
arm64 libc: hide .cerror, .curbrk, .minbrk for WITHOUT_SYMVERWhen symver is in use these are hidden because they're not listed inthe Symbol.map. Add an explicit .hidden so they are also hidden in
arm64 libc: hide .cerror, .curbrk, .minbrk for WITHOUT_SYMVERWhen symver is in use these are hidden because they're not listed inthe Symbol.map. Add an explicit .hidden so they are also hidden in theWITHOUT_SYMVER case.Reviewed by: andrewSponsored by: The FreeBSD FoundationDifferential Revision: https://reviews.freebsd.org/D5775
Disable support for compat syscalls on arm64. These symbols were nevershipped since arm64 exists only on 11+.Submitted by: brooksReviewed by: emaste, imp
Add support for usermode (vdso-like) gettimeofday(2) andclock_gettime(2) on ARMv7 and ARMv8 systems which have architecturalgeneric timer hardware. It is similar how the RDTSC timer is used inuser
Add support for usermode (vdso-like) gettimeofday(2) andclock_gettime(2) on ARMv7 and ARMv8 systems which have architecturalgeneric timer hardware. It is similar how the RDTSC timer is used inuserspace on x86.Fix a permission problem where generic timer access from EL0 (oruserspace on v7) was not properly initialized on APs.For ARMv7, mark the stack non-executable. The shared page is added forall arms (including ARMv8 64bit), and the signal trampoline code ismoved to the page.Reviewed by: andrewDiscussed with: emaste, mmelSponsored by: The FreeBSD FoundationDifferential revision: https://reviews.freebsd.org/D4209
Cleanup brk and sbrk to use the same code to find curbrk and minbrk whenboth compiling for PIC and non-PIC.Sponsored by: ABT Systems Ltd
Add the start of libc and libstand for arm64. Not all of the machinedependent functions have been implemented, but this is enough for world.Differential Revision: https://reviews.freebsd.org/D2132
Add the start of libc and libstand for arm64. Not all of the machinedependent functions have been implemented, but this is enough for world.Differential Revision: https://reviews.freebsd.org/D2132Reviewed by: emasteSponsored by: The FreeBSD Foundation