HomeFreeBSD

xen/intr: introduce dev/xen/bus/intr-internal.h

Description

xen/intr: introduce dev/xen/bus/intr-internal.h

Move the xenisrc structure which needs to be shared between the core Xen
interrupt code and architecture-dependent code into a separate header. A
similar situation exists for the NR_EVENT_CHANNELS constant.

Turn xi_intsrc into a type definition named xi_arch to reflect the new
purpose of being an architectural variable for the interrupt source.

This was originally implemented by Julien Grall, but has been heavily
modified. The core side was renamed "intr-internal.h" and is #include'd
by "arch-intr.h" instead of the other way around. This allows the
architecture to add function definitions which use struct xenisrc.

The original version only moved xi_intsrc into xen_arch_isrc_t. Moving
xi_vector was done by the submitter.

The submitter had also moved xi_activehi and xi_edgetrigger into
xen_arch_isrc_t. Those disappeared with the removal of PVHv1 support.

Copyright note. The current xenisrc structure was introduced at
76acc41fb7c7 by Justin T. Gibbs. Traces remain, but the strength of
Copyright claims from before 2013 seem pretty weak.

Reviewed by: royger
Submitted by: Elliott Mitchell <ehem+freebsd@m5p.com>, 2021-03-17 19:09:01
Original implementation: Julien Grall <julien@xen.org>, 2015-10-20 09:14:56
Differential Revision: https://reviews.freebsd.org/D30648
[royger]

  • Adjust some line lengths
  • Fix comment about NR_EVENT_CHANNELS after movement.
  • Use #include instead of symlinks.

Details

Provenance
julien_xen.orgAuthored on Oct 20 2015, 4:14 PM
roygerCommitted on Apr 14 2023, 1:58 PM
Reviewer
royger
Differential Revision
D30648: xen/intr: move x86 bits into xen_arch_isrc_t structure
Parents
rGaf610cabf1f4: xen/intr: adjust xen_intr_handle_upcall() to match driver filter
Branches
Unknown
Tags
Unknown