FreeBSD/src f8167e0 — sys/amd64/amd64 cpu_switch.S efirt_support.S, sys/dev/mpr mpr_ioctl.h
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
Similar commit in current:
(cherry picked from commit 95ee2897e98f)
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix
(cherry picked from commit 4d846d260e2b9a3d4d0a701462568268cbfe7a5b)
FreeBSD/src 4d846d2 — lib/libc/stdio wscanf.c xprintf_errno.c, sys/dev/qlxge qls_isr.c
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix
FreeBSD/src f8e8a06 (r366622) — lib/libc/gen arc4random.h arc4random.c, sys/dev/random/fenestrasX fx_brng.c
random(4) FenestrasX: Push root seed version to arc4random(3)
Push the root seed version to userspace through the VDSO page, if
the RANDOM_FENESTRASX algorithm is enabled. Otherwise, there is no
functional change. The mechanism can be disabled with
debug.fxrng_vdso_enable=0.
arc4random(3) obtains a pointer to the root seed version published by
the kernel in the shared page at allocation time. Like arc4random(9),
it maintains its own per-process copy of the seed version corresponding
to the root seed version at the time it last rekeyed. On read requests,
the process seed version is compared with the version published in the
shared page; if they do not match, arc4random(3) reseeds from the
kernel before providing generated output.
This change does not implement the FenestrasX concept of PCPU userspace
generators seeded from a per-process base generator. That change is
left for future discussion/work.
[3 lines not shown]
Fix vdso compat32 timekeeping on !=x86.
Since x86 is the only 32-bit arch that has a 32-bit time_t, adjust the
private bintime32 struct in vdso to only use a 32 bit sec on amd64.
This matches the existing behavior in the compat code.
Noticed while implementing vdso timekeeping on powerpc.
This should also theoretically fix vdso timekeeping for arm binaries on
aarch64.
See tools attached to https://reviews.freebsd.org/D26347 for testing.
Reviewed by: kib (in irc)
Sponsored by: Tag1 Consulting, Inc.
FreeBSD/src 4ab2e06 (r331722) — sys/dev/altera/atse if_atse.c, sys/dev/altera/avgen altera_avgen.c
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit
message was thus wrong. In addition it broke arm, and merged crypto
related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since
MFCed. This revert also skips files that require $FreeBSD$ property
changes.
Thank you to those who helped me get out of this mess including but not
limited to gonzo, kevans, rgrimes.
Requested by: gjb (re)
FreeBSD/src be5d0b9 (r330897) — sys/arm/arm pl190.c, sys/arm/versatile versatile_sic.c
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult
to determine what other changes can/should be merged.
No objections from: pfg
sys/sys: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.
The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
MFC 310048,310101,310239
310048
hyperv: Implement "enlightened" time counter, which is rdtsc based.
Reviewed by: kib
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8763
310101
hyperv: Allow userland to ro-mmap reference TSC page
This paves way to implement VDSO for the enlightened time counter.
Reviewed by: kib
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8768
310239
[8 lines not shown]
FreeBSD/src fff5be0 (r310239) — lib/libc/x86/sys __vdso_gettc.c, sys/dev/hyperv/vmbus/amd64 hyperv_machdep.c
hyperv: Implement userspace gettimeofday(2) with Hyper-V reference TSC
This 6 times gettimeofday performance, as measured by
tools/tools/syscall_timing
Reviewed by: kib
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8789
FreeBSD/src 0abcae4 (r305866) — lib/libc/amd64/sys __vdso_gettc.c, lib/libc/i386/sys __vdso_gettc.c
MFC r304285:
Implement userspace gettimeofday(2) with HPET timecounter.
FreeBSD/src ed04e0c (r304817) — contrib/sqlite3 sqlite3.c, contrib/sqlite3/tea configure
MFhead @ r304815
Delta | File |
---|
+149,126 | -148,694 | sys/dev/qlxgbe/ql_fw.c |
+11,997 | -3,431 | contrib/sqlite3/sqlite3.c |
+9,977 | -0 | contrib/sqlite3/tea/configure |
+4,276 | -0 | contrib/sqlite3/tea/generic/tclsqlite3.c |
+4,168 | -0 | contrib/sqlite3/tea/tclconfig/tcl.m4 |
+2,777 | -0 | secure/lib/libcrypto/arm/sha256-armv4.S |
+182,321 | -152,125 | 634 files not shown |
+225,314 | -184,142 | 640 files |
FreeBSD/src 65e1b13 (r304538) — sys/contrib/cloudabi cloudabi_vdso_aarch64.c cloudabi_vdso_x86_64.c, sys/dev/ie if_ie.c
Merge ^/head r304236 through r304536.
Delta | File |
---|
+149,126 | -148,694 | sys/dev/qlxgbe/ql_fw.c |
+0 | -2,664 | sys/dev/si/si3_t225.c |
+0 | -2,620 | sys/dev/wl/if_wl.c |
+916 | -1,468 | sys/contrib/cloudabi/cloudabi_vdso_aarch64.c |
+808 | -1,234 | sys/contrib/cloudabi/cloudabi_vdso_x86_64.c |
+0 | -1,700 | sys/dev/ie/if_ie.c |
+150,850 | -158,380 | 350 files not shown |
+164,989 | -177,957 | 356 files |
FreeBSD/src 1680854 (r304285) — lib/libc/amd64/sys __vdso_gettc.c, lib/libc/i386/sys __vdso_gettc.c
Implement userspace gettimeofday(2) with HPET timecounter.
Right now, userspace (fast) gettimeofday(2) on x86 only works for
RDTSC. For older machines, like Core2, where RDTSC is not C2/C3
invariant, and which fall to HPET hardware, this means that the call
has both the penalty of the syscall and of the uncached hw behind the
QPI or PCIe connection to the sought bridge. Nothing can me done
against the access latency, but the syscall overhead can be removed.
System already provides mappable /dev/hpetX devices, which gives
straight access to the HPET registers page.
Add yet another algorithm to the x86 'vdso' timehands. Libc is updated
to handle both RDTSC and HPET. For HPET, the index of the hpet device
to mmap is passed from kernel to userspace, index might be changed and
libc invalidates its mapping as needed.
Remove cpu_fill_vdso_timehands() KPI, instead require that
timecounters which can be used from userspace, to provide
tc_fill_vdso_timehands{,32}() methods. Merge i386 and amd64
[13 lines not shown]
FreeBSD/src b626f5a (r293172) — share/colldef zh_Hans_CN.UTF-8.src, sys/dev/ispfw asm_2400.h
MFH r289384-r293170
Sponsored by: The FreeBSD Foundation
Delta | File |
---|
+250,654 | -0 | tools/tools/locale/etc/final-maps/map.UTF-8 |
+71,629 | -0 | share/colldef/zh_Hans_CN.UTF-8.src |
+63,490 | -0 | tools/tools/locale/etc/charmaps/GB18030.TXT |
+59,905 | -0 | tools/tools/locale/etc/final-maps/map.GB18030 |
+42,878 | -0 | tools/tools/locale/etc/final-maps/widths.txt |
+14,251 | -28,449 | sys/dev/ispfw/asm_2400.h |
+502,807 | -28,449 | 7,052 files not shown |
+1,398,688 | -268,000 | 7,058 files |
Catch up with head.
Delta | File |
---|
+7,488 | -7,467 | sys/dev/ispfw/asm_2322.h |
+7,626 | -6,903 | sys/dev/ispfw/asm_2300.h |
+5,182 | -4,722 | sys/dev/ispfw/asm_2200.h |
+0 | -2,554 | sys/dev/ispfw/asm_1080.h |
+0 | -2,545 | sys/dev/ispfw/asm_12160.h |
+0 | -2,072 | sys/dev/ispfw/asm_1040.h |
+20,296 | -26,263 | 702 files not shown |
+29,171 | -32,753 | 708 files |
FreeBSD/src 5e27d79 (r291171) — sys/amd64/amd64 elf_machdep.c, sys/compat/ia32 ia32_sysvec.c
Split kerne timekeep ABI structure vdso_sv_tk out of the struct
sysentvec. This allows the timekeep data to be shared between similar
ABIs which cannot share sysentvec.
Make the timekeep_push_vdso() tick callback to the timekeep structures
instead of sysentvecs. If several sysentvec share the vdso_sv_tk
structure, we would update the userspace data several times on each
tick, without the change.
Only allocate vdso_sv_tk in the exec_sysvec_init() sysinit when
sysentvec is marked with the new SV_TIMEKEEP flag. This saves
allocation and update of unneeded vdso_sv_tk for ABIs which do not
provide userspace gettimeofday yet, which are PowerPCs arches right
now.
Make vdso_sv_tk allocator public, namely split out and export
alloc_sv_tk() and alloc_sv_tk_compat32(). ABIs which share timekeep
data now can allocate it manually and share as appropriate.
[4 lines not shown]
FreeBSD/src 98e0ffa (r283595) — contrib/ntp CommitLog configure, contrib/ntp/sntp configure
Merge sync of head
Delta | File |
---|
+177,242 | -8,203 | contrib/ntp/CommitLog |
+29,219 | -17,107 | contrib/ntp/configure |
+27,253 | -11,174 | contrib/ntp/sntp/configure |
+10,723 | -13,061 | sys/dev/hptnr/amd64-elf.hptnr_lib.o.uu |
+13,910 | -7,059 | contrib/sqlite3/sqlite3.c |
+0 | -20,513 | contrib/texinfo/doc/texinfo.txi |
+258,347 | -77,117 | 19,075 files not shown |
+2,720,252 | -1,303,077 | 19,081 files |
FreeBSD/src 9f3d45b (r278383) — sys/contrib/vchiq/interface/vchiq_arm vchiq_core.c vchiq_arm.c, sys/dev/drm2/i915 intel_display.c intel_pm.c
Merge from HEAD
Delta | File |
---|
+3,826 | -2,640 | sys/dev/wpi/if_wpi.c |
+1,079 | -3,330 | sys/dev/drm2/i915/intel_display.c |
+3,842 | -0 | sys/contrib/vchiq/interface/vchiq_arm/vchiq_core.c |
+3,788 | -0 | sys/dev/drm2/i915/intel_pm.c |
+3,043 | -26 | tools/build/mk/OptionalObsoleteFiles.inc |
+2,810 | -0 | sys/contrib/vchiq/interface/vchiq_arm/vchiq_arm.c |
+18,388 | -5,996 | 881 files not shown |
+54,647 | -20,646 | 887 files |
FreeBSD/src 4771295 (r277719) — contrib/libxo/libxo libxo.c, sys/dev/drm2/i915 intel_display.c intel_pm.c
Merge ^/head r277327 through r277718.
FreeBSD/src 57de838 (r277556) — sys/dev/drm2/i915 intel_display.c intel_pm.c, sys/kern kern_timeout.c
MFhead @ r277555
FreeBSD/src d1b1b60 (r277406) — sys/kern kern_tc.c subr_dummy_vdso_tc.c, sys/sys vdso.h
Update the vdso timehands only via tc_windup().
Prior to this change CLOCK_MONOTONIC could go backwards when the timecounter
hardware was changed via 'sysctl kern.timecounter.hardware'. This happened
because the vdso timehands update was missing the special treatment in
tc_windup() when changing timecounters.
Reviewed by: kib
Merge fresh head.
Delta | File |
---|
+140,456 | -0 | contrib/sqlite3/sqlite3.c |
+83,644 | -0 | sys/contrib/dev/ath/ath_hal/ar9300/osprey_reg_map_macro.h |
+66,519 | -0 | sys/contrib/dev/ath/ath_hal/ar9300/scorpion_reg_map_macro.h |
+65,039 | -0 | tools/tools/cxgbetool/reg_defs_t5.c |
+37,786 | -0 | contrib/apr-util/configure |
+30,720 | -0 | contrib/apr/configure |
+424,164 | -0 | 14,987 files not shown |
+2,853,377 | -989,560 | 14,993 files |
FreeBSD/src d241a0e (r247353) — contrib/expat configure, contrib/ldns configure ltmain.sh
IFC @247348.
Delta | File |
---|
+8,388 | -17,778 | contrib/openbsm/configure |
+0 | -22,017 | contrib/expat/configure |
+18,892 | -0 | contrib/ldns/configure |
+6,303 | -4,236 | contrib/openbsm/aclocal.m4 |
+6,457 | -3,763 | contrib/openbsm/config/ltmain.sh |
+9,661 | -0 | contrib/ldns/ltmain.sh |
+49,701 | -47,794 | 5,939 files not shown |
+444,763 | -188,195 | 5,945 files |
FreeBSD/src da156df (r246775) — lib/libc/arm/sys __vdso_gettc.c, lib/libc/ia64/sys __vdso_gettc.c
MFC r246117:
Rework the __vdso_* symbols attributes to only make the symbols weak,
but use normal references instead of weak. This makes the statically
linked binaries to use fast gettimeofday(2) by forcing the linker to
resolve references and providing the neccessary functions.
FreeBSD/src d9a4475 (r246555) — contrib/llvm/tools/clang/lib/Rewrite RewriteModernObjC.cpp, contrib/llvm/tools/clang/lib/Rewrite/Frontend RewriteModernObjC.cpp
Sync with HEAD.
Delta | File |
---|
+8,388 | -17,778 | contrib/openbsm/configure |
+6,303 | -4,236 | contrib/openbsm/aclocal.m4 |
+6,457 | -3,763 | contrib/openbsm/config/ltmain.sh |
+7,982 | -0 | contrib/openbsm/m4/libtool.m4 |
+7,607 | -0 | contrib/llvm/tools/clang/lib/Rewrite/Frontend/RewriteModernObjC.cpp |
+0 | -7,543 | contrib/llvm/tools/clang/lib/Rewrite/RewriteModernObjC.cpp |
+36,737 | -33,320 | 5,398 files not shown |
+322,757 | -153,044 | 5,404 files |
FreeBSD/src 150facd (r246117) — lib/libc/arm/sys __vdso_gettc.c, lib/libc/ia64/sys __vdso_gettc.c
Rework the __vdso_* symbols attributes to only make the symbols weak,
but use normal references instead of weak. This makes the statically
linked binaries to use fast gettimeofday(2) by forcing the linker to
resolve references and providing the neccessary functions.
Reported by: bde
Tested by: marius (sparc64)
MFC after: 2 weeks
Sync from head
Delta | File |
---|
+23,433 | -23,159 | sys/dev/ispfw/asm_2400.h |
+19,872 | -19,627 | sys/dev/ispfw/asm_2500.h |
+19,965 | -0 | contrib/atf/configure |
+6,523 | -6,086 | sys/dev/ispfw/asm_2300.h |
+11,961 | -0 | sys/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw.uu |
+3,114 | -6,882 | contrib/libpcap/configure |
+84,868 | -55,754 | 9,206 files not shown |
+1,041,974 | -374,143 | 9,212 files |
FreeBSD/src b6127d1 (r240815) — sys/kern kern_exec.c kern_tc.c, sys/powerpc/include vdso.h
MFC r237433:
Implement mechanism to export some kernel timekeeping data to
usermode, using shared page.
MFC r237474:
Stop updating the struct vdso_timehands from even handler executed in
the scheduled task from tc_windup(). Do it directly from tc_windup in
interrupt context.