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

Re: [PATCH 15/21] libs/guest: obtain a compatible cpu policy from two input ones


  • To: Roger Pau Monne <roger.pau@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Thu, 1 Apr 2021 17:26:03 +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=gmd06rszaos66SwKUdTiuscoqRXiPX4bsyvnbVAgmlA=; b=N+7RHLs8EYm9Gmk5HBC9bPO357Tusl1U1DhQE+aFRjqs7hshpXAMTgRRi9uFJntNFctGq5LoTO4RrUWcR/Q/c0HKzGHRr2+rfKuYtz8kHvlya9hDuPhoRvdASTQQlMcynlV1sWknpnyVF3umEMSR9Xa7CmV2mOyC4GEfLfTZZPPduHsISDKNoa/FZPYEYNlnMKR1DR691QJ8vtpng0zENERBgcb6xK4kHU2RGnKfPK1cZHreeSwaaIYFW6yfIA3QNu+5XvtfX8nkB5yZ0XAsUxOL/oSkXsCdPwdJABEu3+6Ri6f7k4lVH6eIXfR5dOuTuyBTY3dMRIiPxIv3hnXCeg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NmR8a8zhWxHJ0XXCL6gN5fIyHVyxa9DHR6UNOtAnK/zhv+jg5uuAdct4Zrzkmsd3i1x3vxlD5O9YnX6Sb/0zsFBZT2IxjzlbG+iHldD3W7d0Yd5Xk+l9mRixqbXyTkI3hdm0sFJJQ/OkdafYmvl37Nad35UcYxTVuwHlQHugKMdrz0gVxUf3KXJ0YiJoUWKq3R7RLVEdRQk3bEkCdFeCPp1W7VHgIo6pQWalIIlQCDy7F2QXSe5jZhObKTCMZsBnbDN0oOrcMs/yy6NyYqvsRNDBSFNb5oA21Q/YdujGT2eFMYnwnTKGugD/YbA6EvrUEjH6Lp6DM3+MHSgpXq98qw==
  • Authentication-results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Ian Jackson <iwj@xxxxxxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>
  • Delivery-date: Thu, 01 Apr 2021 16:26:30 +0000
  • Ironport-hdrordr: A9a23:DcgKqKPX6EE/pMBcT3Hw55DYdL4zR+YMi2QD/3taDTRIb82VkN 2vlvwH1RnyzA0cQm0khMroAsS9aFvm39pQ7ZMKNbmvGDPntmyhMZ144eLZqQHIMxbVstRQ3a IIScNDIfX7B1RikILe6A63D94vzLC8gdiVrM3ZyGpgShwvTqlm4RtwBArzKDwMeCBtA50lGJ 2Aovddrz27dngNKui9DH8JX+/Mzue73q7OSxgAGhIh9U2ynSqlgYSKWCSw8zU/d3d0wbkk+X XYiACR3Mmemtyy1xO07R620714g93ko+EjOOWtjYwvJizomkKUYu1aKsS/lRQUhM3q11owit nLpH4bTolOwlfcZHu8rxeo+ySI6kdI11bYxVWVgWTurKXCLVpUZfZpvo5XfgDU7EAtprhHoc R29liEvJlaBw6oplWf2/H0VgpnnkfxgX0unf97tQ07baIiaaRcpYFawUVNEJ1oJlOZ1KkbFo BVbP301bJzSxe3fnrZtm5gzJiHRXIoBCqLRUAEp4i8zyVWtGoR9TpW+OUv2lM7sL4tQZhN4O rJdo5ykqtVc8MQZaVhQM8cXMqMDHDXSx6kChPdHX3XUIU8f17doZ/+57s4oMuwfoYT8Zc0kJ PdFHRVqHA1YECrLcGVxpVE/lTsTQyGLHXQ4/Abw6I8lqz3RbLtPyHGYkspidGcr/IWBdCeVO 20PJ5QHv//PWrjEYtExGTFKtpvAEhbdPdQlscwWlqIrM6OAJbtrPbnfPHaI6eoETtMYBK8Pl IzGBzIYOlQ5EGiXXH1xDLLXWn2R0D59ZVsVKzT/+0ZzpkRJpRB2zJlzGiR14WuE3lvo6Y2dE xxLPfMiaWgv1S7+m7O8iFuIRpSDkFc5b36SHNUrQoWM0f5GIxz++m3SCR35j+qNxV/R8TZHE p0vFJs45+6KJSW2GQ/Ed69K3mbiHESvXqOSJ8ZlsS4lIPYU6J9KqxjdL16FA3NGRAwpB1jr3 1bbhQYAmXFECn1tKmjhJsIJe3WetVmmj23KcpMpX+3jzTamegfAl8gGx+nS4q+nBsnTTs8vC wKz4YvxJ673QuJBUR6quIiK1FIYHmQG9t9fXm4TbQRvKvqdgF2RXqNnhqAhXgICybX3k0Pm2 3sKjCVc/nXAlxb/mtVyLru7UkcTBTgQ2tgLn99qoFzDmLApzJ61vKKfLO61y+LZkIF2fx1Ck CyXRICZgdvzcuwzhibhXKLEmgn3IwnOoXmfcAeWqCW3nOmM4uTk64aW/dS4ZZ+Ldjr9usGS/ iWdQPQLDT2DYoSqnuoj2dgPCl/s38/l/z0nBXj8WijxXY6RePIP04OfcBpH/iMq2z/A/qY2p Rwitw4+eO2L2Xqc9aDjaXadSRKJB/fqXO/JttY4Kx8rOY3rv9+DpPbWTzH2DVc0BIyINz9mU keTK54iYqxT7NHbogXYWZU71ApnNOAIA83qQTwGPY5ZkxogHnBPd+FioC44YYHEwmEvk/3Nl ae+SEGoKuAUCuHyLIAC6U/ZW5Rc1Mx7Xx+/OWEM43cYT/aBt1r7R6/KDu6drQYVa2OXbMXpR x+68uTn+CWezHjsTqgzwdTM+ZL6SK/Xci2AAiQAuZG/NyxJESUjsKRkbCOpSayTSH+dl8Rio JEf1EBd8hPijEti4sszyi5I5aH0n4Ngh9Z+jFollnkx4ig7iPaBCh9QHLkvqk=
  • Ironport-sdr: Lvmv5ILm1I3SOHhi9i8pbEIFJUjJqrGIAT1jPjGtKUjwr2vmLn8tMVIoPeCF6LSCn/n7A9doc+ XmBwKws5/Km+B4YNgrgrz4HcrwPa1vjfzoD3RdJpqt9KYk7K+WdsMn9dxUQKNyOBc3c+Bv1RxT C57SZInRTRS5y1TDm+jR2nSJneF+0IgJGnWPjzTRz+ODKEjNS2bIWXE9GlSeQDZiF9uoacssTk fp4GY90bsqK9xXUBHSFhazn/AbtXKtS2F6nq96woFCk7sVo7GQabbWb7xlh1FrVmQ/vucJanei wZE=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 23/03/2021 09:58, Roger Pau Monne wrote:
> Introduce a helper to obtain a compatible cpu policy based on two
> input cpu policies. Currently this is done by and'ing all CPUID leaves
> and MSR entries, except for MSR_ARCH_CAPABILITIES which has the RSBA
> bit or'ed.
>
> The _AC macro is pulled from libxl_internal.h into xen-tools/libs.h
> since it's required in order to use the msr-index.h header.
>
> Note there's no need to place this helper in libx86, since the
> calculation of a compatible policy shouldn't be done from the
> hypervisor.
>
> No callers of the interface introduced.
>
> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>

I think this wants to be in libx86, because we'll want it to replace the
opencoded derivation logic in init_cpuid()

Also, we absolutely want to unit test it.  (I could have sworn I already
started some work there - maybe its hidden in one of my WIP branches).

~Andrew




 


Rackspace

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