Re: [PATCH v4 2/9] virt: geniezone: Add GenieZone hypervisor support

From: Yi-De Wu (吳一德)
Date: Fri Jul 21 2023 - 04:46:45 EST


On Fri, 2023-06-09 at 17:22 +0200, Krzysztof Kozlowski wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> On 09/06/2023 10:52, Yi-De Wu wrote:
> > From: "Yingshiuan Pan" <yingshiuan.pan@xxxxxxxxxxxx>
> >
> > GenieZone is MediaTek hypervisor solution, and it is running in EL2
> > stand alone as a type-I hypervisor. This patch exports a set of
> ioctl
> > interfaces for userspace VMM (e.g., crosvm) to operate guest VMs
> > lifecycle (creation and destroy) on GenieZone.
>
> ...
>
> > +static int gzvm_drv_probe(void)
> > +{
> > +int ret;
> > +
> > +if (gzvm_arch_probe() != 0) {
> > +pr_err("Not found available conduit\n");
> > +return -ENODEV;
> > +}
> > +
> > +ret = misc_register(&gzvm_dev);
> > +if (ret)
> > +return ret;
> > +gzvm_debug_dev = &gzvm_dev;
> > +
> > +return 0;
> > +}
> > +
> > +static int gzvm_drv_remove(void)
> > +{
> > +destroy_all_vm();
> > +misc_deregister(&gzvm_dev);
> > +return 0;
> > +}
> > +
> > +static int gzvm_dev_init(void)
> > +{
> > +return gzvm_drv_probe();
>
> So for every system and architecture you want to: probe, run some SMC
> and then print error that it is not othe system you wanted.
>
> I don't think this is what we want. You basically pollute all of
> other
> users just to have your hypervisor guest additions...
>
>
> Best regards,
> Krzysztof


hi Krzysztof,

After some back-and-forth discussion[1][2][3][4][5], we'd like to bring
bakc all the attension of related issues in this thread.

We're going to restore the dt solution on our next version, which means
we would maintain a simple dt for discovering the hypervisor node and
probe for the status of the device when needed.

The reasons are listed below for the record.
- Although dt is for hardware, it's difficult to discover a specific
hypervisor without probing on all subsystem and thus pollute all of
other users[4] as a consequence.
- The GenieZone hypervisor could be considered as a vendor model to
assist platform virtualization whose implementation is independent from
Linuxism.

Please let us if there're any other concerns.

Reference

[1]
https://android-review.googlesource.com/c/kernel/common/+/2447547/comment/495502f3_bb52344b/
[2]
https://lore.kernel.org/all/20230428212411.GA292303-robh@xxxxxxxxxx/
[3]
https://lore.kernel.org/all/ec4cae2e6da4a64bc3983ffdde03f51e185d3609.camel@xxxxxxxxxxxx/
[4]
https://lore.kernel.org/lkml/2fe0c7f9-55fc-ae63-3631-8526a0212ccd@xxxxxxxxxx/
[5]
https://lore.kernel.org/all/14c0381be38ea40fcd03104bff32bcaa09b920d3.camel@xxxxxxxxxxxx/


Regards,
>