[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
|