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

Re: [PATCH v3 1/6] arm/mpu: Find MPU region by range


  • To: "Orzel, Michal" <michal.orzel@xxxxxxx>
  • From: Hari Limaye <Hari.Limaye@xxxxxxx>
  • Date: Tue, 15 Jul 2025 09:48:40 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=amd.com 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=arcselector10001; 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=hy2Hcz7wJzRftQRSPy7SogHVk+lHuzGM3bY2/SNzvWU=; b=IQ4ELKevWhWOCiO4pH/EvkFkVAuTQrW9qMxoJVI178yKHYBfNYWwd/NITXTGOvqGvpPeudPVa7Az70Gop90qdTUV69veGAriT6GP3GEGgxpHHQ7sCNHY34SO1zSX4xthDx2bJx+Yyc7cfCK1Pu3lW/VEdGvipZMCIV1WIDG0tSSRn55cF6GJti5mqq5tGlvAUSnAMqlZ9a16/eeAN8mtKvFSuRoshw8fCPLocjhUzQzOM18m53nZSbCMEkwKTGO9R2IM0VXnlBVt4R2j9d577/on35EtwaMTzwDF/g/GaWy6nOoPVh9IyJ7+Kx+01HCukEqrazgPHkumiUHcyrpYNw==
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=hy2Hcz7wJzRftQRSPy7SogHVk+lHuzGM3bY2/SNzvWU=; b=lNY9wCjjobWaZs6OEgv4o9Mjz8mxen0U2/BxlL51PikrZKOj86E3T0eGgap3hmJPDBc3PDqTHf+Tolhkj7v+kP8ble6C8n3M1pLjjVc7bKzWgS2k+YV7Ph55XCgp37jxOC+VcTdTXlDk1rldpV380SJrLQ0Gt2h8A1ZTfjHfdKrJnW2y9kCUBNVlJr2gXVFoVCi8OKgVaC+BltjwTXodgyFxDmogK45XL+oaU16lEdCIbuPJb7r/Ioo/WNC3rnS67tw0OMi7SwW8fLVG9mLMjhi0vZpTxaQmNe83kzkelnfJRi1W1eUHd6k2ymJcOp22smyx7i0lkdabLMDrqftdiA==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=tmV7bwsWOVWMCkP5oR8nl8lMxX5hROeBbKfLewOTuP5glXhzG8iX4pmOh8/64GU6XQEixmEoHsGpd7N/XnskvUH+QNeQTVlNaYlKJynlnjljT24z/ga6v5Af8B9B6yCe/48zQpQB7p8ndGoN+FOrHQGsSvTna4aFjDXuGFZb1DBsFi1y4iOOFdbQ+iRqqnbHZltsaGhNqTdtBVq0Rh+CQe7uOWo0upBQtvxfP+eh6aUJ0gJuBtpn35CC1hNnj+D+XyIEaTGRWk4xDiJ8eMqg1/2B/Svbag+AXQBv2kDo1OP0yq2EuAbasJ+g0USQ/eF3GilfmHwhxkqJ/CBFf7ByPQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PgO8J56MaAnQHyrDDtdQb/LQV5+jws53T8yPUI6d6OsY+PZTjwlFa3j1EvuE4F0R/LqG6YwyRRjiQyw4r4yCamMjC1qJi9hdu5M+ZMdjARbAcqcyV7mUuLlEcUeRtrtyC1N1dSgPldfBz/t799dHsCybDvuu5//7ZUEDwpzfdr4uS3COPdxuL3iuv8yc1n6Tf0uGV1b/rjfW9GSxPHJY4kmrSwkyDIs0w+X0jeQT1wneOQEJJJDdH0wHGgkmPO5k2RpXAdG67gXVopEGSH5LOYASCEiMGlUURTBy7Chb4XMi31nf3H93vxPz4aGSc8M1RM7adHG72EHJakSztgisFQ==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Luca Fancellu <Luca.Fancellu@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Tue, 15 Jul 2025 09:49:25 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Thread-index: AQHb9V+06nIKaACf9UqCxt0klN23X7Qy3E8AgAACcQCAABG8gA==
  • Thread-topic: [PATCH v3 1/6] arm/mpu: Find MPU region by range

Hi Michal,

> On 15 Jul 2025, at 09:45, Orzel, Michal <michal.orzel@xxxxxxx> wrote:
> 
> 
> 
> On 15/07/2025 10:36, Hari Limaye wrote:
>> Hi Michal,
>> 
>>>> +int mpumap_contains_region(pr_t *table, uint8_t nr_regions, paddr_t base,
>>>> +                           paddr_t limit, uint8_t *index)
>>>> +{
>>>> +    ASSERT(index);
>>>> +    *index = INVALID_REGION_IDX;
>>>> +
>>>> +    /*
>>>> +     * The caller supplies a half-open interval [base, limit), i.e. limit 
>>>> is the
>>>> +     * first byte *after* the region. Require limit strictly greater than 
>>>> base,
>>>> +     * which is necessarily a non-empty region.
>>>> +     */
>>>> +    ASSERT(base < limit);
>>> Well, that does not guarantee a non-empty region.
>>> Consider passing [x, x+1). The assert will pass, even though the region is 
>>> empty.
>>> 
>>> ~Michal
>>> 
>> 
>> Apologies, I may well be missing something here! Please could you suggest a 
>> code snippet to understand your expectation here / what you would prefer the 
>> assert to be?
>> 
>> As I understand it, with a half-open interval [base, limit) as is passed to 
>> this function, the size is  `limit - base` and so the region [x, x+1) will 
>> have size 1. The empty region starting at the same address would be [x, x). 
>> But perhaps I am making the off-by-one error here.
> Hmm, I think I made a mistake here. Region of size 1B would have base == limit
> in registers. All good then.
> 
> ~Michal
> 

Thanks for double checking. I notice you did not add your tag here, I wanted to 
check if you think this patch is reviewed from your perspective?

Many thanks,
Hari


 


Rackspace

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