| #
b033e368
|
| 03-Dec-2025 |
Warner Losh <imp@FreeBSD.org> |
armv7: Tweak some armv6 removals
Fixes: 42421307b115 (sys: remove armv6/6.1 support from debug monitor) Suggested by: jhb Sponsored by: Netflix
|
| #
d29771a7
|
| 12-Jul-2024 |
Andrew Turner <andrew@FreeBSD.org> |
arm: Assume __ARM_ARCH == 7
The only supported 32-bit Arm architecture is Armv7. Remove old checks for earlier architecture revisions.
Sponsored by: Arm Ltd Differential Revision: https://reviews.f
arm: Assume __ARM_ARCH == 7
The only supported 32-bit Arm architecture is Armv7. Remove old checks for earlier architecture revisions.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45957
show more ...
|
| #
6abad5b6
|
| 10-Jun-2024 |
Andrew Turner <andrew@FreeBSD.org> |
Remove the arm FIQ support
It isn't used, and only masks/unmasks FIQs on the local CPU so will be broken on SMP.
Reviewed by: mmel Differential Revision: https://reviews.freebsd.org/D33804
|
| #
67d39872
|
| 24-Jul-2023 |
Andrew Turner <andrew@FreeBSD.org> |
arm: Move contents of cpu-v6.h into cpu.h
Previously we had an armv4/v5 and armv6/v7 copy of the cpu.h header. As we have removed armv4/v5 support we can now merge the armv6/v7 code into cpu.h
Revi
arm: Move contents of cpu-v6.h into cpu.h
Previously we had an armv4/v5 and armv6/v7 copy of the cpu.h header. As we have removed armv4/v5 support we can now merge the armv6/v7 code into cpu.h
Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41137
show more ...
|
| #
25bcd81b
|
| 14-Mar-2022 |
Wojciech Macek <wma@FreeBSD.org> |
armv6/legacy: optimize cpu_getcount performance
Use nanotime instread of binuptime. This change is for old and legacy platforms and does not impact any armv7 and later. Might be MFCed to 13.0 once a
armv6/legacy: optimize cpu_getcount performance
Use nanotime instread of binuptime. This change is for old and legacy platforms and does not impact any armv7 and later. Might be MFCed to 13.0 once armv6 support is finally dropped in 14.0
Sponsored by: Stormshield Reviewed by: mw Obtained from: Semihalf Differential revision: https://reviews.freebsd.org/D33719
show more ...
|
| #
254e4e5b
|
| 28-Dec-2021 |
John Baldwin <jhb@FreeBSD.org> |
Simplify swi for bus_dma.
When a DMA request using bounce pages completes, a swi is triggered to schedule pending DMA requests using the just-freed bounce pages. For a long time this bus_dma swi ha
Simplify swi for bus_dma.
When a DMA request using bounce pages completes, a swi is triggered to schedule pending DMA requests using the just-freed bounce pages. For a long time this bus_dma swi has been tied to a "virtual memory" swi (swi_vm). However, all of the swi_vm implementations are the same and consist of checking a flag (busdma_swi_pending) which is always true and if set calling busdma_swi. I suspect this dates back to the pre-SMPng days and that the intention was for swi_vm to serve as a mux. However, in the current scheme there's no need for the mux.
Instead, remove swi_vm and vm_ih. Each bus_dma implementation that uses bounce pages is responsible for creating its own swi (busdma_ih) which it now schedules directly. This swi invokes busdma_swi directly removing the need for busdma_swi_pending.
One consequence is that the swi now works on RISC-V which had previously failed to invoke busdma_swi from swi_vm.
Reviewed by: imp, kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D33447
show more ...
|
| #
b88b2751
|
| 28-Nov-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Remove now unused armv4 and not-INTRNG files.
|
| #
8b3bc70a
|
| 08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
| #
80475f95
|
| 07-Oct-2019 |
Andriy Gapon <avg@FreeBSD.org> |
align use of cp15_pmccntr_get with its availability
According to ian, the only armv6 cpu we support is the 1176, so this change is effectively a no-op. The change is just to make the code more self-
align use of cp15_pmccntr_get with its availability
According to ian, the only armv6 cpu we support is the 1176, so this change is effectively a no-op. The change is just to make the code more self-consistent. The issue was noticed by a standalone module build for armv6.
Reviewed by: ian MFC after: 3 weeks
show more ...
|
| #
c06e7b66
|
| 07-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340126 through r340212.
|
| #
4cbbb748
|
| 05-Nov-2018 |
John Baldwin <jhb@FreeBSD.org> |
Add a KPI for the delay while spinning on a spin lock.
Replace a call to DELAY(1) with a new cpu_lock_delay() KPI. Currently cpu_lock_delay() is defined to DELAY(1) on all platforms. However, plat
Add a KPI for the delay while spinning on a spin lock.
Replace a call to DELAY(1) with a new cpu_lock_delay() KPI. Currently cpu_lock_delay() is defined to DELAY(1) on all platforms. However, platforms with a DELAY() implementation that uses spin locks should implement a custom cpu_lock_delay() doesn't use locks.
Reviewed by: kib MFC after: 3 days
show more ...
|
| #
b033e368
|
| 03-Dec-2025 |
Warner Losh <imp@FreeBSD.org> |
armv7: Tweak some armv6 removals
Fixes: 42421307b115 (sys: remove armv6/6.1 support from debug monitor) Suggested by: jhb Sponsored by: Netflix
|
| #
d29771a7
|
| 12-Jul-2024 |
Andrew Turner <andrew@FreeBSD.org> |
arm: Assume __ARM_ARCH == 7
The only supported 32-bit Arm architecture is Armv7. Remove old checks for earlier architecture revisions.
Sponsored by: Arm Ltd Differential Revision: https://reviews.f
arm: Assume __ARM_ARCH == 7
The only supported 32-bit Arm architecture is Armv7. Remove old checks for earlier architecture revisions.
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45957
show more ...
|
| #
6abad5b6
|
| 10-Jun-2024 |
Andrew Turner <andrew@FreeBSD.org> |
Remove the arm FIQ support
It isn't used, and only masks/unmasks FIQs on the local CPU so will be broken on SMP.
Reviewed by: mmel Differential Revision: https://reviews.freebsd.org/D33804
|
| #
67d39872
|
| 24-Jul-2023 |
Andrew Turner <andrew@FreeBSD.org> |
arm: Move contents of cpu-v6.h into cpu.h
Previously we had an armv4/v5 and armv6/v7 copy of the cpu.h header. As we have removed armv4/v5 support we can now merge the armv6/v7 code into cpu.h
Revi
arm: Move contents of cpu-v6.h into cpu.h
Previously we had an armv4/v5 and armv6/v7 copy of the cpu.h header. As we have removed armv4/v5 support we can now merge the armv6/v7 code into cpu.h
Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D41137
show more ...
|
| #
25bcd81b
|
| 14-Mar-2022 |
Wojciech Macek <wma@FreeBSD.org> |
armv6/legacy: optimize cpu_getcount performance
Use nanotime instread of binuptime. This change is for old and legacy platforms and does not impact any armv7 and later. Might be MFCed to 13.0 once a
armv6/legacy: optimize cpu_getcount performance
Use nanotime instread of binuptime. This change is for old and legacy platforms and does not impact any armv7 and later. Might be MFCed to 13.0 once armv6 support is finally dropped in 14.0
Sponsored by: Stormshield Reviewed by: mw Obtained from: Semihalf Differential revision: https://reviews.freebsd.org/D33719
show more ...
|
| #
254e4e5b
|
| 28-Dec-2021 |
John Baldwin <jhb@FreeBSD.org> |
Simplify swi for bus_dma.
When a DMA request using bounce pages completes, a swi is triggered to schedule pending DMA requests using the just-freed bounce pages. For a long time this bus_dma swi ha
Simplify swi for bus_dma.
When a DMA request using bounce pages completes, a swi is triggered to schedule pending DMA requests using the just-freed bounce pages. For a long time this bus_dma swi has been tied to a "virtual memory" swi (swi_vm). However, all of the swi_vm implementations are the same and consist of checking a flag (busdma_swi_pending) which is always true and if set calling busdma_swi. I suspect this dates back to the pre-SMPng days and that the intention was for swi_vm to serve as a mux. However, in the current scheme there's no need for the mux.
Instead, remove swi_vm and vm_ih. Each bus_dma implementation that uses bounce pages is responsible for creating its own swi (busdma_ih) which it now schedules directly. This swi invokes busdma_swi directly removing the need for busdma_swi_pending.
One consequence is that the swi now works on RISC-V which had previously failed to invoke busdma_swi from swi_vm.
Reviewed by: imp, kib Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D33447
show more ...
|
| #
b88b2751
|
| 28-Nov-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Remove now unused armv4 and not-INTRNG files.
|
| #
8b3bc70a
|
| 08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
| #
80475f95
|
| 07-Oct-2019 |
Andriy Gapon <avg@FreeBSD.org> |
align use of cp15_pmccntr_get with its availability
According to ian, the only armv6 cpu we support is the 1176, so this change is effectively a no-op. The change is just to make the code more self-
align use of cp15_pmccntr_get with its availability
According to ian, the only armv6 cpu we support is the 1176, so this change is effectively a no-op. The change is just to make the code more self-consistent. The issue was noticed by a standalone module build for armv6.
Reviewed by: ian MFC after: 3 weeks
show more ...
|
| #
c06e7b66
|
| 07-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340126 through r340212.
|
| #
4cbbb748
|
| 05-Nov-2018 |
John Baldwin <jhb@FreeBSD.org> |
Add a KPI for the delay while spinning on a spin lock.
Replace a call to DELAY(1) with a new cpu_lock_delay() KPI. Currently cpu_lock_delay() is defined to DELAY(1) on all platforms. However, plat
Add a KPI for the delay while spinning on a spin lock.
Replace a call to DELAY(1) with a new cpu_lock_delay() KPI. Currently cpu_lock_delay() is defined to DELAY(1) on all platforms. However, platforms with a DELAY() implementation that uses spin locks should implement a custom cpu_lock_delay() doesn't use locks.
Reviewed by: kib MFC after: 3 days
show more ...
|
| #
a66dc0c5
|
| 25-May-2016 |
Ian Lepore <ian@FreeBSD.org> |
Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't have ACLE support built in. The ACLE (ARM C Language Extensions) defines a set of standardized symbols which indicate the arch
Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't have ACLE support built in. The ACLE (ARM C Language Extensions) defines a set of standardized symbols which indicate the architecture version and features available. ACLE support is built in to modern compilers (both clang and gcc), but absent from gcc prior to 4.4.
ARM (the company) provides the acle-compat.h header file to define the right symbols for older versions of gcc. Basically, acle-compat.h does for arm about the same thing cdefs.h does for freebsd: defines standardized macros that work no matter which compiler you use. If ARM hadn't provided this file we would have ended up with a big #ifdef __arm__ section in cdefs.h with our own compatibility shims.
Remove #include <machine/acle-compat.h> from the zillion other places (an ever-growing list) that it appears. Since style(9) requires sys/types.h or sys/param.h early in the include list, and both of those lead to including cdefs.h, only a couple special cases still need to include acle-compat.h directly.
Loves it: imp
show more ...
|
| #
bbb51924
|
| 08-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
| #
a49d8b6e
|
| 06-Feb-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r294961 through r295350.
|