Page MenuHomeFreeBSD

xen/arm64: add aarch64 hypercall interface
Needs ReviewPublic

Authored by ehem_freebsd_m5p.com on Jul 2 2021, 5:38 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 12, 11:20 PM
Unknown Object (File)
Mon, Nov 11, 4:10 AM
Unknown Object (File)
Sun, Nov 10, 10:17 PM
Unknown Object (File)
Fri, Nov 8, 9:01 PM
Unknown Object (File)
Fri, Nov 8, 1:19 PM
Unknown Object (File)
Fri, Nov 8, 12:49 PM
Unknown Object (File)
Fri, Nov 8, 12:46 PM
Unknown Object (File)
Fri, Nov 8, 11:03 AM

Details

Summary

These are the low-level interface for Xen on ARM64. Not all of the
interface is included since we don't use all portions of Xen's API.

This was broken off of a "xen/arm64: add xen platform" commit. The
original commit was on the large side, and the hypercall code seemed
distinct from other portions.

A few small adjustments were needed from the original implementation in

Submitted by: Elliott Mitchell <ehem+freebsd@m5p.com>
Original implementation: Julien Grall <julien@xen.org>, 2014-01-13 17:40:58

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 42509
Build 39397: arc lint + arc unit

Event Timeline

I had been expecting to manually flag this, but I see it has been setup to preemptively alert people.

That license does need checking. My reading is this falls under "when distributed separately from the Linux kernel or incorporated into other software packages, subject to the following license:"

This matches the license for sys/{amd64|i386}/include/xen/hypercall.h, so I believe this is acceptable.

Any news from the core team? I can well imagine license reviews taking a while, but since this matches existing files I would expect that to greatly simplify things.

The Phabricator interface seems to suggest it is possible to remove the Core Team blocking review, but I suspect that is a no-no in cases like this. Due to this could @emaste or @imp give the Core Team okay? Appears the license was approved elsewhere and this isn't GPL (it is a permissive if separated from the Linux kernel).

I suspect @mhorne will be the final reviewer since this is for ARM64.

kevans added a subscriber: kevans.

Was there a GPL reference in here before, or what did Herald flag on? Let's see...

sys/arm64/xen/hypercall.S
15

This looks like MIT; we probably want an SPDX tag at the top of this file? I reckon:

SPDX-License-Identifier: MITOR GPL-2.0

sys/arm64/xen/hypercall.S
2

GPL-2.0 is deprecated and should not be used

SPDX-License-Identifier: MIT OR GPL-2.0-only

is the correct way to flag this.

Huh, I was so focused on interactions with @royger I missed that I've done rather substantial changes to what was D30996.

After a bunch of experimentation I finally figured got GCC's inline BSDM^Wassembly working. With this it becomes possible to mostly reuse the x86 "hypercall.h" on other architectures, which seems a rather superior approach.

I'm including the adjustments to the other headers to make the ARM64 header work. Those may get reviewed via e-mail by @royger, but someone else is certainly going to need to approve the ARM64 hypercall.h header.