HomeFreeBSD

xen/intr: move x86 PIC interface to xen_arch_intr.c, introduce wrappers

Description

xen/intr: move x86 PIC interface to xen_arch_intr.c, introduce wrappers

The x86 PIC interface is very much x86-specific and not used by other
architectures. Since most of xen_intr.c can be shared with other
architectures, the PIC interface needs to be broken off.

Introduce wrappers for calls into the architecture-dependent interrupt
layer. All architectures need roughly the same functionality, but the
interface is slightly different between architectures. Due to the
wrappers being so thin, all of them are implemented as inline in
arch-intr.h.

The original implementation was done by Julien Grall in 2015, but this
has required major updating.

Removal of PVHv1 meant substantial portions disappeared. The original
implementation took care of moving interrupt allocation to
xen_arch_intr.c, but this has required massive rework and was broken
off.

In the original implementation the wrappers were normal functions. Some
had empty stubs in xen_intr.c and were removed.

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

Details

Provenance
julien_xen.orgAuthored on Oct 20 2015, 4:14 PM
roygerCommitted on Apr 14 2023, 1:58 PM
Reviewer
royger
Differential Revision
D30909: xen/intr: introduce xen_arch_intr.c
Parents
rG373301019f16: xen/intr: remove type argument from xen_intr_alloc_isrc()
Branches
Unknown
Tags
Unknown