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

Re: [PATCH 0/7] xen/arm: Emulate ID registers


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Mon, 30 Nov 2020 10:20:45 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.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=r49K6sJHi7SUcDVDS7ZRT+jJIk+0vIWsHW3Bm479OYE=; b=I8/yMLCiyXNVI6iRa9lC4Hmzr4xlTZdXFHq9G/5+sAdb21P5Psmd88GdUI0vfm3EQWCEISvSarVbkqoSelp2UurUEHxt/gRumEYC5GIwxcyJtSoxJlS2E51IBTAOz1ELt4nOXexfshmVAKzl+Y0kwRF9h3+sRdoPzn+9WQfynvuXFF8Hm9ttV3kMmlyyU7zYLqfAhQnP9J5KMGIKoE2TjHa3QOnTTl+97oHgl30bEoZIbpMAjCvjkGCJqbwSXQVP0cQFnovbcS2dAw4FOhorme2nYsY9/kUHA5V9V5rSPLjkHR5BFsdgJhBXmPJoUOryByTGokjouQNccxHTrwZB4A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IOtycQn+JjNMvmnE7ka3Ht2HNinr7zVzARpdRHMmF0x0DlXD+Q3RoJPGwlN9ywYQGGop1bo9+kGmXkNu+jTgFHFsjrAegrNu70O56S3rLEnfcAvnP9nKbO5hMgKSpBuycU641fNDo9EU+ooRkMRdrubYmo7ZOl6EKIFP3sqSqhTot4cfobltuTBdw68oIGYuQK5OlHH6EQqmNlvBP8LR3sKkXG8muI9hLYjsOyPFMt6Mna+TyPHFOJyaQE88HnyLV7uPC8xUCa2I7tbw6Vf4XrtgLOsOtOl43KzVsX9sECJpofV+HfjfRNgiCmUrkiOd/D3u/kOAtln2/VJtrpkrLw==
  • Authentication-results-original: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=arm.com;
  • Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Mon, 30 Nov 2020 10:21:11 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHWxPkEic+Kxyhsf02jxIedQiFc2qngevuA
  • Thread-topic: [PATCH 0/7] xen/arm: Emulate ID registers

Hi Andrew,

> On 27 Nov 2020, at 20:07, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
> 
> On 26/11/2020 15:51, Bertrand Marquis wrote:
>> The goal of this serie is to emulate coprocessor ID registers so that
>> Xen only publish to guest features that are supported by Xen and can
>> actually be used by guests.
>> One practical example where this is required are SVE support which is
>> forbidden by Xen as it is not supported, but if Linux is compiled with
>> it, it will crash on boot. An other one is AMU which is also forbidden
>> by Xen but one Linux compiled with it would crash if the platform
>> supports it.
>> 
>> To be able to emulate the coprocessor registers defining what features
>> are supported by the hardware, the TID3 bit of HCR must be disabled and
>> Xen must emulated the values of those registers when an exception is
>> catched when a guest is accessing it.
>> 
>> This serie is first creating a guest cpuinfo structure which will
>> contain the values that we want to publish to the guests and then
>> provides the proper emulationg for those registers when Xen is getting
>> an exception due to an access to any of those registers.
>> 
>> This is a first simple implementation to solve the problem and the way
>> to define the values that we provide to guests and which features are
>> disabled will be in a future patchset enhance so that we could decide
>> per guest what can be used or not and depending on this deduce the bits
>> to activate in HCR and the values that we must publish on ID registers.
>> 
>> Bertrand Marquis (7):
>>  xen/arm: Add ID registers and complete cpufinfo
>>  xen/arm: Add arm64 ID registers definitions
>>  xen/arm: create a cpuinfo structure for guest
>>  xen/arm: Add handler for ID registers on arm64
>>  xen/arm: Add handler for cp15 ID registers
>>  xen/arm: Add CP10 exception support to handle VMFR
>>  xen/arm: Activate TID3 in HCR_EL2
> 
> CI found an ARM randconfig failure against this series.
> 
> https://gitlab.com/xen-project/patchew/xen/-/pipelines/221798884
> 
> I have admit that I can't spot an obvious connection so it might be
> collateral damage from elsewhere, but does need looking at irrespective.

This absolutely right, there is a bug in my code and i will send a V2 to fix it.

Very nice finding, i am wondering why my tests did not point this out.

Regards
Bertrand

> 
> ~Andrew (in lieu of a real CI robot).




 


Rackspace

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