History log of /src/sys/arm/include/cpu.h (Results 1 – 25 of 165)
Revision Date Author Comments
# 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.


1234567