Re: [PATCH v6 13/21] gunyah: vm_mgr: Introduce basic VM Manager

From: Elliot Berman
Date: Thu Nov 03 2022 - 20:11:48 EST




On 11/2/2022 5:24 PM, Greg Kroah-Hartman wrote:
On Wed, Nov 02, 2022 at 11:45:12AM -0700, Elliot Berman wrote:
+Michael

On 11/1/2022 10:14 PM, Greg Kroah-Hartman wrote:
On Wed, Oct 26, 2022 at 11:58:38AM -0700, Elliot Berman wrote:
+#define GH_CREATE_VM _IO(GH_IOCTL_TYPE, 0x40) /* Returns a Gunyah VM fd */

Why 0x40? Why not just use the same KVM ioctl numbers and names as you
are doing the same thing as them, right?

We've designed so that there are a few ioctls that will feel similar to KVM
ioctls since we know this design has been successful, but we don't intend to
support KVM ioctls 1:1. Gunyah has different semantics for many of the
name-identical ioctls. It seems odd to mix some re-used KVM ioctls with
novel Gunyah ioctls?

Even if you don't support it 1:1, at least for the ones that are the
same thing, pick the same numbers as that's a nicer thing to do, right?


Does same thing == interpretation of arguments is the same? For
instance, GH_CREATE_VM and KVM_CREATE_VM interpret the arguments
differently. Same for KVM_SET_USERSPACE_MEMORY. The high level functionality should be similar for most all hypervisors since they will all support creating a VM and probably sharing memory with that VM. The arguments for that will necessarily look similar, but they will probably be subtly different because the hypervisors support different features.

I don't think userspace that supports both KVM and Gunyah will benefit much from re-using the same numbers since those re-used ioctl calls still need to sit within the context of a Gunyah VM.

Thanks,
Elliot