Re: [PATCH v11 00/26] Drivers for gunyah hypervisor

From: Alex Elder
Date: Fri Mar 31 2023 - 10:24:46 EST


On 3/3/23 7:06 PM, Elliot Berman wrote:
Gunyah is a Type-1 hypervisor independent of any
high-level OS kernel, and runs in a higher CPU privilege level. It does
not depend on any lower-privileged OS kernel/code for its core
functionality. This increases its security and can support a much smaller
trusted computing base than a Type-2 hypervisor.

Gunyah is an open source hypervisor. The source repo is available at
https://github.com/quic/gunyah-hypervisor.

I've done a pretty detailed review again, and got further along
than I did last time. Things are definitely looking better, but
I have found some bugs that need to be addressed.

I also make a lot of comments about grouping certain sets of
definitions into enumerated types. Also I tend to notice when
things aren't done consistently, and I mention that a lot.

There are silly suggestions all over about alignment of
things--these are mainly to make the code look prettier,
though that's a matter of opinion.

I still prefer having lines generally closer to 80 columns
wide, but I've already mentioned that...

I really focused on the code, and not the documentation.
In fact I didn't even pay much attention to your patch
headers either. I did not review the SCM calls yet.

So in summary I have not reviewed patches 1, 2, 16, 17,
and 26. I try to look at everything in my next review,
which I hope will be final (or very close).

-Alex

The diagram below shows the architecture.

::

VM A VM B
+-----+ +-----+ | +-----+ +-----+ +-----+
| | | | | | | | | | |
EL0 | APP | | APP | | | APP | | APP | | APP |
| | | | | | | | | | |
+-----+ +-----+ | +-----+ +-----+ +-----+
---------------------|-------------------------
+--------------+ | +----------------------+
| | | | |
EL1 | Linux Kernel | | |Linux kernel/Other OS | ...
| | | | |
+--------------+ | +----------------------+
--------hvc/smc------|------hvc/smc------------
+----------------------------------------+
| |
EL2 | Gunyah Hypervisor |
| |
+----------------------------------------+

Gunyah provides these following features.


. . .