On Fri, Feb 21, 2025 at 11:56:32AM -0800, Nuno Das Neves wrote:
Running in the root partition is a unique and specialized case that
requires additional code. CONFIG_MSHV_ROOT allows Hyper-V guest kernels
to exclude this code, which is important since significant additional code
specific to the root partition is expected to be added over time.
To do this, change hv_root_partition to be a function which is stubbed out
to return false if CONFIG_MSHV_ROOT=n, and don't compile hv_proc.c at all,
stubbing out those functions with inline versions.
Store the partition type (guest or root) in an enum hv_curr_partition_type,
which can be extended beyond just guest and root partition.
While at it, introduce hv_result_to_errno() to convert Hyper-V status codes
to regular linux errors. This is useful because the caller of a hypercall
helper function (such as those in hv_proc.c) usually can't and doesn't
interpret the Hyper-V status, so it is better to convert it to an error code
and reduce the possibility of misinterpreting it. This also alows the stubbed
versions of the hv_proc.c functions to just return a linux error code.
Signed-off-by: Nuno Das Neves <redacted>
No need to sign this off. :-)
Nuno Das Neves (3):
hyperv: Convert hypercall statuses to linux error codes
hyperv: Change hv_root_partition into a function
hyperv: Add CONFIG_MSHV_ROOT to gate root partition support
Applied to hyperv-next. Thanks.