| #
b2f4d9b6
|
| 11-Apr-2025 |
Li-Wen Hsu <lwhsu@FreeBSD.org> |
bus.h: Fix a typo in SPDX
Sponsored by: The FreeBSD Foundation
|
| #
95ee2897
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| #
b61a5730
|
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD
The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch up to that fact and revert to their recommended match of BS
spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD
The SPDX folks have obsoleted the BSD-2-Clause-NetBSD 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
show more ...
|
| #
56f5947a
|
| 12-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
Remove checks for __GNUCLIKE_ASM assuming it is always true.
All supported compilers (modern versions of GCC and clang) support this.
Many places didn't have an #else so would just silently do the
Remove checks for __GNUCLIKE_ASM assuming it is always true.
All supported compilers (modern versions of GCC and clang) support this.
Many places didn't have an #else so would just silently do the wrong thing. Ancient versions of icc (the original motivation for this) are no longer a compiler FreeBSD supports.
PR: 263102 (exp-run) Reviewed by: brooks, imp Differential Revision: https://reviews.freebsd.org/D34797
show more ...
|
| #
a90d053b
|
| 19-Jul-2021 |
Mark Johnston <markj@FreeBSD.org> |
Simplify kernel sanitizer interceptors
KASAN and KCSAN implement interceptors for various primitive operations that are not instrumented by the compiler. KMSAN requires them as well. Rather than ad
Simplify kernel sanitizer interceptors
KASAN and KCSAN implement interceptors for various primitive operations that are not instrumented by the compiler. KMSAN requires them as well. Rather than adding new cases for each sanitizer which requires interceptors, implement the following protocol: - When interceptor definitions are required, define SAN_NEEDS_INTERCEPTORS and SANITIZER_INTERCEPTOR_PREFIX. - In headers that declare functions which need to be intercepted by a sanitizer runtime, use SANITIZER_INTERCEPTOR_PREFIX to provide declarations. - When SAN_RUNTIME is defined, do not redefine the names of intercepted functions. This is typically the case in files which implement sanitizer runtimes but is also needed in, for example, files which define ifunc selectors for intercepted operations.
MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
show more ...
|
| #
3ead6023
|
| 23-Mar-2021 |
Mark Johnston <markj@FreeBSD.org> |
Generalize bus_space(9) and atomic(9) sanitizer interceptors
Make it easy to define interceptors for new sanitizer runtimes, rather than assuming KCSAN. Lay a bit of groundwork for KASAN and KMSAN.
Generalize bus_space(9) and atomic(9) sanitizer interceptors
Make it easy to define interceptors for new sanitizer runtimes, rather than assuming KCSAN. Lay a bit of groundwork for KASAN and KMSAN.
When a sanitizer is compiled in, atomic(9) and bus_space(9) definitions in atomic_san.h are used by default instead of the inline implementations in the platform's atomic.h. These definitions are implemented in the sanitizer runtime, which includes machine/{atomic,bus}.h with SAN_RUNTIME defined to pull in the actual implementations.
No functional change intended.
MFC after: 1 month Sponsored by: The FreeBSD Foundation
show more ...
|
| #
435c7cfb
|
| 08-Mar-2021 |
Mark Johnston <markj@FreeBSD.org> |
Rename _cscan_atomic.h and _cscan_bus.h to atomic_san.h and bus_san.h
Other kernel sanitizers (KMSAN, KASAN) require interceptors as well, so put these in a more generic place as a step towards impo
Rename _cscan_atomic.h and _cscan_bus.h to atomic_san.h and bus_san.h
Other kernel sanitizers (KMSAN, KASAN) require interceptors as well, so put these in a more generic place as a step towards importing the other sanitizers.
No functional change intended.
MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29103
show more ...
|
| #
88f7c52f
|
| 24-Sep-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Add missing declarations of 64-bit variants of bus_peek/bus_poke on amd64. It fixes GENERIC-KCSAN build.
Reported by: rpokala MFC after: 1 month MFC with: r365899
|
| #
31820621
|
| 20-Sep-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Add missing assignment forgotten in r365899
Noticed by: mav MFC after: 1 month MFC with: r365899
|
| #
95a85c12
|
| 19-Sep-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions. One problem with the bus_space_read_N() and bus_space_write_N() family of functions is that they provide no protection again
Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions. One problem with the bus_space_read_N() and bus_space_write_N() family of functions is that they provide no protection against exceptions which can occur when no physical hardware or device responds to the read or write cycles. In such a situation, the system typically would panic due to a kernel-mode bus error. The bus_space_peek_N() and bus_space_poke_N() family of functions provide a mechanism to handle these exceptions gracefully without the risk of crashing the system.
Typical example is access to PCI(e) configuration space in bus enumeration function on badly implemented PCI(e) root complexes (RK3399 or Neoverse N1 N1SDP and/or access to PCI(e) register when device is in deep sleep state.
This commit adds a real implementation for arm64 only. The remaining architectures have bus_space_peek()/bus_space_poke() emulated by using bus_space_read()/bus_space_write() (without exception handling).
MFC after: 1 month Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D25371
show more ...
|
| #
ab6c81a2
|
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
x86: clean up empty lines in .c and .h files
|
| #
849aef49
|
| 21-Nov-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Port the NetBSD KCSAN runtime to FreeBSD.
Update the NetBSD Kernel Concurrency Sanitizer (KCSAN) runtime to work in the FreeBSD kernel. It is a useful tool for finding data races between threads exe
Port the NetBSD KCSAN runtime to FreeBSD.
Update the NetBSD Kernel Concurrency Sanitizer (KCSAN) runtime to work in the FreeBSD kernel. It is a useful tool for finding data races between threads executing on different CPUs.
This can be enabled by enabling KCSAN in the kernel config, or by using the GENERIC-KCSAN amd64 kernel. It works on amd64 and arm64, however the later needs a compiler change to allow -fsanitize=thread that KCSAN uses.
Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22315
show more ...
|
| #
9122aeea
|
| 09-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r353316 through r353350.
|
| #
fa43c5d4
|
| 08-Oct-2019 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: plug spurious cld instructions
ABI already guarantees the direction is forward. Note this does not take care of i386-specific cld's.
Reviewed by: kib Sponsored by: The FreeBSD Foundation Dif
amd64: plug spurious cld instructions
ABI already guarantees the direction is forward. Note this does not take care of i386-specific cld's.
Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D21906
show more ...
|
| #
7648bc9f
|
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
| #
078116a6
|
| 07-May-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
amd64: fix BUS_SPACE_MAXSIZE to 64bit max value.
Reviewed by: jhb, tychon (previous version) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.or
amd64: fix BUS_SPACE_MAXSIZE to 64bit max value.
Reviewed by: jhb, tychon (previous version) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D20154
show more ...
|
| #
b2f4d9b6
|
| 11-Apr-2025 |
Li-Wen Hsu <lwhsu@FreeBSD.org> |
bus.h: Fix a typo in SPDX
Sponsored by: The FreeBSD Foundation
|
| #
95ee2897
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| #
b61a5730
|
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD
The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch up to that fact and revert to their recommended match of BS
spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSD
The SPDX folks have obsoleted the BSD-2-Clause-NetBSD 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
show more ...
|
| #
56f5947a
|
| 12-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
Remove checks for __GNUCLIKE_ASM assuming it is always true.
All supported compilers (modern versions of GCC and clang) support this.
Many places didn't have an #else so would just silently do the
Remove checks for __GNUCLIKE_ASM assuming it is always true.
All supported compilers (modern versions of GCC and clang) support this.
Many places didn't have an #else so would just silently do the wrong thing. Ancient versions of icc (the original motivation for this) are no longer a compiler FreeBSD supports.
PR: 263102 (exp-run) Reviewed by: brooks, imp Differential Revision: https://reviews.freebsd.org/D34797
show more ...
|
| #
a90d053b
|
| 19-Jul-2021 |
Mark Johnston <markj@FreeBSD.org> |
Simplify kernel sanitizer interceptors
KASAN and KCSAN implement interceptors for various primitive operations that are not instrumented by the compiler. KMSAN requires them as well. Rather than ad
Simplify kernel sanitizer interceptors
KASAN and KCSAN implement interceptors for various primitive operations that are not instrumented by the compiler. KMSAN requires them as well. Rather than adding new cases for each sanitizer which requires interceptors, implement the following protocol: - When interceptor definitions are required, define SAN_NEEDS_INTERCEPTORS and SANITIZER_INTERCEPTOR_PREFIX. - In headers that declare functions which need to be intercepted by a sanitizer runtime, use SANITIZER_INTERCEPTOR_PREFIX to provide declarations. - When SAN_RUNTIME is defined, do not redefine the names of intercepted functions. This is typically the case in files which implement sanitizer runtimes but is also needed in, for example, files which define ifunc selectors for intercepted operations.
MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
show more ...
|
| #
3ead6023
|
| 23-Mar-2021 |
Mark Johnston <markj@FreeBSD.org> |
Generalize bus_space(9) and atomic(9) sanitizer interceptors
Make it easy to define interceptors for new sanitizer runtimes, rather than assuming KCSAN. Lay a bit of groundwork for KASAN and KMSAN.
Generalize bus_space(9) and atomic(9) sanitizer interceptors
Make it easy to define interceptors for new sanitizer runtimes, rather than assuming KCSAN. Lay a bit of groundwork for KASAN and KMSAN.
When a sanitizer is compiled in, atomic(9) and bus_space(9) definitions in atomic_san.h are used by default instead of the inline implementations in the platform's atomic.h. These definitions are implemented in the sanitizer runtime, which includes machine/{atomic,bus}.h with SAN_RUNTIME defined to pull in the actual implementations.
No functional change intended.
MFC after: 1 month Sponsored by: The FreeBSD Foundation
show more ...
|
| #
435c7cfb
|
| 08-Mar-2021 |
Mark Johnston <markj@FreeBSD.org> |
Rename _cscan_atomic.h and _cscan_bus.h to atomic_san.h and bus_san.h
Other kernel sanitizers (KMSAN, KASAN) require interceptors as well, so put these in a more generic place as a step towards impo
Rename _cscan_atomic.h and _cscan_bus.h to atomic_san.h and bus_san.h
Other kernel sanitizers (KMSAN, KASAN) require interceptors as well, so put these in a more generic place as a step towards importing the other sanitizers.
No functional change intended.
MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29103
show more ...
|
| #
88f7c52f
|
| 24-Sep-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Add missing declarations of 64-bit variants of bus_peek/bus_poke on amd64. It fixes GENERIC-KCSAN build.
Reported by: rpokala MFC after: 1 month MFC with: r365899
|
| #
31820621
|
| 20-Sep-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Add missing assignment forgotten in r365899
Noticed by: mav MFC after: 1 month MFC with: r365899
|