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

Re: [PATCH 2/3] x86/svm: Enumeration for CET


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Tue, 27 Apr 2021 18:47:22 +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=nkG2IVGWhESiBgy59AutGh86vukv+s9IkC45h/sU0NU=; b=G0ncjQnUbNzEUOXEn4v3EhCFNKDkpjhGU7pxQL/qic64IEpH9flJxPE3YLrmXb/8hBITfheZyzNXuF5/b2W0u4zYEV+A9pMdqMenUHIPW/EFxhpUIFlnN0kqSlBEG/Jt6sfeKZJkor5uyjLwgqbSJzAxpJS0ULm2yfb+AfrMe1IjpSZTWotA+YrXDymyNQCB9EVvMCxy8wSZoCmbYjNG8PQ4sqs5RFnftoD3aZuvThanVeFu3u3AGNWzSxgkvQcXOsIBLijYP+y+bPt81YWEQmKfdzrQwI7wsCVDhgb811mq+YfK9KdYwIGI/Webhg9I11VZqNI3D9J6d0MVDLQO2w==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JcfA5dalPDn+Di/pcsI5BkCQIVzqwoYaJxN0EO5HJlzatd6wMXuuG4n1XwquaO06aKX1okYbLhlw69jANz6VH8jnxQp8AYazHO1vNQIt2g6k/SYoxGemOiQ2VODtdVP7n6c6dVmurA3srDLNViujO8OR0ulIvFy+ROL27hCGkBX03q9e+b3NiiMFe0q0Qk5ffSoRia8niXXlUWjvv5ona0k2M1z7ORqkDmSeHFqjg/Rh7f2X1+Slcv0aEZl+2KVl0NQgfNON3UIYYeacERzaxwz4rQYR90S2plJtcGLmLus51B1sXrsLM7lgn6HBQOHiwEyrstb1FcUyOXMJTycuZg==
  • Authentication-results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 27 Apr 2021 17:47:37 +0000
  • Ironport-hdrordr: A9a23:XwddWawYPc54YaS2DdbMKrPxmeskLtp033Aq2lEZdDV8Sebdv9 yynfgdyB//gCsQXnZlotybJKycWxrnhOdIyKErF/OHUBP9sGWlaLtj44zr3iH6F0TFh4hg/I 9aWexFBNX0ZGIK6vrSyBWkEtom3dmM+L2pg+Cb9Ht2UQR2cchbnn1EIyycFVB7QxQDOIEwE4 CS6tECiz2rf3kWacrTPAhyY8HoodrXmJX6JSMXHhJP0nj4sRqE4KP3eiLoqys2fChIxd4ZgB v4uijYwonmjP2h0B/b0AbonuRrsf/s0MFKCsDJquV9EESSti+SaI5sW6KPsVkOyYnFhzhK8K i10modFv9+4X/QYW255SHV9GDboU0TwkTv1EOChj/bqdH5LQhXN+N6mYlbfhHFgnBQyO1U7a Qj5RPqi7NnSTvdgSX6/NjUR1VDkUKwsWAji4co4kB3YM81TJd86aAZ409RFo4NdRiKoLwPIa 1BCIX56OxNeV2XK0rFtnRiqebcPUgbL1OpRE4Nv8DQ6TxKhTRCyVcCzsB3pAZkyLsND71/w+ zFN+BQj7FJVc8KfctGdZY8aPryM3fMRwnNLXL6GyWYKIg3f0nAoZL2/7k5jdvaGu1t8LIC3K nMVU9D8UYvZkPjBKS1tuw2zjn9BFa8WT/3woVw4YNmsqbwSLeDC1zLdGwT
  • Ironport-sdr: eQWpx9yKZs+oAEUfvha+3vAKYGADwl22yZgUZ+aTZREtuvqWUJ4RXFdWY5oqIhQ/Ak3SxQOm20 w+d9lfWznHhGnCBlw4H6zRocwu7aHSEX9vqZVP5nYTxhkodcPAww1lDls12Lh6Y9n/Wf/4qfSn rZz9qR26FIjjeAxKt4l36Xpc/OAGmoPobxyGgbB2I68CbCN5W1g06vdO2BiTaO8XHT76NvEhG6 tq+Ey0ulNKQXEdvVbElUCqR3ZVET0gHpiL7tj8PsxdZJl2OJ1uIYfIriPLm5SRxnOedpZ2PGgn bJI=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 27/04/2021 16:53, Jan Beulich wrote:
> On 26.04.2021 19:54, Andrew Cooper wrote:
>> On CET-capable hardware, VMRUN/EXIT unconditionally swaps S_SET, SSP and
> Nit: S_CET?

Ah yes.

>
>> ISST (subject to cleanbits) without further settings.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Acked-by: Jan Beulich <jbeulich@xxxxxxxx>

Thanks.

> with one question:
>
>> @@ -497,7 +501,9 @@ struct vmcb_struct {
>>      u64 rip;
>>      u64 res14[11];
>>      u64 rsp;
>> -    u64 res15[3];
>> +    u64 _msr_s_cet;             /* offset 0x400 + 0x1E0 - cleanbit 12 */
>> +    u64 _ssp;                   /* offset 0x400 + 0x1E8   | */
>> +    u64 _msr_isst;              /* offset 0x400 + 0x1F0   v */
>>      u64 rax;
>>      u64 star;
>>      u64 lstar;
> Any reason for the leading underscores, when none of the neighboring
> fields have such?

Yes - they're covered by a cleanbit, and for better or worse, this is
our style.

> Did you perhaps mean to add VMCB_ACCESSORS()
> instances for them?

TBH, I opencoded the cleanbit handling because I thoroughly hate that
entire infrastructure.

I ought to add lines, but I'm still very tempted to rip it all up and
implement something which is less obfuscating.

~Andrew




 


Rackspace

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