HomeFreeBSD

xen: introduce XEN_CPUID_TO_VCPUID()/XEN_VCPUID()

Description

xen: introduce XEN_CPUID_TO_VCPUID()/XEN_VCPUID()

Part of the series for allowing FreeBSD/ARM to run on Xen. On ARM the
function is a trivial pass-through, other architectures need distinct
implementations.

While implementing XEN_VCPUID() as a call to XEN_CPUID_TO_VCPUID()
works, that involves multiple accesses to the PCPU region. As such make
this a distinct macro. Only callers in machine independent code have
been switched.

Add a wrapper for the x86 PIC interface to use matching the old
prototype.

Partially inspired by the work of Julien Grall <julien@xen.org>,
2015-08-01 09:45:06, but XEN_VCPUID() was redone by Elliott Mitchell on
2022-06-13 12:51:57.

Reviewed by: royger
Submitted by: Elliott Mitchell <ehem+freebsd@m5p.com>
Original implementation: Julien Grall <julien@xen.org>, 2014-04-19 08:57:40
Original implementation: Julien Grall <julien@xen.org>, 2014-04-19 14:32:01
Differential Revision: https://reviews.freebsd.org/D29404

Details

Provenance
julien_xen.orgAuthored on Apr 19 2014, 3:57 PM
roygerCommitted on Apr 14 2023, 1:58 PM
Reviewer
royger
Differential Revision
D29404: xen: introduce XEN_CPUID_TO_VCPUID()
Parents
rG054073c2831c: xen/intr: xen_intr_bind_isrc() always set handle
Branches
Unknown
Tags
Unknown