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

Re: [PATCH] x86/svm: Provide EXITINFO decodes for IO intercetps


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Thu, 16 Mar 2023 10:27:43 +0000
  • 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7113glDWdr6sAOnYyC70GQuWWDmvSeVudgsaC0z5U+4=; b=lxlG7P0Gwiwwp5mi3no4tHRc7poYeIS2MfT6t3evoKm0XF2XsDaZKl2IyTmwIZsfE6Y1rqBjGPa9teNPiefjdu8Dnt4jz1x+dwp6LsJxY7oZxuc52tX41PvfO+B/m0Y+/oRPRajLLrk2ZaVcgctoAgqayZuRg4R3f7YM9VhWf4VygmTuyJxCMHiE3bzxtLGg7Jlzo72pFvXb0l4yTLx8ZpJ7IcimEdEVS9vrSSWrU2fMiq/aNi+Kna050E+IDflN0Q5/hCgUanZ0tWvVjBSCis8Z6BfcNQ+MCY5fPFKENY3mt4jTEqo+KHbbYAvunqEf7yZqA0u8ALKLy3PLa4B9yA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z4I7juWh3UGPjmeghMwJqWVTqXN3KdenKp2z0nJkHg0RQhqYA4+pwxooEoBvHPyRN1V5EMcxpHzOosw7xXDNXZmMDWDdwiE5K7zosJtHW8F+RBkGftmirNV3Z5OTomZj+BYJesepDLgM5aVrpgexhlxCBtkPxEJVVrIwNGwqXHsUiLNrXd2z34i77OFnrM3gkspGut5vP7snWTEshiXo3zu/gHhEJKWZHHnpyjqJgjTYZp6x+KWPM4Mc/bK9LrAeh6lWV5DysqIGAjDblVHgU6Yoh7qyx35DfAtkFUN8DxPB2sPO3BYbyx9Eg6Dls8uUeJs3JareMan+/i9m+w9Ehg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 16 Mar 2023 10:28:27 +0000
  • Ironport-data: A9a23:46h1R6vu2UbNoCZNNCm4y0kqfufnVHtfMUV32f8akzHdYApBsoF/q tZmKT+BbvyDMTTxfopwao+2oxlQupGEzdZkHAc5ryo0QngW+JbJXdiXEBz9bniYRiHhoOCLz O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASHySFLZH4iDfrZw0XQE9E88tGSH 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG fMweClcQDOoq8WMmquxa8gvr5UIAMLqI9ZK0p1g5Wmx4fcOZ7nmGv+PyfoGmTA6i4ZJAOrUY NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgf60boq9lt+iHK25mm6xo G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgr6Yy2QzCmgT/DjU3RHmh5uadmHSgcNhxB kckowEl/Y0boRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LRQ62 1nMk973CDhHtLyOVWnb5rqStSm1OyUeMSkFfyBscOcey9zqoYV2gheRSN9mSfSxloesR2G2x C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBNzxooWp1 JTcp/Wj0Q==
  • Ironport-hdrordr: A9a23:nVaOHq4m/uw+4X2ffQPXwdWCI+orL9Y04lQ7vn2ZFiY5TiXIra qTdaogviMc6Ax/ZJjvo6H4BEDyewK6yXcT2/htAV7CZnidhILMFu1fBOTZsl7d8kHFh4tgPO JbAtND4b7LfCZHZKTBgDVQeuxIqLfnzEnrv5an854Ed3AUV0gK1XYcNu/0KDwReOALP+taKH LKjfA32wZINE5nJvhSQRI+Lpr+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd8gYCXyhJybIC93 GAtwDi/K2sv9yy1xeZjgbonthrseqk7uEGKN2Hi8ATJDmpogG0ZL55U7nHkCEprPqp4FMKls CJhxs7Jcx8517YY2nwixrw3AvL1ioo9hbZuBKlqEqmhfa8aCMxCsJHi44cWhzF63A4tNU59K 5QxWqWu7deEBuFxU3GlpL1fiAvsnDxjWspkOYVgXAaeYwCaIVJpYha2E9OCp8PEA/z9YhiOu hzC8P34upQbDqhHjvkl1gq5ObpcmU4Hx+ATERHksuJ0wJOlHQ89EcczNx3pAZ2yLsND71/o8 jUOKVhk79DCuUMa7hmOesHScyrTkTQXBPlKgupUBTaPZBCH0iIh4/84b0z6u3vUocP1oEOlJ PIV04dnXIuenjpFdaF0PRwg1HwqV2GLHbQI/xllt1EUuWWfsuuDcTDciFhryKYmYRdPiWBMM zDf66/AJfYXB/T8MhyrkvDsqJpWAojuf0uy6cGsm2107L2w63Rx5rmmaXoVfPQOAdhfF/DKV 0+exW2DPl8zymQKwrFaV7qKjzQRnA=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 16/03/2023 10:19 am, Jan Beulich wrote:
> On 15.03.2023 23:10, Andrew Cooper wrote:
>> This removes raw number manipulation, and makes the logic easier to follow.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

Thanks.

Although looking through the emails on list, apparently the vmx side of
this got missed.

They're both to simplify the current monitor patch.

>
> But I have a question:
>
>> --- a/xen/arch/x86/include/asm/hvm/svm/vmcb.h
>> +++ b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
>> @@ -436,6 +436,20 @@ struct vmcb_struct {
>>              uint64_t exitinfo2; /* offset 0x80 */
>>          };
>>          union {
>> +            struct {
>> +                bool     in:1;
>> +                bool     :1;
>> +                bool     str:1;
>> +                bool     /* rep */:1;
>> +                uint16_t bytes:3;
>> +                uint16_t /* asz */:3;
>> +                uint16_t /* seg */:3;
> Is there a particular reason you comment out some of the field names? I
> can see that "asz" might be a little odd to use, but both "rep" and "seg"
> are imo fine to have a name even if currently there's nothing accessing
> these fields.

There's not currently used, and in particular asz looks hard to use as
it doesn't appear to translate nicely.  Also, I don't that seg matches
Xen's x86_segment_* encoding.

I can uncomment them if you'd prefer, but I thought this was marginally
safer.  I suppose it doesn't really matter.

As for asz, I previously had osz to match before renaming to bytes. 
Suggestions welcome.

~Andrew



 


Rackspace

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