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

Re: [XEN PATCH v2 5/5] xen/arm: ffa: support notification


  • To: Jens Wiklander <jens.wiklander@xxxxxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Wed, 24 Apr 2024 06:53:13 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
  • 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=2; 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=busXdq8d8KV/Yc0JReB5EjRj9EKJWpdU8Z/D+7EtEDc=; b=ChqupjQau7P8QfEeP0PjgvbnFmbEzJzDMjxBlm1QcD8W4IW8PkoVTCO7Jhptu4gBk/z1DvvnA48l3m806OsZ4IMxGAxYPNpGLh/CxIBgiF3wcppt3S8Yi95T7gPwCY+BDIwxPfkHWBXw/6L6KRRByXrawc5OA5cfi7XIE39vRDRpQ2lQaxXRjBLgkjLocqU818E4/r00CzeaTc7ho0Z+nwC20gZo+FHDhHZ5gb1jK4RVo5zklUfudttdnELn2x58hLGknIcTnTYRbwQXBYRZsA/HQpdfNlzHgTpssZLlGc6U5zTcobc64bEM0IgwF7lmi2tdr8xurOKbS5KR9j2IKQ==
  • 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=busXdq8d8KV/Yc0JReB5EjRj9EKJWpdU8Z/D+7EtEDc=; b=YZ7oA6pj7VxTKlJMCVk8kpzgfgBbD0X3dOWH2H9yHjFL2m/dOMty+05rskFTwArplXUDNitd7w4X9dXGAVyLOy1EEp9eiCXITmc3liFnvkRLQaldT8ibFlXBDYcq/i9IRbzXrK4sw94YEPfaqmelJ1me5+OYc9XQErpdtECIUqRfO9q5SVYnM+e/X7AqBXxe84tSrBLHUbFfLkrM0gZD3vql/037YsDaecbWUKERTRUpxH/Tbm4+dGpCPyz16vwt+FFSIZjriYJQyHOCIi06sRY6p0HhutIEfwKpmXHP3EK3gvUT2GtrL3iYAK5UQFmcf681Ulp4gEznoHOu4Ka9pg==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=ADrwTqmmi0mnSQ0RHWQ6rGI8WYXe6R55ARLhtDPI/+1tkFGp1OwC3YcCoUrFblByTYcMw2WE1abdvX52buRROK6PozFykPOlmdorhwPZmBL0x8EOOl/RFiCPaMisM2UE4hGB7laRL+Es/MtXuCN9hotww+pDJbLgJDIw90knlsAzwAUh5PBLOUDf4VRCH44tr5nPdmo7lj5ebIRZF+P1PPtTpL3ZXMo1SJJ8BrLjKFKlCU1qaMZhwdrj8FROiZfFz8p5IHmwW5QlwVvORPTDwnluSPP0Lu7gA40cuc4ThFpLkc9vMP7K06hXxGSgiQOqMttD9K9s/mH1AefpItEvjw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E5GprrQX4ScppzV3T5MrEZvWDE5QwStuqm/IX4tKaxG/7cHvx46tVLPEq199phziXPjZak9s0ORkePfJv7VXPr0HT7R/gNDLiN2PIe1e+R8iHSttoVj17rn0dfj1/SZZ1wp0ZajGUpF0nRiAQMJkbox7W2ndiZGfTxHCCITQNUXRxF9JYG1K7yujByFLTyYV7/VgbqiajJfa30sKfyrWLnLNIlzYchGuz+nSe/GoCScioZukd5fCPcHbJz5THv6+LpS47+rpTcNzQSwUImiQxqGWoziy71Bb3BEU6gES+yGFZqar8Y04PbTnhTIi1UTGUZaqNnqVBSnCyIDC/GyZAg==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: Julien Grall <julien@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "patches@xxxxxxxxxx" <patches@xxxxxxxxxx>, Volodymyr Babchuk <volodymyr_babchuk@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>
  • Delivery-date: Wed, 24 Apr 2024 06:53:36 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHalIgAe9tsdsjGFU69yRnUHUkm77F0KqiAgAHRoQCAAQLAAA==
  • Thread-topic: [XEN PATCH v2 5/5] xen/arm: ffa: support notification

Hi Jens,

> On 23 Apr 2024, at 17:26, Jens Wiklander <jens.wiklander@xxxxxxxxxx> wrote:
> 
> Hi Julien,
> 
> On Mon, Apr 22, 2024 at 1:40 PM Julien Grall <julien@xxxxxxx> wrote:
>> 
>> Hi Jens,
>> 
>> This is not a full review of the code. I will let Bertrand doing it.
>> 
>> On 22/04/2024 08:37, Jens Wiklander wrote:
>>> +void ffa_notif_init(void)
>>> +{
>>> +    const struct arm_smccc_1_2_regs arg = {
>>> +        .a0 = FFA_FEATURES,
>>> +        .a1 = FFA_FEATURE_SCHEDULE_RECV_INTR,
>>> +    };
>>> +    struct arm_smccc_1_2_regs resp;
>>> +    unsigned int irq;
>>> +    int ret;
>>> +
>>> +    arm_smccc_1_2_smc(&arg, &resp);
>>> +    if ( resp.a0 != FFA_SUCCESS_32 )
>>> +        return;
>>> +
>>> +    irq = resp.a2;
>>> +    if ( irq >= NR_GIC_SGI )
>>> +        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
>>> +    ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
>> 
>> If I am not mistaken, ffa_notif_init() is only called once on the boot
>> CPU. However, request_irq() needs to be called on every CPU so the
>> callback is registered every where and the interrupt enabled.
>> 
>> I know the name of the function is rather confusing. So can you confirm
>> this is what you expected?
> 
> Good catch, no this wasn't what I expected. I'll need to change this.
> 
>> 
>> [...]
>> 
>>> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
>>> index 98236cbf14a3..ef8ffd4526bd 100644
>>> --- a/xen/arch/arm/tee/ffa_private.h
>>> +++ b/xen/arch/arm/tee/ffa_private.h
>>> @@ -25,6 +25,7 @@
>>>  #define FFA_RET_DENIED                  -6
>>>  #define FFA_RET_RETRY                   -7
>>>  #define FFA_RET_ABORTED                 -8
>>> +#define FFA_RET_NO_DATA                 -9
>>> 
>>>  /* FFA_VERSION helpers */
>>>  #define FFA_VERSION_MAJOR_SHIFT         16U
>>> @@ -97,6 +98,18 @@
>>>   */
>>>  #define FFA_MAX_SHM_COUNT               32
>>> 
>>> +/*
>>> + * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
>>> + * unused, but that may change.
>> 
>> Are the value below intended for the guests? If so, can they be moved in
>> public/arch-arm.h along with the others guest interrupts?
> 
> Yes, I'll move it.
> 
>> 
>>> + *
>>> + * SGI is the preferred delivery mechanism. SGIs 8-15 are normally not used
>>> + * by a guest as they in a non-virtualized system typically are assigned to
>>> + * the secure world. Here we're free to use SGI 8-15 since they are virtual
>>> + * and have nothing to do with the secure world.
>> 
>> Do you have a pointer to the specification?
> 
> There's one at the top of arch/arm/tee/ffa.c,
> https://developer.arm.com/documentation/den0077/e
> Do you want the link close to the defines when I've moved them to
> public/arch-arm.h?
> Or is it perhaps better to give a link to "Arm Base System
> Architecture v1.0C", https://developer.arm.com/documentation/den0094/
> instead?

I would say we need the link to Arm Base System Architecture in arch-arm.

Regards
Bertrand

> 
> Thanks,
> Jens



 


Rackspace

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