Revision tags: vendor/bearssl/6433cc2, vendor/lldb/lldb-release_80-r351543, vendor/lld/lld-release_80-r351543, vendor/libc++/libc++-release_80-r351543, vendor/clang/clang-release_80-r351543, vendor/llvm/llvm-release_80-r351543, vendor/lldb/lldb-trunk-r351319, vendor/lld/lld-trunk-r351319, vendor/libc++/libc++-trunk-r351319, vendor/compiler-rt/compiler-rt-release_80-r351543, vendor/compiler-rt/compiler-rt-trunk-r351319, vendor/clang/clang-trunk-r351319, vendor/llvm/llvm-trunk-r351319, vendor/ena-com/1.1.4.6, zfs-0.8.0-rc3, vendor/device-tree/4.20, vendor/elftoolchain/elftoolchain-r3668, vendor/acpica/20190108, vendor/tzdata/tzdata2018i, vendor/tzdata/tzdata2018h, vendor/zstd/1.3.8, vendor/NetBSD/bmake/20181221, vendor/sqlite3/sqlite-3260000, vendor/clang/clang-release_701-r349250, vendor/acpica/20181213, vendor/libc++/libc++-release_70-r348686, vendor/libc++/libc++-release_701-r349250, vendor/clang/clang-release_70-r348686, vendor/llvm/llvm-release_70-r348686, vendor/llvm/llvm-release_701-r349250, release/12.0.0, upstream/12.0.0, vendor/wpa/2.7, vendor/NetBSD/bmake/20180919, vendor/lldb/lldb-release_70-r348011, vendor/lldb/lldb-release_70-r348686, vendor/lldb/lldb-release_701-r349250, vendor/clang/clang-release_70-r348011, vendor/llvm/llvm-release_70-r348011, vendor/ck/20181120, vendor/openssl/1.0.2q, vendor/openssl/1.1.1a, zfs-0.8.0-rc2, vendor/device-tree/4.19, vendor/lld/lld-release_70-r346007, vendor/lld/lld-release_70-r348011, vendor/lld/lld-release_70-r348686, vendor/lld/lld-release_701-r349250, vendor/clang/clang-release_70-r346007, vendor/llvm/llvm-release_70-r346007, vendor/expat/2.2.6, vendor/acpica/20181031, vendor/tzdata/tzdata2018g, vendor/zstd/1.3.7, vendor/zstd/1.3.4, vendor/zstd/1.3.3, vendor/dialog/1.3-20180621, vendor/tzdata/tzdata2018f, vendor/ck/20181014, vendor/unbound/1.8.1, vendor/subversion/subversion-1.10.2, vendor/apr-util/apr-util-1.6.1, vendor/apr/apr-1.6.5, vendor/serf/serf-1.3.9, vendor/acpica/20181003, vendor/acpica/20180927, vendor/libevent/2.1.18, vendor/libevent/2.1.8, vendor/mandoc/1.14.4, vendor/lld/lld-release_700-r342383, vendor/clang/clang-release_700-r342383, vendor/openssl/1.1.1, vendor/lld/lld-release_70-r341916, vendor/libc++/libc++-release_70-r341916, vendor/libc++/libc++-release_70-r346007, vendor/libc++/libc++-release_70-r348011, vendor/libc++/libc++-release_700-r342383, vendor/compiler-rt/compiler-rt-release_70-r341916, vendor/compiler-rt/compiler-rt-release_70-r346007, vendor/compiler-rt/compiler-rt-release_70-r348011, vendor/compiler-rt/compiler-rt-release_70-r348686, vendor/compiler-rt/compiler-rt-release_700-r342383, vendor/compiler-rt/compiler-rt-release_701-r349250, vendor/clang/clang-release_70-r341916, vendor/llvm/llvm-release_70-r341916, vendor/llvm/llvm-release_700-r342383, vendor/unbound/1.8.0, vendor/unbound/1.7.3, vendor/unbound/1.7.2, zfs-0.8.0-rc1, vendor/libarchive/3.3.3, vendor/lld/lld-release_70-r340910, vendor/libc++/libc++-release_70-r340910, vendor/compiler-rt/compiler-rt-release_70-r340910, vendor/clang/clang-release_70-r340910, vendor/llvm/llvm-release_70-r340910, vendor/openssh/7.8p1, vendor/ntp/4.2.8p12, vendor/lldb/lldb-release_70-r339999, vendor/lldb/lldb-release_70-r340910, vendor/lldb/lldb-release_70-r341916, vendor/lldb/lldb-release_70-r346007, vendor/lldb/lldb-release_700-r342383, vendor/lld/lld-release_70-r339999, vendor/libc++/libc++-release_70-r339999, vendor/clang/clang-release_70-r339999, vendor/llvm/llvm-release_70-r339999, vendor/openssl/1.0.2p, vendor/device-tree/4.18, vendor/tzdb/tzcode2018e, vendor/lldb/lldb-release_70-r339355, vendor/lld/lld-release_70-r339355, vendor/compiler-rt/compiler-rt-release_70-r339355, vendor/compiler-rt/compiler-rt-release_70-r339999, vendor/clang/clang-release_70-r339355, vendor/llvm/llvm-release_70-r339355, vendor/lua/5.3.5, vendor/acpica/20180810, vendor/ck/20180809, vendor/libc++/libc++-release_70-r338892, vendor/libc++/libc++-release_70-r339355, vendor/compiler-rt/compiler-rt-release_70-r338892, vendor/clang/clang-release_70-r338892, vendor/llvm/llvm-release_70-r338892, vendor/lldb/lldb-release_70-r338892, vendor/lldb/lldb-trunk-r338536, vendor/lld/lld-release_70-r338892, vendor/lld/lld-trunk-r338536, vendor/libc++/libc++-trunk-r338536, vendor/compiler-rt/compiler-rt-trunk-r338536, vendor/clang/clang-trunk-r338536, vendor/llvm/llvm-trunk-r338536, vendor/file/5.34, vendor/lldb/lldb-trunk-r338150, vendor/lld/lld-trunk-r338150, vendor/libc++/libc++-trunk-r338150, vendor/compiler-rt/compiler-rt-trunk-r338150, vendor/clang/clang-trunk-r338150, vendor/llvm/llvm-trunk-r338150, vendor/bsnmp/1.13, vendor/libfdt/1.4.7, vendor/ck/20180711, vendor/acpica/20180629, vendor/lldb/lldb-release_601-r335540, vendor/lld/lld-release_601-r335540, vendor/libc++/libc++-release_601-r335540, vendor/compiler-rt/compiler-rt-release_601-r335540, vendor/clang/clang-release_601-r335540, vendor/llvm/llvm-release_601-r335540, release/11.2.0, upstream/11.2.0, vendor/device-tree/4.17, vendor/acpica/20180531, vendor/ck/20180524, vendor/Juniper/libxo/0.9.0, vendor/file/5.33, vendor/NetBSD/bmake/20180512, vendor/xz/5.2.4, vendor/ck/20180517, vendor/unbound/1.7.1, vendor/unbound/1.7.0, vendor/unbound/1.6.8, vendor/unbound/1.6.7, vendor/unbound/1.6.6, vendor/unbound/1.6.5, vendor/unbound/1.6.4, vendor/unbound/1.6.3, vendor/unbound/1.6.2, vendor/unbound/1.6.1, vendor/ena-com/1.1.4.5, vendor/acpica/20180508, vendor/sqlite3/sqlite-3230100, vendor/subversion/subversion-1.10.0, vendor/openssh/7.7p1, vendor/openssh/7.6p1, vendor/tzdata/tzdata2018e, vendor/acpica/20180427, vendor/elftoolchain/elftoolchain-r3614, vendor/device-tree/4.16 |
|
#
d86c1f0d |
| 13-Apr-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
i386 4/4G split.
The change makes the user and kernel address spaces on i386 independent, giving each almost the full 4G of usable virtual addresses except for one PDE at top used for trampoline and
i386 4/4G split.
The change makes the user and kernel address spaces on i386 independent, giving each almost the full 4G of usable virtual addresses except for one PDE at top used for trampoline and per-CPU trampoline stacks, and system structures that must be always mapped, namely IDT, GDT, common TSS and LDT, and process-private TSS and LDT if allocated.
By using 1:1 mapping for the kernel text and data, it appeared possible to eliminate assembler part of the locore.S which bootstraps initial page table and KPTmap. The code is rewritten in C and moved into the pmap_cold(). The comment in vmparam.h explains the KVA layout.
There is no PCID mechanism available in protected mode, so each kernel/user switch forth and back completely flushes the TLB, except for the trampoline PTD region. The TLB invalidations for userspace becomes trivial, because IPI handlers switch page tables. On the other hand, context switches no longer need to reload %cr3.
copyout(9) was rewritten to use vm_fault_quick_hold(). An issue for new copyout(9) is compatibility with wiring user buffers around sysctl handlers. This explains two kind of locks for copyout ptes and accounting of the vslock() calls. The vm_fault_quick_hold() AKA slow path, is only tried after the 'fast path' failed, which temporary changes mapping to the userspace and copies the data to/from small per-cpu buffer in the trampoline. If a page fault occurs during the copy, it is short-circuit by exception.s to not even reach C code.
The change was motivated by the need to implement the Meltdown mitigation, but instead of KPTI the full split is done. The i386 architecture already shows the sizing problems, in particular, it is impossible to link clang and lld with debugging. I expect that the issues due to the virtual address space limits would only exaggerate and the split gives more liveness to the platform.
Tested by: pho Discussed with: bde Sponsored by: The FreeBSD Foundation MFC after: 1 month Differential revision: https://reviews.freebsd.org/D14633
show more ...
|
Revision tags: vendor/opencsd/900407e9d6400f6541138d6c2e483a9fc2d699a4, vendor/heimdal/7.5.0, vendor/krb5/1.16, vendor/ck/20180304, vendor/openssl/1.0.2o, vendor/tzdata/tzdata2018d, vendor/processor-trace/24982c1a6fce48f1e416461d42899805f74fbb26, vendor/acpica/20180313, vendor/lld/lld-release_600-r326565, vendor/clang/clang-release_600-r326565, vendor/llvm/llvm-release_600-r326565, vendor/NetBSD/bmake/20180222, vendor/ntp/4.2.8p11, vendor/lldb/lldb-release_60-r325932, vendor/lldb/lldb-release_600-r326565, vendor/lld/lld-release_60-r325932, vendor/clang/clang-release_60-r325932, vendor/llvm/llvm-release_60-r325932, vendor/less/v530, vendor/lldb/lldb-release_60-r325330, vendor/lld/lld-release_60-r325330, vendor/libc++/libc++-release_60-r325330, vendor/libc++/libc++-release_60-r325932, vendor/libc++/libc++-release_600-r326565, vendor/compiler-rt/compiler-rt-release_60-r325330, vendor/compiler-rt/compiler-rt-release_60-r325932, vendor/compiler-rt/compiler-rt-release_600-r326565, vendor/clang/clang-release_60-r325330, vendor/llvm/llvm-release_60-r325330, vendor/device-tree/4.15, vendor/acpica/20180209, vendor/lld/lld-release_60-r324090, vendor/clang/clang-release_60-r324090, vendor/llvm/llvm-release_60-r324090, vendor/lld/lld-release_60-r323948, vendor/compiler-rt/compiler-rt-release_60-r323948, vendor/compiler-rt/compiler-rt-release_60-r324090, vendor/clang/clang-release_60-r323948, vendor/llvm/llvm-release_60-r323948, vendor/lldb/lldb-release_60-r323338, vendor/lldb/lldb-release_60-r323948, vendor/lldb/lldb-release_60-r324090, vendor/lld/lld-release_60-r323338, vendor/libc++/libc++-release_60-r323338, vendor/libc++/libc++-release_60-r323948, vendor/libc++/libc++-release_60-r324090, vendor/compiler-rt/compiler-rt-release_60-r323338, vendor/clang/clang-release_60-r323338, vendor/llvm/llvm-release_60-r323338, vendor/tzdata/tzdata2018c, vendor/libfdt/1.4.6, vendor/tzdata/tzdata2018a, vendor/dtc/1.4.6, vendor/lldb/lldb-release_60-r321788, vendor/lld/lld-release_60-r321788, vendor/libc++/libc++-release_60-r321788, vendor/compiler-rt/compiler-rt-release_60-r321788, vendor/clang/clang-release_60-r321788, vendor/llvm/llvm-release_60-r321788, vendor/acpica/20180105, vendor/compiler-rt/compiler-rt-trunk-r321545, vendor/llvm/llvm-trunk-r321545, vendor/lldb/lldb-trunk-r321530, vendor/lldb/lldb-trunk-r321545, vendor/lld/lld-trunk-r321530, vendor/lld/lld-trunk-r321545, vendor/libc++/libc++-trunk-r321530, vendor/libc++/libc++-trunk-r321545, vendor/compiler-rt/compiler-rt-trunk-r321530, vendor/clang/clang-trunk-r321530, vendor/clang/clang-trunk-r321545, vendor/llvm/llvm-trunk-r321530, vendor/lld/lld-trunk-r321426, vendor/clang/clang-trunk-r321426, vendor/llvm/llvm-trunk-r321426, vendor/lldb/lldb-trunk-r321414, vendor/lldb/lldb-trunk-r321426, vendor/lld/lld-trunk-r321414, vendor/libc++/libc++-trunk-r321414, vendor/libc++/libc++-trunk-r321426, vendor/compiler-rt/compiler-rt-trunk-r321414, vendor/compiler-rt/compiler-rt-trunk-r321426, vendor/clang/clang-trunk-r321414, vendor/llvm/llvm-trunk-r321414, vendor/lldb/lldb-trunk-r321017, vendor/lld/lld-trunk-r321017, vendor/libc++/libc++-trunk-r321017, vendor/compiler-rt/compiler-rt-trunk-r321017, vendor/clang/clang-trunk-r321017, vendor/llvm/llvm-trunk-r321017, vendor/lld/lld-release_501-r320880, vendor/clang/clang-release_501-r320880, vendor/llvm/llvm-release_501-r320880, vendor/acpica/20171214, vendor/openssl/1.0.2n, vendor/lldb/lldb-release_50-r319231, vendor/lldb/lldb-release_501-r320880, vendor/lld/lld-release_50-r319231, vendor/libc++/libc++-release_50-r319231, vendor/libc++/libc++-release_501-r320880, vendor/clang/clang-release_50-r319231, vendor/llvm/llvm-release_50-r319231, vendor/lua/5.3.4, vendor/NetBSD/libc-vis/20171127 |
|
#
51369649 |
| 20-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 3-Clause license.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for
sys: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 3-Clause license.
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.
Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
show more ...
|
Revision tags: vendor/less/v529, vendor/device-tree/4.14, vendor/acpica/20171110, vendor/zstd/1.3.2, vendor/ena-com/1.1.4.4, vendor/openssl/1.0.2m, vendor/NetBSD/bmake/20171028, vendor/ena-com/1.1.4.3, vendor/tzdata/tzdata2017c, vendor/device-tree/4.13, vendor/wpa/2.6 |
|
#
00d37313 |
| 09-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Change i386_get_ldt() to return 'EOF' when the requested range of descriptors does not fit into currently allocated LDT, or trim the return if the range fits partially. Before, the function returned
Change i386_get_ldt() to return 'EOF' when the requested range of descriptors does not fit into currently allocated LDT, or trim the return if the range fits partially. Before, the function returned EINVAL.
Fix two bugs in r324366: use capped num counter for malloc size, and do not leak allocated buffer on EINVAL (by handling EINVAL case as normal, see above).
Reviewed by: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
#
13a5d911 |
| 09-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Improvements to set_user_ldt().
Remove mtx_owned() checks from set_user_ldt(). Split the function into _locked() version which requires the dt_lock spinlock owned, and make set_user_ldt() a wrapper
Improvements to set_user_ldt().
Remove mtx_owned() checks from set_user_ldt(). Split the function into _locked() version which requires the dt_lock spinlock owned, and make set_user_ldt() a wrapper. Add a comment in swtch.s noting that the call to the new set_user_ldt() cannot recurse on dt_lock.
Remove #ifdef SMP block, the addend is always zero on UP.
Fix type of set_user_ldt_rv(), making it match the type used for smb_rendezvous() callback, and remove the cast. Use curproc.
Reviewed by: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
#
787f835b |
| 09-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Reset the fs and gs bases on exec(2).
The values from the old address space do not make sense for the new program. In particular, gsbase might be the TLS base for the old program but the new progra
Reset the fs and gs bases on exec(2).
The values from the old address space do not make sense for the new program. In particular, gsbase might be the TLS base for the old program but the new program has no TLS now.
amd64 already handles this correctly.
Reported and reviewed by: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
#
4f7c931a |
| 09-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
More style.
Reviewed by: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
a4730cdb |
| 06-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Improve i386_get_ldt().
Provide consistent snapshot of the requested descriptors by preventing other threads from modifying LDT while we fetch the data, lock dt_lock around the read. Copy the data
Improve i386_get_ldt().
Provide consistent snapshot of the requested descriptors by preventing other threads from modifying LDT while we fetch the data, lock dt_lock around the read. Copy the data into intermediate buffer, which is copied out after the lock is dropped.
Comparing with the amd64 version, the read is done byte by byte, since there is no atomic 64bit read (cmpxchg8b method is too heavy comparing with the avoided issues).
Improve overflow checking for the descriptors range calculations and remove unneeded casts. Use unsigned types for sizes.
Allow zero num argument to i386_get_ldt() and i386_set_ldt(). This case is handled naturally by the code flow.
Reviewed by: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
Revision tags: vendor/mandoc/1.14.3 |
|
#
57f99aed |
| 06-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove unneeded cast.
Reviewed by: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
98c2674e |
| 06-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Style.
Reviewed by: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
6cdf28b7 |
| 05-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Use ANSI C declarations.
Reviewed by: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
1f32d2a7 |
| 05-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Correct format specifiers in the debug code. Style.
Requested by: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
711d5183 |
| 05-Oct-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Style.
Reviewed by: bde Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
Revision tags: vendor/acpica/20170929, release/10.4.0, upstream/10.4.0 |
|
#
3cabd93e |
| 19-Sep-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Do not do torn writes to active LDTs.
Care must be taken when updating the active LDT, since parallel threads might try to load a segment descriptor which is currently updated. Since the results are
Do not do torn writes to active LDTs.
Care must be taken when updating the active LDT, since parallel threads might try to load a segment descriptor which is currently updated. Since the results are undefined, this cannot be ignored by claiming to be an application race.
Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D12413
show more ...
|
Revision tags: vendor/tcpdump/4.9.2, vendor/file/5.32, vendor/NetBSD/libedit/2017-09-05, vendor/clang/clang-release_500-r312559, vendor/llvm/llvm-release_500-r312559, vendor/lldb/lldb-release_50-r312293, vendor/lldb/lldb-release_500-r312559, vendor/lld/lld-release_50-r312293, vendor/lld/lld-release_500-r312559, vendor/libc++/libc++-release_50-r312293, vendor/libc++/libc++-release_500-r312559, vendor/compiler-rt/compiler-rt-release_50-r312293, vendor/compiler-rt/compiler-rt-release_50-r319231, vendor/compiler-rt/compiler-rt-release_500-r312559, vendor/compiler-rt/compiler-rt-release_501-r320880, vendor/clang/clang-release_50-r312293, vendor/llvm/llvm-release_50-r312293, vendor/ctfdump/20170831, vendor/acpica/20170831, vendor/lldb/lldb-release_50-r311606, vendor/compiler-rt/compiler-rt-release_50-r311606, vendor/clang/clang-release_50-r311606, vendor/llvm/llvm-release_50-r311606, vendor/zstd/1.3.1, vendor/lld/lld-release_50-r311219, vendor/lld/lld-release_50-r311606, vendor/libc++/libc++-release_50-r311219, vendor/libc++/libc++-release_50-r311606, vendor/clang/clang-release_50-r311219, vendor/llvm/llvm-release_50-r311219, vendor/sqlite3/sqlite-3200000, vendor/subversion/subversion-1.9.7, vendor/libc++/libc++-release_50-r310316, vendor/clang/clang-release_50-r310316, vendor/llvm/llvm-release_50-r310316, vendor/Juniper/libxo/0.8.4, vendor/openssh/7.5p1, vendor/ena-com/1.1.4.2, vendor/mandoc/1.14.2, vendor/lldb/lldb-release_50-r309439, vendor/lldb/lldb-release_50-r310316, vendor/lldb/lldb-release_50-r311219, vendor/lld/lld-release_50-r309439, vendor/lld/lld-release_50-r310316, vendor/libc++/libc++-release_50-r309439, vendor/clang/clang-release_50-r309439, vendor/llvm/llvm-release_50-r309439, vendor/acpica/20170728, zfs-0.7.0, vendor/NetBSD/bmake/20170720, release/11.1.0, upstream/11.1.0, vendor/lldb/lldb-trunk-r308421, vendor/lld/lld-trunk-r308421, vendor/libc++/libc++-trunk-r308421, vendor/compiler-rt/compiler-rt-release_50-r309439, vendor/compiler-rt/compiler-rt-release_50-r310316, vendor/compiler-rt/compiler-rt-release_50-r311219, vendor/compiler-rt/compiler-rt-trunk-r308421, vendor/clang/clang-trunk-r308421, vendor/llvm/llvm-trunk-r308421, vendor/NetBSD/bmake/20170711, vendor/zstd/1.3.0, vendor/lldb/lldb-trunk-r307894, vendor/lld/lld-trunk-r307894, vendor/libc++/libc++-trunk-r307894, vendor/compiler-rt/compiler-rt-trunk-r307894, vendor/clang/clang-trunk-r307894, vendor/llvm/llvm-trunk-r307894, zfs-0.7.0-rc5, vendor/libarchive/3.3.2, vendor/device-tree/4.12, vendor/krb5/1.15.1, vendor/lldb/lldb-trunk-r306956, vendor/lld/lld-trunk-r306956, vendor/libc++/libc++-trunk-r306956, vendor/compiler-rt/compiler-rt-trunk-r306956, vendor/clang/clang-trunk-r306956, vendor/llvm/llvm-trunk-r306956, vendor/acpica/20170629, vendor/pjdfstest/0.1, vendor/lldb/lldb-trunk-r306325, vendor/lld/lld-trunk-r306325, vendor/libc++/libc++-trunk-r306325, vendor/compiler-rt/compiler-rt-trunk-r306325, vendor/clang/clang-trunk-r306325, vendor/llvm/llvm-trunk-r306325, vendor/elftoolchain/elftoolchain-r3561, vendor/device-tree/4.11, vendor/lldb/lldb-trunk-r305575, vendor/lld/lld-trunk-r305575, vendor/libc++/libc++-trunk-r305575, vendor/compiler-rt/compiler-rt-trunk-r305575, vendor/clang/clang-trunk-r305575, vendor/llvm/llvm-trunk-r305575, vendor/Juniper/libxo/0.8.2, vendor/lldb/lldb-trunk-r305145, vendor/lld/lld-trunk-r305145, vendor/libc++/libc++-trunk-r305145, vendor/compiler-rt/compiler-rt-trunk-r305145, vendor/clang/clang-trunk-r305145, vendor/llvm/llvm-trunk-r305145, vendor/Juniper/libxo/0.8.1, vendor/mandoc/20170608, vendor/Juniper/libxo/0.8.0, vendor/lldb/lldb-trunk-r304659, vendor/lld/lld-trunk-r304659, vendor/libc++/libc++-trunk-r304659, vendor/compiler-rt/compiler-rt-trunk-r304659, vendor/clang/clang-trunk-r304659, vendor/llvm/llvm-trunk-r304659, vendor/lldb/lldb-trunk-r304460, vendor/lld/lld-trunk-r304460, vendor/libc++/libc++-trunk-r304460, vendor/compiler-rt/compiler-rt-trunk-r304460, vendor/clang/clang-trunk-r304460, vendor/llvm/llvm-trunk-r304460, vendor/acpica/20170531, vendor/byacc/20170430, vendor/lldb/lldb-trunk-r304222, vendor/lld/lld-trunk-r304222, vendor/libc++/libc++-trunk-r304222, vendor/clang/clang-trunk-r304222, vendor/llvm/llvm-trunk-r304222, vendor/lldb/lldb-trunk-r304149, vendor/lld/lld-trunk-r304149, vendor/libc++/libc++-trunk-r304149, vendor/compiler-rt/compiler-rt-trunk-r304149, vendor/compiler-rt/compiler-rt-trunk-r304222, vendor/clang/clang-trunk-r304149, vendor/llvm/llvm-trunk-r304149, vendor/openssl/1.0.2l, vendor/lldb/lldb-trunk-r303571, vendor/lld/lld-trunk-r303571, vendor/libc++/libc++-trunk-r303571, vendor/compiler-rt/compiler-rt-trunk-r303571, vendor/clang/clang-trunk-r303571, vendor/llvm/llvm-trunk-r303571, vendor/lldb/lldb-trunk-r303291, vendor/lld/lld-trunk-r303291, vendor/libc++/libc++-trunk-r303291, vendor/compiler-rt/compiler-rt-trunk-r303291, vendor/clang/clang-trunk-r303291, vendor/llvm/llvm-trunk-r303291 |
|
#
3e85b721 |
| 17-May-2017 |
Ed Maste <emaste@FreeBSD.org> |
Remove register keyword from sys/ and ANSIfy prototypes
A long long time ago the register keyword told the compiler to store the corresponding variable in a CPU register, but it is not relevant for
Remove register keyword from sys/ and ANSIfy prototypes
A long long time ago the register keyword told the compiler to store the corresponding variable in a CPU register, but it is not relevant for any compiler used in the FreeBSD world today.
ANSIfy related prototypes while here.
Reviewed by: cem, jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D10193
show more ...
|
Revision tags: vendor/lldb/lldb-trunk-r303197, vendor/lld/lld-trunk-r303197, vendor/libc++/libc++-trunk-r303197, vendor/compiler-rt/compiler-rt-trunk-r303197, vendor/clang/clang-trunk-r303197, vendor/llvm/llvm-trunk-r303197, vendor/Juniper/libxo/0.7.2, vendor/lldb/lldb-trunk-r302418, vendor/lld/lld-trunk-r302418, vendor/libc++/libc++-trunk-r302418, vendor/compiler-rt/compiler-rt-trunk-r302418, vendor/clang/clang-trunk-r302418, vendor/llvm/llvm-trunk-r302418, vendor/zstd/1.2.0, zfs-0.7.0-rc4, vendor/lldb/lldb-trunk-r302069, vendor/lld/lld-trunk-r302069, vendor/compiler-rt/compiler-rt-trunk-r302069, vendor/clang/clang-trunk-r302069, vendor/llvm/llvm-trunk-r302069, vendor/NetBSD/blacklist/20170503, vendor/lldb/lldb-trunk-r301939, vendor/lld/lld-trunk-r301939, vendor/compiler-rt/compiler-rt-trunk-r301939, vendor/clang/clang-trunk-r301939, vendor/llvm/llvm-trunk-r301939, vendor/openpam/RESEDACEA, vendor/less/v491, vendor/ena-com/1.1.4.1, vendor/llvm/llvm-trunk-r301441, vendor/lldb/lldb-trunk-r301441, vendor/lld/lld-trunk-r301441, vendor/libc++/libc++-trunk-r301441, vendor/libc++/libc++-trunk-r301939, vendor/libc++/libc++-trunk-r302069, vendor/compiler-rt/compiler-rt-trunk-r301441, vendor/clang/clang-trunk-r301441, vendor/less/v487, vendor/NetBSD/bmake/20170420, vendor/lldb/lldb-trunk-r300890, vendor/lld/lld-trunk-r300890, vendor/libc++/libc++-trunk-r300890, vendor/compiler-rt/compiler-rt-trunk-r300890, vendor/clang/clang-trunk-r300890, vendor/llvm/llvm-trunk-r300890, vendor/elftoolchain/elftoolchain-r3520, vendor/lldb/lldb-trunk-r300422, vendor/lld/lld-trunk-r300422, vendor/libc++/libc++-trunk-r300422, vendor/compiler-rt/compiler-rt-trunk-r300422, vendor/clang/clang-trunk-r300422, vendor/llvm/llvm-trunk-r300422, vendor/zstd/1.1.4, vendor/NetBSD/bmake/20170413, vendor/ck/20170407, vendor/tzdata/tzdata2017b, vendor/libcxxrt/2017-03-22-8a853717e61d5d55cbdf74d9d0a7545da5d5ff92, vendor/ntp/4.2.8p10, vendor/tcsh/6.20.00, vendor/dtc/1.4.3, vendor/lld/lld-release_400-r297347, vendor/libc++/libc++-release_400-r297347, vendor/clang/clang-release_400-r297347, vendor/llvm/llvm-release_400-r297347, vendor/edk2/7babb4372e6a34cbbc54249b25056272a5a9924c, vendor/device-tree/4.10, vendor/NetBSD/bmake/20170301, vendor/acpica/20170303, vendor/libarchive/3.3.1, vendor/dma/20170210, vendor/ck/20170228, vendor/llvm/llvm-release_40-r296509, vendor/acpica/20170224, vendor/lld/lld-release_40-r296202, vendor/lld/lld-release_40-r296509, vendor/clang/clang-release_40-r296202, vendor/clang/clang-release_40-r296509, vendor/llvm/llvm-release_40-r296202, vendor/clang/clang-release_40-r296002, vendor/llvm/llvm-release_40-r296002, vendor/clang/clang-release_40-r295910, vendor/llvm/llvm-release_40-r295910, vendor/mandoc/1.4.1, vendor/openpam/RADULA, vendor/mandoc/1.4.1rc2, vendor/libucl/20170219, vendor/libc++/libc++-release_40-r295380, vendor/libc++/libc++-release_40-r295910, vendor/libc++/libc++-release_40-r296002, vendor/libc++/libc++-release_40-r296202, vendor/libc++/libc++-release_40-r296509, vendor/compiler-rt/compiler-rt-release_40-r295380, vendor/compiler-rt/compiler-rt-release_40-r295910, vendor/compiler-rt/compiler-rt-release_40-r296002, vendor/compiler-rt/compiler-rt-release_40-r296202, vendor/compiler-rt/compiler-rt-release_40-r296509, vendor/compiler-rt/compiler-rt-release_400-r297347, vendor/clang/clang-release_40-r295380, vendor/llvm/llvm-release_40-r295380, vendor/libpcap/1.8.1, vendor/lld/lld-release_40-r294803, vendor/lld/lld-release_40-r295380, vendor/lld/lld-release_40-r295910, vendor/lld/lld-release_40-r296002, vendor/libc++/libc++-release_40-r294803, vendor/clang/clang-release_40-r294803, vendor/llvm/llvm-release_40-r294803, vendor/lld/lld-release_40-r294123, vendor/libc++/libc++-release_40-r294123, vendor/compiler-rt/compiler-rt-release_40-r294123, vendor/compiler-rt/compiler-rt-release_40-r294803, vendor/clang/clang-release_40-r294123, vendor/llvm/llvm-release_40-r294123, vendor/NetBSD/tests/02.04.2017_10.12, vendor/unbound/1.6.0, vendor/ldns/1.7.0, vendor/byacc/20170201, vendor/lld/lld-release_40-r293807, vendor/libc++/libc++-release_40-r293807, vendor/clang/clang-release_40-r293807, vendor/llvm/llvm-release_40-r293807, vendor/tcpdump/4.9.0, vendor/openssh/7.4p1, vendor/openssh/7.3p1, vendor/NetBSD/libedit/2016-03-21, vendor/openresolv/3.9.0, vendor/lld/lld-release_40-r293443, vendor/libc++/libc++-release_40-r293443, vendor/compiler-rt/compiler-rt-release_40-r293443, vendor/compiler-rt/compiler-rt-release_40-r293807, vendor/clang/clang-release_40-r293443, vendor/llvm/llvm-release_40-r293443, vendor/openssl/1.0.2k, vendor/libc++/libc++-release_40-r292951, vendor/clang/clang-release_40-r292951, vendor/llvm/llvm-release_40-r292951, vendor/lld/lld-release_40-r292732, vendor/lld/lld-release_40-r292951, vendor/libc++/libc++-release_40-r292732, vendor/clang/clang-release_40-r292732, vendor/llvm/llvm-release_40-r292732, vendor/mandoc/20170121, zfs-0.7.0-rc3, vendor/acpica/20170119, vendor/NetBSD/tests/01.17.2017_21.34, vendor/zlib/1.2.11, vendor/lldb/lldb-release_40-r292009, vendor/lldb/lldb-release_40-r292732, vendor/lldb/lldb-release_40-r292951, vendor/lldb/lldb-release_40-r293443, vendor/lldb/lldb-release_40-r293807, vendor/lldb/lldb-release_40-r294123, vendor/lldb/lldb-release_40-r294803, vendor/lldb/lldb-release_40-r295380, vendor/lldb/lldb-release_40-r295910, vendor/lldb/lldb-release_40-r296002, vendor/lldb/lldb-release_40-r296202, vendor/lldb/lldb-release_40-r296509, vendor/lldb/lldb-release_400-r297347, vendor/lld/lld-release_40-r292009, vendor/libc++/libc++-release_40-r292009, vendor/compiler-rt/compiler-rt-release_40-r292009, vendor/compiler-rt/compiler-rt-release_40-r292732, vendor/compiler-rt/compiler-rt-release_40-r292951, vendor/clang/clang-release_40-r292009, vendor/llvm/llvm-release_40-r292009, vendor/NetBSD/tests/01.11.2017_23.20, vendor/lldb/lldb-trunk-r291476, vendor/lld/lld-trunk-r291476, vendor/libc++/libc++-trunk-r291476, vendor/compiler-rt/compiler-rt-trunk-r291476, vendor/clang/clang-trunk-r291476, vendor/llvm/llvm-trunk-r291476, vendor/lldb/lldb-trunk-r291274, vendor/lld/lld-trunk-r291274, vendor/libc++/libc++-trunk-r291274, vendor/compiler-rt/compiler-rt-trunk-r291274, vendor/clang/clang-trunk-r291274, vendor/llvm/llvm-trunk-r291274, vendor/xz/5.2.3, vendor/clang/clang-trunk-r291015, vendor/llvm/llvm-trunk-r291015, vendor/lldb/lldb-trunk-r291012, vendor/lldb/lldb-trunk-r291015, vendor/lld/lld-trunk-r291012, vendor/lld/lld-trunk-r291015, vendor/libc++/libc++-trunk-r291012, vendor/libc++/libc++-trunk-r291015, vendor/compiler-rt/compiler-rt-trunk-r291012, vendor/compiler-rt/compiler-rt-trunk-r291015, vendor/clang/clang-trunk-r291012, vendor/llvm/llvm-trunk-r291012, vendor/zlib/1.2.10, vendor/zlib/1.2.8-full, vendor/lldb/lldb-trunk-r290819, vendor/lld/lld-trunk-r290819, vendor/libc++/libc++-trunk-r290819, vendor/compiler-rt/compiler-rt-trunk-r290819, vendor/clang/clang-trunk-r290819, vendor/llvm/llvm-trunk-r290819, vendor/ck/20161230, vendor/heirloom-doctools/20161106, vendor/acpica/20161222, vendor/NetBSD/bmake/20161212, vendor/clang/clang-release_391-r289601, vendor/llvm/llvm-release_39-r288847, vendor/llvm/llvm-release_391-r289601, vendor/openbsm/1.2-ALPHA-5, vendor/byacc/20161202, vendor/tzdata/tzdata2016j, vendor/lld/lld-release_39-r288513, vendor/lld/lld-release_39-r288847, vendor/lld/lld-release_391-r289601, vendor/compiler-rt/compiler-rt-release_39-r288513, vendor/compiler-rt/compiler-rt-release_39-r288847, vendor/compiler-rt/compiler-rt-release_391-r289601, vendor/clang/clang-release_39-r288513, vendor/clang/clang-release_39-r288847, vendor/llvm/llvm-release_39-r288513, vendor/subversion/subversion-1.9.5, vendor/ck/20161128, vendor/lldb/lldb-release_39-r287912, vendor/lldb/lldb-release_39-r288513, vendor/lldb/lldb-release_39-r288847, vendor/lldb/lldb-release_391-r289601, vendor/lld/lld-release_39-r287912, vendor/libc++/libc++-release_39-r287912, vendor/libc++/libc++-release_39-r288513, vendor/libc++/libc++-release_39-r288847, vendor/libc++/libc++-release_391-r289601, vendor/compiler-rt/compiler-rt-release_39-r287912, vendor/clang/clang-release_39-r287912, vendor/llvm/llvm-release_39-r287912, vendor/ntp/4.2.8p9, vendor/acpica/20161117, vendor/file/5.29, vendor/tzdata/tzdata2016i, vendor/bind9/9.9.9-P4, zfs-0.7.0-rc2, vendor/heirloom-doctools/20161025, vendor/libarchive/3.2.2, vendor/heirloom-doctools/20161016, vendor/tzdata/tzdata2016h, vendor/tzdata/tzdata2016g, vendor/heirloom-doctools/20161006, vendor/byacc/20160606, vendor/libucl/20160812, vendor/dma/20160929, vendor/acpica/20160930, release/11.0.1, upstream/11.0.1, vendor/bind9/9.9.9-P3, vendor/unbound/1.5.10, vendor/openssl/1.0.2j |
|
#
81d7ca77 |
| 25-Sep-2016 |
Tijl Coosemans <tijl@FreeBSD.org> |
MFamd64: r266901
Allocate a zeroed LDT.
Failing to do this might result in the LDT appearing to run out of free descriptors because of random junk in the descriptor's 'sd_type' field.
http://lists
MFamd64: r266901
Allocate a zeroed LDT.
Failing to do this might result in the LDT appearing to run out of free descriptors because of random junk in the descriptor's 'sd_type' field.
http://lists.freebsd.org/pipermail/freebsd-amd64/2014-May/016088.html
PR: 212639 Submitted by: wheelcomplex@gmail.com MFC after: 2 weeks
show more ...
|
Revision tags: release/11.0.0, upstream/11.0.0, vendor/openssl/1.0.1u, vendor/openssl/1.0.2i, vendor/alpine-hal/2.7a, vendor/cortex-strings/linaro-eb80ac, vendor/NetBSD/bmake/20160818, zfs-0.7.0-rc1, vendor/unbound/1.5.9, vendor/clang/clang-release_390-r280324, vendor/acpica/20160831, vendor/elftoolchain/elftoolchain-r3490, vendor/amd/6.2, vendor/llvm/llvm-release_39-r279689, vendor/llvm/llvm-release_390-r280324, vendor/lld/lld-release_39-r279689, vendor/lld/lld-release_390-r280324, vendor/lld/lldb-release_39-r279477, vendor/libc++/libc++-release_39-r279477, vendor/libc++/libc++-release_39-r279689, vendor/libc++/libc++-release_390-r280324, vendor/compiler-rt/compiler-rt-release_39-r279477, vendor/compiler-rt/compiler-rt-release_39-r279689, vendor/compiler-rt/compiler-rt-release_390-r280324, vendor/clang/clang-release_39-r279477, vendor/clang/clang-release_39-r279689, vendor/llvm/llvm-release_39-r279477, vendor/sqlite3/sqlite-3140100, vendor/dma/20160806, vendor/lldb/lldb-release_39-r278877, vendor/lldb/lldb-release_39-r279477, vendor/lldb/lldb-release_39-r279689, vendor/lldb/lldb-release_390-r280324, vendor/lld/lld-release_39-r278877, vendor/libc++/libc++-release_39-r278877, vendor/compiler-rt/compiler-rt-release_39-r278877, vendor/clang/clang-release_39-r278877, vendor/llvm/llvm-release_39-r278877, vendor/NetBSD/tests/08.11.2016_18.01, vendor/acpica/20160729, vendor/device-tree/devicetree-965f3718, vendor/libdivsufsort/0.0.2015.10.27, vendor/lldb/lldb-release_39-r276489, vendor/lld/lld-release_39-r276489, vendor/libc++/libc++-release_39-r276489, vendor/compiler-rt/compiler-rt-release_39-r276489, vendor/clang/clang-release_39-r276489, vendor/llvm/llvm-release_39-r276489, vendor/mandoc/1.13.4, vendor/openresolv/3.8.1, vendor/llvm-libunwind/libunwind-r272680, vendor/Juniper/libxo/0.6.3, vendor/expat/2.2.0, vendor/file/5.28, vendor/libarchive/3.2.1, vendor/ldns-host/hg-20160610-170001, vendor/ldns-host/hg-20160501-114105, vendor/NetBSD/libc-vis/20160608, vendor/NetBSD/bmake/20160606, vendor/NetBSD/bmake/20160604, vendor/libucl/20160604, vendor/ntp/4.2.8p8, vendor/NetBSD/blacklist/20160409, vendor/Juniper/libxo/0.6.2, vendor/acpica/20160527, vendor/skein/1.3, vendor/elftoolchain/elftoolchain-r3477 |
|
#
0bfad8e4 |
| 20-May-2016 |
Konstantin Belousov <kib@FreeBSD.org> |
Check for overflow and return EINVAL if detected. Backport this and r300305 to i386.
PR: 209661 Reported and reviewed by: cturt Sponsored by: The FreeBSD Foundation MFC after: 3 days
|
Revision tags: vendor/NetBSD/bmake/20160512, vendor/elftoolchain/elftoolchain-r3475, vendor/file/5.27, vendor/libarchive/3.2.0, vendor/libcxxrt/2016-03-29-516a65c109eb0a01e5e95fbef455eb3215135cef, vendor/openssl/1.0.1t, vendor/openssl/1.0.2h, vendor/subversion/subversion-1.9.4, vendor/ntp/4.2.8p7, vendor/acpica/20160422, vendor/netcat/5.9 |
|
#
d9c9c81c |
| 21-Apr-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys: use our roundup2/rounddown2() macros when param.h is available.
rounddown2 tends to produce longer lines than the original code and when the code has a high indentation level it was not really
sys: use our roundup2/rounddown2() macros when param.h is available.
rounddown2 tends to produce longer lines than the original code and when the code has a high indentation level it was not really advantageous to do the replacement.
This tries to strike a balance between readability using the macros and flexibility of having the expressions, so not everything is converted.
show more ...
|
Revision tags: vendor/file/5.26, vendor/openresolv/3.8.0, vendor/libucl/libucl-0.8.0, vendor/sqlite3/sqlite-3120100, vendor/Juniper/libxo/0.6.1, vendor/Juniper/libxo/0.6.0, vendor/Juniper/libxo/0.4.7, vendor/Juniper/libxo/0.4.6, vendor/byacc/20160324, release/10.3.0, upstream/10.3.0, vendor/acpica/20160318, vendor/NetBSD/bmake/20160315, vendor/Juniper/libxo/0.4.5, vendor/NetBSD/bmake/20160307, vendor/openssh/7.2p2, vendor/openssh/7.2p1, vendor/bind9/9.9.8-P4, vendor/unbound/1.5.8, vendor/clang/clang-release_380-r262564, vendor/llvm/llvm-release_380-r262564, vendor/openssl/1.0.1s, vendor/openssl/1.0.2g, vendor/byacc/20150711, vendor/byacc/20141128, vendor/openresolv/3.7.3, vendor/NetBSD/libedit/2016-02-27, vendor/clang/clang-release_38-r261684, vendor/llvm/llvm-release_38-r261684, vendor/libc++/libc++-release_38-r261369, vendor/libc++/libc++-release_380-r262564, vendor/compiler-rt/compiler-rt-release_38-r261369, vendor/compiler-rt/compiler-rt-release_380-r262564, vendor/clang/clang-release_38-r261369, vendor/llvm/llvm-release_38-r261369, vendor/lldb/lldb-release_38-r260756, vendor/lldb/lldb-release_380-r262564, vendor/libc++/libc++-release_38-r260756, vendor/compiler-rt/compiler-rt-release_38-r260756, vendor/clang/clang-release_38-r260756, vendor/llvm/llvm-release_38-r260756, vendor/acpica/20160212, vendor/elftoolchain/elftoolchain-r3399, vendor/elftoolchain/elftoolchain-r3395, vendor/NetBSD/libedit/2016-01-30, vendor/openresolv/3.7.2, vendor/device-tree/ianc-afaecb70, vendor/openssl/1.0.1r, vendor/openssl/1.0.2f, vendor/lldb/lldb-release_38-r258968, vendor/lld/lld-release_38-r258968, vendor/lld/lld-release_380-r262564, vendor/libc++/libc++-release_38-r258968, vendor/compiler-rt/compiler-rt-release_38-r258968, vendor/clang/clang-release_38-r258968, vendor/llvm/llvm-release_38-r258968, vendor/alpine-hal/2.7, vendor/libc++/libc++-release_38-r258549, vendor/clang/clang-release_38-r258549, vendor/llvm/llvm-release_38-r258549, vendor/ntp/4.2.8p6, vendor/bind9/9.9.8-P3, vendor/openssh/7.1p2, vendor/lldb/lldb-release_38-r257836, vendor/libc++/libc++-release_38-r257836, vendor/clang/clang-release_38-r257836, vendor/llvm/llvm-release_38-r257836, vendor/mandoc/20160116, vendor/lldb/lldb-trunk-r257626, vendor/lld/lld-trunk-r257626, vendor/libc++/r257626, vendor/compiler-rt/compiler-rt-trunk-r257626, vendor/clang/clang-trunk-r257626, vendor/llvm/llvm-trunk-r257626, vendor/acpica/20160108, vendor/ntp/4.2.8p5, vendor/lldb/lldb-trunk-r256945, vendor/lld/lld-trunk-r256945, vendor/libc++/r256945, vendor/compiler-rt/compiler-rt-trunk-r256945, vendor/clang/clang-trunk-r256945, vendor/llvm/llvm-trunk-r256945, vendor/llvm-libunwind/libunwind-r256779, vendor/less/v481, vendor/lldb/lldb-trunk-r256633, vendor/llvm/llvm-trunk-r256633, vendor/lld/lld-trunk-r256633, vendor/libc++/r256633, vendor/compiler-rt/compiler-rt-trunk-r256633, vendor/clang/clang-trunk-r256633, vendor/clang/clang-release_371-r255217, vendor/llvm/llvm-release_371-r255217, vendor/NetBSD/bmake/20151220, vendor/acpica/20151218, vendor/bind9/9.9.8-P2, vendor/unbound/1.5.7, vendor/unbound/1.5.6, vendor/elftoolchain/elftoolchain-r3272, vendor/openbsm/1.2-ALPHA-4, vendor/NetBSD/bmake/20151201 |
|
#
d9977530 |
| 07-Dec-2015 |
John Baldwin <jhb@FreeBSD.org> |
Set %esp correctly in the extended TSS.
The pcb is saved at the top of the kernel stack on x86 platforms. The initial kenrel stack pointer is set in the TSS so that the trapframe from user -> kernel
Set %esp correctly in the extended TSS.
The pcb is saved at the top of the kernel stack on x86 platforms. The initial kenrel stack pointer is set in the TSS so that the trapframe from user -> kernel transitions begins directly below the pcb and grows down.
The XSAVE changes moved the FPU save area out of the pcb and into a variable-sized area after the pcb. This required updating the expressions to calculate the initial stack pointer from 'stacktop - sizeof(pcb)' to 'stacktop - sizeof(pcb) + FPU save area size'.
The i386_set_ioperm() system call allows user applications to access individual I/O ports via the I/O port permission bitmap in the TSS. On FreeBSD this requires allocating a custom per-process TSS instead of using the shared per-CPU TSS.
The expression to initialize the initial kernel stack pointer in the per-process TSS created for i386_set_ioperm() was not properly updated after the XSAVE changes. Processes that used i386_set_ioperm() would trash the trapframe during subsequent context switches resulting in panics from memory corruption.
This changes fixes the kernel stack pointer calculation for the per-process TSS.
Reviewed by: kib, n_hibma Reported by: n_hibma MFC after: 1 week
show more ...
|
Revision tags: vendor/openssl/0.9.8zh, vendor/openssl/1.0.1q, vendor/openssl/1.0.2e, vendor/acpica/20151124, vendor/xz/5.2.2, vendor/tzdata/tzdata2015g, vendor/libucl/20151027, vendor/openssl/1.0.2d, vendor/NetBSD/bmake/20151020, vendor/ntp/4.2.8p4, vendor/wpa/2.5, vendor/subversion/subversion-1.9.2, vendor/dma/0.10, vendor/elftoolchain/elftoolchain-r3250, vendor/unbound/1.5.5, vendor/bind9/9.9.8, vendor/acpica/20150930, vendor/netcat/5.8, vendor/llvm-libunwind/libunwind-r246528, vendor/file/5.25, vendor/unbound/1.5.4, zfs-0.6.5, vendor/libc++/libc++-release_370-r246257, vendor/compiler-rt/compiler-rt-release_370-r246257, vendor/lldb/lldb-release_370-r246257, vendor/clang/clang-release_370-r246257, vendor/llvm/llvm-release_370-r246257, vendor/lldb/lldb-trunk-r242221, vendor/file/5.24, vendor/openssh/7.1p1, vendor/openssh/7.0p1, vendor/acpica/20150818, vendor/pciids/pciids-20150815, vendor/tzdata/tzdata2015f, release/10.2.0, upstream/10.2.0 |
|
#
edc82223 |
| 10-Aug-2015 |
Konstantin Belousov <kib@FreeBSD.org> |
Make kstack_pages a tunable on arm, x86, and powepc. On i386, the initial thread stack is not adjusted by the tunable, the stack is allocated too early to get access to the kernel environment. See T
Make kstack_pages a tunable on arm, x86, and powepc. On i386, the initial thread stack is not adjusted by the tunable, the stack is allocated too early to get access to the kernel environment. See TD0_KSTACK_PAGES for the thread0 stack sizing on i386.
The tunable was tested on x86 only. From the visual inspection, it seems that it might work on arm and powerpc. The arm USPACE_SVC_STACK_TOP and powerpc USPACE macros seems to be already incorrect for the threads with non-default kstack size. I only changed the macros to use variable instead of constant, since I cannot test.
On arm64, mips and sparc64, some static data structures are sized by KSTACK_PAGES, so the tunable is disabled.
Sponsored by: The FreeBSD Foundation MFC after: 2 week
show more ...
|
Revision tags: vendor/sqlite3/sqlite-3081101, vendor/subversion/subversion-1.8.14, vendor/serf/serf-1.3.8, vendor/apr/apr-1.5.2, vendor/clang/clang-trunk-r242221, vendor/llvm/llvm-trunk-r242221, vendor/bind9/9.9.7-P2, vendor/acpica/20150717, vendor/openssl/1.0.1p, vendor/sendmail/8.15.2, vendor/tcpdump/4.7.4, vendor/clang/clang-trunk-r241361, vendor/llvm/llvm-trunk-r241361, vendor/lldb/lldb-r241361, vendor/openssh/6.9p1, vendor/openssh/6.8p1, vendor/ntp/4.2.8p3 |
|
#
06d058bd |
| 29-Jun-2015 |
Konstantin Belousov <kib@FreeBSD.org> |
Reduce code duplication. Add helper fill_based_sd(9) which creates a based user data descriptor covering whole VA.
Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
|
Revision tags: vendor/clang/clang-trunk-r240225, vendor/llvm/llvm-trunk-r240225, vendor/acpica/20150619, vendor/libcxxrt/2015-06-18-e64e93fe5bba67a6d52cbe5a97f8770c054bfa65, vendor/acpica/20150616, vendor/tzdata/tzdata2015e, vendor/openssl/1.0.1o, vendor/openssl/0.9.8zg, vendor/openssl/1.0.1n, vendor/NetBSD/bmake/20150606, vendor/file/5.23, vendor/clang/clang-trunk-r239412, vendor/llvm/llvm-trunk-r239412, vendor/clang/clang-trunk-r238337, vendor/llvm/llvm-trunk-r238337, vendor/elftoolchain/elftoolchain-r3223, vendor/clang/clang-3.6.x, vendor/clang/clang-release_361-r237755, vendor/llvm/llvm-3.6.x, vendor/llvm/llvm-release_361-r237755, vendor/acpica/20150515, vendor/tzdata/tzdata2015d, vendor/tzdata/tzdata2015c, vendor/elftoolchain/elftoolchain-r3197, vendor/ficl/4.1.0, vendor/ficl/3.0.3, vendor/NetBSD/bmake/20150505, vendor/netcat/5.7, vendor/openresolv/3.7.0, vendor/sqlite3/sqlite-3080900 |
|
#
ed95805e |
| 30-Apr-2015 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for Xen PV domU kernels. Support for HVM domU kernels remains. Xen is planning to phase out support for PV upstream since it is harder to maintain and has more overhead. Modern x86
Remove support for Xen PV domU kernels. Support for HVM domU kernels remains. Xen is planning to phase out support for PV upstream since it is harder to maintain and has more overhead. Modern x86 CPUs include virtualization extensions that support HVM guests instead of PV guests. In addition, the PV code was i386 only and not as well maintained recently as the HVM code. - Remove the i386-only NATIVE option that was used to disable certain components for PV kernels. These components are now standard as they are on amd64. - Remove !XENHVM bits from PV drivers. - Remove various shims required for XEN (e.g. PT_UPDATES_FLUSH, LOAD_CR3, etc.) - Remove duplicate copy of <xen/features.h>. - Remove unused, i386-only xenstored.h.
Differential Revision: https://reviews.freebsd.org/D2362 Reviewed by: royger Tested by: royger (i386/amd64 HVM domU and amd64 PVH dom0) Relnotes: yes
show more ...
|
Revision tags: vendor/unbound/1.5.3, vendor/unbound/1.5.2, vendor/NetBSD/bmake/20150418, vendor/wpa/2.4, vendor/acpica/20150410, vendor/nvi/2.1.3, vendor/ntp/4.2.8p2, vendor/acpica/20150408, zfs-0.6.4, vendor/xz/5.2.1, vendor/bind9/9.9.7, vendor/elftoolchain/elftoolchain-r3179, vendor/lld/lld-trunk-r233088, vendor/tzdata/tzdata2015b, vendor/lua/5.3.0, vendor/openssl/0.9.8zf, vendor/openssl/1.0.1m, vendor/mandoc/1.13.3, vendor/tzdata/tzdata2015a, vendor/libucl/20150302, vendor/mandoc/20150302, vendor/device-tree/ian-c8c1b3a7, vendor/clang/clang-release_360-r230434, vendor/llvm/llvm-release_360-r230434, vendor/compiler-rt/compiler-rt-r230183, vendor/clang/clang-release_360-r229772, vendor/llvm/llvm-release_360-r229772, vendor/elftoolchain/elftoolchain-r3163, vendor/clang/clang-release_360-r229040, vendor/llvm/llvm-release_360-r229040, vendor/compiler-rt/compiler-rt-r228651, vendor/lldb/lldb-r228549, vendor/lldb/lldb-r225923, vendor/xz/5.2.0, vendor/ntp/4.2.8p1, vendor/acpica/20150204, vendor/libcxxrt/2014-12-31-1cb607e89f6135bbc10f3d3b6fba1f983e258dcc, vendor/clang/clang-release_360-r227651, vendor/llvm/llvm-release_360-r227651, vendor/clang/clang-release_360-r226102, vendor/llvm/llvm-release_360-r226102, vendor/openssl/0.9.8ze, vendor/openssl/1.0.1l, vendor/clang/clang-release_351-r225668, vendor/llvm/llvm-release_351-r225668, vendor/NetBSD/libedit/2014-01-07, vendor/openssl/0.9.8zd, vendor/openssl/1.0.1k, vendor/libc++/r224926, vendor/compiler-rt/compiler-rt-r224034, vendor/tcpdump/4.6.2, vendor/libpcap/1.6.2, vendor/openssh/6.7p1, vendor/file/5.22, vendor/unbound/1.5.1, vendor/unbound/1.5.0, vendor/elftoolchain/elftoolchain-r3136, vendor/libcxxrt/2014-12-06-00bc29eb6513624824a6d7db2ebc768a4216a604, vendor/mandoc/1.13.2, vendor/elftoolchain/elftoolchain-r3130, vendor/ntp/4.2.8, vendor/bind9/9.9.6-P1, vendor/sendmail/8.15.1, vendor/file/5.21, vendor/tnftp/20141104, vendor/tnftp/20141031, vendor/mandoc/20141201, vendor/libucl/20141129, vendor/lldb/lldb-r216948, vendor/clang/clang-release_350-r216957, vendor/llvm/llvm-release_350-r216957, vendor/sqlite3/sqlite-3080702, vendor/mandoc/1.13.1, vendor/tzdata/tzdata2014j, release/10.1.0, upstream/10.1.0, vendor/acpica/20141107, vendor/compiler-rt/compiler-rt-r197381 |
|
#
824fc460 |
| 02-Nov-2014 |
John Baldwin <jhb@FreeBSD.org> |
MFamd64: Add support for extended FPU states on i386. This includes support for AVX on i386. - Similar to amd64, move the FPU save area out of the PCB and instead store saved FPU state in a variab
MFamd64: Add support for extended FPU states on i386. This includes support for AVX on i386. - Similar to amd64, move the FPU save area out of the PCB and instead store saved FPU state in a variable-sized buffer after the PCB on the stack. - To support the variable PCB location, alter the locore code to only use the bottom-most page of proc0stack for init386(). init386() returns the correct stack pointer to locore which adjusts the stack for thread0 before calling mi_startup(). - Don't bother setting cr3 in thread0's pcb in locore before calling init386(). It wasn't used (init386() overwrote it at the end) and it doesn't work with the variable-sized FPU save area. - Remove the new-bus attachment from npx. This was only ever useful for external co-processors using IRQ13, but those have not been supported for several years. npxinit() is now called much earlier during boot (init386()) similar to amd64. - Implement PT_{GET,SET}XSTATE and I386_GET_XFPUSTATE. - npxsave() is now only called from context switch contexts so it can use XSAVEOPT.
Differential Revision: https://reviews.freebsd.org/D1058 Reviewed by: kib Tested on: FreeBSD/i386 VM under bhyve on Intel i5-2520
show more ...
|
Revision tags: vendor/atf/atf-0.21, vendor/NetBSD/mtree/20141028, vendor/netcat/5.6, vendor/tzdata/tzdata2014i, vendor/xz/5.0.7, vendor/openssl/0.9.8zc, vendor/openssl/1.0.1j, vendor/byacc/20141006, vendor/byacc/20141005, vendor/NetBSD/tests/09.30.2014_20.45, vendor/acpica/20140926, vendor/apr-util/apr-util-1.5.4, vendor/openpam/OUROUPARIA, vendor/acpica/20140828, vendor/pjdfstest/abf03c3a47745d4521b0e4aa141317553ca48f91, vendor/NetBSD/libc-vis/20140908, vendor/device-tree/ianc-b78b6b80, vendor/tzdata/tzdata2014f, vendor/sqlite3/sqlite-3080500, vendor/serf/serf-1.3.7, vendor/subversion/subversion-1.8.10, vendor/resolver/9.5.0, vendor/openssl/0.9.8zb, vendor/openssl/1.0.1i, vendor/serf/serf-1.3.6, vendor/libucl/20140718, vendor/libucl/20140716, vendor/byacc/20140715, release/9.3.0, vendor/NetBSD/bmake/20140620, vendor/acpica/20140627, vendor/file/5.19 |
|
#
31241fa7 |
| 15-Jun-2014 |
Konstantin Belousov <kib@FreeBSD.org> |
Fix some cosmetic issues with the use of kmem_malloc() in the i386 LDT sysarch(2) code.
Use M_ZERO instead of explicit bzero(9). Do not check for failed allocation when M_WAITOK is specified (which
Fix some cosmetic issues with the use of kmem_malloc() in the i386 LDT sysarch(2) code.
Use M_ZERO instead of explicit bzero(9). Do not check for failed allocation when M_WAITOK is specified (which is specified always). Use malloc(9) when allocating memory for the intermediate copy of the user-supplied buffer.
Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
Revision tags: vendor/tzdata/tzdata2014e, zfs-0.6.3, vendor/openssl/0.9.8za, vendor/openssl/1.0.1h, vendor/apr/apr-1.5.1, vendor/subversion/subversion-1.8.9, vendor/serf/serf-1.3.5, vendor/byacc/20140422, vendor/libucl/20140514, vendor/sendmail/8.14.9, vendor/unbound/1.4.22, vendor/unbound/1.4.21, vendor/ldns/1.6.17, vendor/tzdata/tzdata2014c, vendor/clang/clang-release_34-r208032, vendor/llvm/llvm-release_34-r208032, vendor/acpica/20140424, vendor/byacc/20140409, vendor/libucl/0.4.0, vendor/netcat/5.5, vendor/openssl/1.0.1g, vendor/tzdata/tzdata2014b, vendor/acpica/20140325, vendor/libucl/20140321, vendor/openssh/6.6p1 |
|
#
4a144410 |
| 16-Mar-2014 |
Robert Watson <rwatson@FreeBSD.org> |
Update kernel inclusions of capability.h to use capsicum.h instead; some further refinement is required as some device drivers intended to be portable over FreeBSD versions rely on __FreeBSD_version
Update kernel inclusions of capability.h to use capsicum.h instead; some further refinement is required as some device drivers intended to be portable over FreeBSD versions rely on __FreeBSD_version to decide whether to include capability.h.
MFC after: 3 weeks
show more ...
|
Revision tags: vendor/tzdata/tzdata2014a |
|
#
846351f8 |
| 11-Mar-2014 |
Warner Losh <imp@FreeBSD.org> |
Remove clause 3 (the advertising clause), per the regent's letter.
|