History log of /src/sys/arm/include/intr.h (Results 1 – 25 of 330)
Revision Date Author Comments
# 487788a6 09-Aug-2024 Elliott Mitchell <ehem+freebsd@m5p.com>

intrng: fix INTR_ROOT_* constants

Switch to INTR_ROOT_COUNT as this name better describes its purpose.

Remove the default INTR_ROOT_IRQ from the core. Define it (redundantly)
in each architecture'

intrng: fix INTR_ROOT_* constants

Switch to INTR_ROOT_COUNT as this name better describes its purpose.

Remove the default INTR_ROOT_IRQ from the core. Define it (redundantly)
in each architecture's header, but now placed alongside its sibling
values (if defined by the platform, e.g. arm64 INTR_ROOT_FIQ).

Reviewed by: mhorne
Pull Request: https://github.com/freebsd/freebsd-src/pull/1280

show more ...


# 7b16a4a7 06-Dec-2024 Warner Losh <imp@FreeBSD.org>

sys/intr.h: Make it safe to include from assembler

Sometimes we need defines from this file in assembler code. Today we do
the heavyweight approach of using genassym for that. However, they are
just

sys/intr.h: Make it safe to include from assembler

Sometimes we need defines from this file in assembler code. Today we do
the heavyweight approach of using genassym for that. However, they are
just #defines, so in the future we want to include sys/intr.h to pick up
the needed constants in exception.S.

PR: 283041
Sponsored by: Netflix
Reviewed by: mmel, andrew
Differential Revision: https://reviews.freebsd.org/D47846

show more ...


# 4b01a7fa 25-Oct-2024 Kyle Evans <kevans@FreeBSD.org>

Revert "intrng: change multi-interrupt root support type to enum"

This reverts commit 536c8d948e8563141356fd41fb8bfe65be289385. The
change seemed fine on the surface, but converting to an enum has

Revert "intrng: change multi-interrupt root support type to enum"

This reverts commit 536c8d948e8563141356fd41fb8bfe65be289385. The
change seemed fine on the surface, but converting to an enum has raised
some concerns due to the asm <-> C interface. Back it out and let
someone else deal with it later if they'd like to.

Further context about the concerns can be found in D47279.

show more ...


# 4f12b529 24-Oct-2024 Kyle Evans <kevans@FreeBSD.org>

sys/intr.h: formally depend on machine/intr.h

sys/intr.h originally started life as an extract of arm's intr.h, and
this include was dropped in its place. Changes in flight want to add
some MD defi

sys/intr.h: formally depend on machine/intr.h

sys/intr.h originally started life as an extract of arm's intr.h, and
this include was dropped in its place. Changes in flight want to add
some MD definitions that we'll use in the more MI parts of INTRNG.

Let's formally reverse the dependency now since this is way more
common in general. All of the includes switched in this change that I
spot-checked were in-fact wanting declarations historically included in
sys/intr.h anyways.

Reviewed by: andrew, imp, jrtc27, mhorne, mmel, olce
Differential Revision: https://reviews.freebsd.org/D47002

show more ...


# 536c8d94 24-Oct-2024 Elliott Mitchell <ehem+freebsd@m5p.com>

intrng: change multi-interrupt root support type to enum

uint32_t is handy for directly interfacing with assembly-language. For
the C portion, enum is much handier. In particular there is no need

intrng: change multi-interrupt root support type to enum

uint32_t is handy for directly interfacing with assembly-language. For
the C portion, enum is much handier. In particular there is no need to
count the number of roots by hand. This also works better for being
able to build kernels with varying numbers of roots.

Switch to INTR_ROOT_COUNT as this better matches the purpose of the
value. Switch to root_type, rather than rootnum for similar reasons.

Remove the default from the core. Better to require the architectures
to declare the type since they will routinely deviate and a default
chosen now will likely be suboptimal.

Leave intr_irq_handler() taking a register type as that better matches
for interfacing with assembly-language.

show more ...


# fae8755f 24-Jan-2024 Jessica Clarke <jrtc27@FreeBSD.org>

intrng: Extract arm/arm64 IPI->PIC glue code

The arm and arm64 implementations of dispatching IPIs via PIC_IPI_SEND
are almost identical, and entirely MI with the lone exception of a
single store ba

intrng: Extract arm/arm64 IPI->PIC glue code

The arm and arm64 implementations of dispatching IPIs via PIC_IPI_SEND
are almost identical, and entirely MI with the lone exception of a
single store barrier on arm64 (that is likely either redundant or needed
on arm too). Thus, de-duplicate this code by moving it to INTRNG as a
generic IPI glue framework. The ipi_* functions remain declared in MD
smp.h headers and implemented in MD code, but are trivial wrappers
around intr_ipi_send that could be made MI, at least for INTRNG ports,
at a later date.

Note that, whilst both arm and arm64 had an ii_send member in intr_ipi
to abstract over how to send interrupts,, they were always ultimately
using PIC_IPI_SEND, and so this complexity has been removed. A follow-up
commit will re-introduce the same flexibility by instead allowing a
device other than the root PIC to be registered as the IPI sender.

As part of this, strengthen a MAXCPU assertion that was missed in commit
2f0b059eeafc ("intrng: switch from MAXCPU to mp_ncpus") (which itself is
mis-titled).

Reviewed by: mmel, mhorne
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D35898

show more ...


# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# d7e3b05b 14-Dec-2022 Elliott Mitchell <ehem+freebsd@m5p.com>

arm: remove passing trapframe to intr_ipi_dispatch()

This was needed before INTRNG was in place and handling the push of
curthread->td_intr_frame. Since INTRNG now handles this, there is no
longer

arm: remove passing trapframe to intr_ipi_dispatch()

This was needed before INTRNG was in place and handling the push of
curthread->td_intr_frame. Since INTRNG now handles this, there is no
longer and need for playing around with the frame inside IPI interrupts.

show more ...


# 5c2967f6 29-Nov-2020 Michal Meloun <mmel@FreeBSD.org>

Remove the pre-ARMv6 and pre-INTRNG code.
ARM has required ARMV6+ and INTRNg for some time now, so remove
always false #ifdefs and unconditionally do always true #ifdefs.


# 3611ec60 18-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r337646 through r338014.


# 487788a6 09-Aug-2024 Elliott Mitchell <ehem+freebsd@m5p.com>

intrng: fix INTR_ROOT_* constants

Switch to INTR_ROOT_COUNT as this name better describes its purpose.

Remove the default INTR_ROOT_IRQ from the core. Define it (redundantly)
in each architecture'

intrng: fix INTR_ROOT_* constants

Switch to INTR_ROOT_COUNT as this name better describes its purpose.

Remove the default INTR_ROOT_IRQ from the core. Define it (redundantly)
in each architecture's header, but now placed alongside its sibling
values (if defined by the platform, e.g. arm64 INTR_ROOT_FIQ).

Reviewed by: mhorne
Pull Request: https://github.com/freebsd/freebsd-src/pull/1280

show more ...


# 7b16a4a7 06-Dec-2024 Warner Losh <imp@FreeBSD.org>

sys/intr.h: Make it safe to include from assembler

Sometimes we need defines from this file in assembler code. Today we do
the heavyweight approach of using genassym for that. However, they are
just

sys/intr.h: Make it safe to include from assembler

Sometimes we need defines from this file in assembler code. Today we do
the heavyweight approach of using genassym for that. However, they are
just #defines, so in the future we want to include sys/intr.h to pick up
the needed constants in exception.S.

PR: 283041
Sponsored by: Netflix
Reviewed by: mmel, andrew
Differential Revision: https://reviews.freebsd.org/D47846

show more ...


# 4b01a7fa 25-Oct-2024 Kyle Evans <kevans@FreeBSD.org>

Revert "intrng: change multi-interrupt root support type to enum"

This reverts commit 536c8d948e8563141356fd41fb8bfe65be289385. The
change seemed fine on the surface, but converting to an enum has

Revert "intrng: change multi-interrupt root support type to enum"

This reverts commit 536c8d948e8563141356fd41fb8bfe65be289385. The
change seemed fine on the surface, but converting to an enum has raised
some concerns due to the asm <-> C interface. Back it out and let
someone else deal with it later if they'd like to.

Further context about the concerns can be found in D47279.

show more ...


# 4f12b529 24-Oct-2024 Kyle Evans <kevans@FreeBSD.org>

sys/intr.h: formally depend on machine/intr.h

sys/intr.h originally started life as an extract of arm's intr.h, and
this include was dropped in its place. Changes in flight want to add
some MD defi

sys/intr.h: formally depend on machine/intr.h

sys/intr.h originally started life as an extract of arm's intr.h, and
this include was dropped in its place. Changes in flight want to add
some MD definitions that we'll use in the more MI parts of INTRNG.

Let's formally reverse the dependency now since this is way more
common in general. All of the includes switched in this change that I
spot-checked were in-fact wanting declarations historically included in
sys/intr.h anyways.

Reviewed by: andrew, imp, jrtc27, mhorne, mmel, olce
Differential Revision: https://reviews.freebsd.org/D47002

show more ...


# 536c8d94 24-Oct-2024 Elliott Mitchell <ehem+freebsd@m5p.com>

intrng: change multi-interrupt root support type to enum

uint32_t is handy for directly interfacing with assembly-language. For
the C portion, enum is much handier. In particular there is no need

intrng: change multi-interrupt root support type to enum

uint32_t is handy for directly interfacing with assembly-language. For
the C portion, enum is much handier. In particular there is no need to
count the number of roots by hand. This also works better for being
able to build kernels with varying numbers of roots.

Switch to INTR_ROOT_COUNT as this better matches the purpose of the
value. Switch to root_type, rather than rootnum for similar reasons.

Remove the default from the core. Better to require the architectures
to declare the type since they will routinely deviate and a default
chosen now will likely be suboptimal.

Leave intr_irq_handler() taking a register type as that better matches
for interfacing with assembly-language.

show more ...


# fae8755f 24-Jan-2024 Jessica Clarke <jrtc27@FreeBSD.org>

intrng: Extract arm/arm64 IPI->PIC glue code

The arm and arm64 implementations of dispatching IPIs via PIC_IPI_SEND
are almost identical, and entirely MI with the lone exception of a
single store ba

intrng: Extract arm/arm64 IPI->PIC glue code

The arm and arm64 implementations of dispatching IPIs via PIC_IPI_SEND
are almost identical, and entirely MI with the lone exception of a
single store barrier on arm64 (that is likely either redundant or needed
on arm too). Thus, de-duplicate this code by moving it to INTRNG as a
generic IPI glue framework. The ipi_* functions remain declared in MD
smp.h headers and implemented in MD code, but are trivial wrappers
around intr_ipi_send that could be made MI, at least for INTRNG ports,
at a later date.

Note that, whilst both arm and arm64 had an ii_send member in intr_ipi
to abstract over how to send interrupts,, they were always ultimately
using PIC_IPI_SEND, and so this complexity has been removed. A follow-up
commit will re-introduce the same flexibility by instead allowing a
device other than the root PIC to be registered as the IPI sender.

As part of this, strengthen a MAXCPU assertion that was missed in commit
2f0b059eeafc ("intrng: switch from MAXCPU to mp_ncpus") (which itself is
mis-titled).

Reviewed by: mmel, mhorne
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D35898

show more ...


# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# d7e3b05b 14-Dec-2022 Elliott Mitchell <ehem+freebsd@m5p.com>

arm: remove passing trapframe to intr_ipi_dispatch()

This was needed before INTRNG was in place and handling the push of
curthread->td_intr_frame. Since INTRNG now handles this, there is no
longer

arm: remove passing trapframe to intr_ipi_dispatch()

This was needed before INTRNG was in place and handling the push of
curthread->td_intr_frame. Since INTRNG now handles this, there is no
longer and need for playing around with the frame inside IPI interrupts.

show more ...


# 5c2967f6 29-Nov-2020 Michal Meloun <mmel@FreeBSD.org>

Remove the pre-ARMv6 and pre-INTRNG code.
ARM has required ARMV6+ and INTRNg for some time now, so remove
always false #ifdefs and unconditionally do always true #ifdefs.


# 3611ec60 18-Aug-2018 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r337646 through r338014.


# 795272d8 15-Aug-2018 Andrew Turner <andrew@FreeBSD.org>

Remove checks for now unsupported CPU_* values in arm headers.

Sponsored by: DARPA, AFRL


# c81b12e0 27-Jul-2018 Warner Losh <imp@FreeBSD.org>

Revert r336773: it removed too much.

r336773 removed all things xscale. However, some things xscale are
really armv5. Revert that entirely. A more modest removal will follow.

Noticed by: andrew@


# 626930c2 27-Jul-2018 Warner Losh <imp@FreeBSD.org>

Remove xscale support

The OLD XSCALE stuff hasn't been useful in a while. The original
committer (cognet@) was the only one that had boards for it. He's
blessed this removal. Newer XSCALE (GUMSTIX)

Remove xscale support

The OLD XSCALE stuff hasn't been useful in a while. The original
committer (cognet@) was the only one that had boards for it. He's
blessed this removal. Newer XSCALE (GUMSTIX) is for hardware that's
quite old. After discussion on arm@, it was clear there was no support
for keeping it.

Differential Review: https://reviews.freebsd.org/D16313

show more ...


# ff945277 17-Jul-2018 Warner Losh <imp@FreeBSD.org>

Remove kernel support for armeb

Remove all the big-endian arm architectures (ixp425 and ixp435)
support in the kernel and associated drivers.

Differential Revision: https://reviews.freebsd.org/D16

Remove kernel support for armeb

Remove all the big-endian arm architectures (ixp425 and ixp435)
support in the kernel and associated drivers.

Differential Revision: https://reviews.freebsd.org/D16257

show more ...


# 244af1d4 03-Apr-2018 Marcin Wojtas <mw@FreeBSD.org>

Enable ArmadaXP using INTRNG interrupt controller

Defining INTRNG remove some necessary registers and declarations of
pic_init_secondary, pic_ipi_send, pic_ipi_read and pic_ipi_clear.
Because Marvel

Enable ArmadaXP using INTRNG interrupt controller

Defining INTRNG remove some necessary registers and declarations of
pic_init_secondary, pic_ipi_send, pic_ipi_read and pic_ipi_clear.
Because Marvell ArmadaXP and Armada38X always use INTRNG, include all
INTRNG code and remove code that does not use it.
Separate pic registers declarations for Armada38X are unnecessary, it
works properly with ArmadaXP config.

Submitted by: Rafal Kozik <rk@semihalf.com>
Reviewed by: andrew
Obtained from: Semihalf
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D14734

show more ...


12345678910>>...14