[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/4] xl: Add support for ignore_msrs option


  • To: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Thu, 18 Feb 2021 11:42:18 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tadfgq7x1Rhc5P1xiKE+Bs5UFp8iNQGJW6YmQvc1qxY=; b=Zef+NyeMfQPiLqMI6PXI2WUV7XGxPwZu2poDw7HQQ3Y/5qKAnqXWzOw4AQIVibK71cJS7a4unx912X+Y65CMFipLCeOsj2/AB7WUd0AUuBf54gDmmv0fTrBRr8P/Rwrv/BlbDTxnVH2E5IeC6LqbdqW46UZsdKO42Tdbb0zicSVDAdSUopjr8zNr06VC8HENM8xNTrnsLkS1tmqgrna5TKi0rtGkFdF/+Su7wof7aj1rzK8lS8bX6b/t6oC7lKhHiU2r3hflVDxlX4VobFjlFXCHWIajP5r17KSIWqj/ttpKsU9EIMSYgm6okv890XOp76pSv5sZg8z5zC1THw9eAA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IZQJHM6XRmcF6pJCAC/yJ7t87JzTmThXk1Q2BQodXSGNqFNZxDjhNWOgKY86LTvc1w2ttHL+l4DfnYAdCGGndxcltgEPeoaOIZ5JQj/es+2SMCLQNSSnhilACmapqlAUme6WfFlmI+yvLkjHKFV369uKtt0f1P7v9nA+TnYsZISatW2lX84YgMJ7LWAvfV+jEy/f5NLzE9UAioB0yMnSvBJhYRSoJX0SDAIe/MNoKe0hMdQsSNDCCy51KyRpdCJ+0TH9IyH3qDfgqZJH3Am9ldMn5SAib8pb5zoYg9VoDPZoHOHTgBYTOf7wQvACt5H327NpOMKIHOp30+axgqGtNg==
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: <xen-devel@xxxxxxxxxxxxxxxxxxxx>, <iwj@xxxxxxxxxxxxxx>, <wl@xxxxxxx>, <anthony.perard@xxxxxxxxxx>, <jbeulich@xxxxxxxx>, <andrew.cooper3@xxxxxxxxxx>, <jun.nakajima@xxxxxxxxx>, <kevin.tian@xxxxxxxxx>
  • Delivery-date: Thu, 18 Feb 2021 10:42:35 +0000
  • Ironport-sdr: 6wHRPfzgqt+zK8B9IwL02u7Uo3BxnG8WTIQRS8DwQnRYlxPLwvK1TE3BujlL+cUBxAeTxOWrHg vaCHp47I6KwHED3AXgH+aNLnEDae1qUOccSfqoI+EPqVK/TUkNhDe17rPICWnvrGYimQjqLOpU /6sveDOrgRdUlxCYAVsCcaUjkFVPdZA0WNzta4Yeh1PyR8zAT5AjkCSeW3lYdbavcKyweCGBZv pUg8GutSmplr0JjsnIGafTfHRIhACNeG8g593O3S3WIoyFgkvXLcXMntmAb5raV2STHg+OKkyI 7dA=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Wed, Jan 20, 2021 at 05:49:09PM -0500, Boris Ostrovsky wrote:
> This option allows guest administrator specify what should happen when
> guest accesses an MSR which is not explicitly emulated by the hypervisor.
> 
> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
> ---
>  docs/man/xl.cfg.5.pod.in         | 20 +++++++++++++++++++-
>  tools/libs/light/libxl_types.idl |  7 +++++++
>  tools/xl/xl_parse.c              |  7 +++++++
>  3 files changed, 33 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index c8e017f950de..96ce97c42cab 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -2044,7 +2044,25 @@ Do not provide a VM generation ID.
>  See also "Virtual Machine Generation ID" by Microsoft:
>  
> L<https://docs.microsoft.com/en-us/windows/win32/hyperv_v2/virtual-machine-generation-identifier>
>  
> -=back 
> +=over
> +
> +=item B<ignore_msrs="STRING">
> +
> +Determine hypervisor behavior on accesses to MSRs that are not emulated by 
> the hypervisor.
> +
> +=over 4
> +
> +=item B<never>
> +
> +Issue a warning to the log and #GP to the guest. This is default.
> +
> +=item B<silent>
> +
> +MSR reads return 0, MSR writes are ignored. No warnings to the log.
> +
> +=item B<verbose>
> +
> +Similar to B<silent> but a warning is written.

Would it make sense to allow for this option to be more fine-grained
in the future?

Not that you need to implement the full thing now, but maybe we could
have something like:

"
=item B<ignore_msrs=[ "MSR_RANGE, "MSR_RANGE", ..]>

Specify a list of MSR ranges that will be ignored by the hypervisor:
reads will return zeros and writes will be discarded without raising a
#GP.

Each MSR_RANGE is given in hexadecimal format and may be a range, e.g.
c00102f0-c00102f1 (inclusive), or a single MSR, e.g. c00102f1.
"

Then you can print the messages in the hypervisor using a guest log
level and modify it on demand in order to get more verbose output?

I don't think selecting whether the messages are printed or not from
xl is that helpful as the same could be achieved using guest_loglvl.

Also I think it will be fine to only implement:

ignore_msrs=[ "0-ffffffff" ]

Right now and return an error for any other combination, so that we
can get something in soon and expand it later.

Thanks, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.