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

Re: [PATCH 04/10] arm/mpu: Implement virt/maddr conversion in MPU system


  • To: "Orzel, Michal" <michal.orzel@xxxxxxx>
  • From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
  • Date: Thu, 13 Mar 2025 09:04:15 +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=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=0IgjZWoCZnEqqL014+mdpXLizAP71/z55Ej1J/F+rvM=; b=lSndjbDMb2xhOIy6qusF+78pOfJHu8G43K0xIMBAwkNCAVYwhhy1QfLM3yaiPCiLlVZKF7XcTwxRTWGppdBDQ31dG3WxEbfB790Yvx0QCrWvdgM7lUtOavEVKVXte3PoAcIKAETO0DI3jKn7JIFnRQVMrnCIhLBrZBznpezNaDo+Lgd1pPr+cxZD3erhHIZb1Q7klPyYJ1EonjWid05EzjTozQQyv5N/cXNH9EpHPZ3vmuTA3w1ZXfBFDTPjgt6KgRIFoGf99OffWGNFQQmfLq5SzJ4Za4CYeQkA+tiOEaL4KW6+xU0Qfg34RHqGAz1wulSlTj6OA1XoZiZhfwWgFA==
  • 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=0IgjZWoCZnEqqL014+mdpXLizAP71/z55Ej1J/F+rvM=; b=ookppOg6QpHxVI6hrBRRhFMNOzQkMqKEz/OiFPRrkJIgwwSZ7efMoMTILJdEHfqMo1aquBQu9q5l8+a7G/jU6d8K1T5flaSOc5spzkZQeED3cV8tuTqeWtrSKUTRpau+1WfzBDYK8e4gTWOYFlqcPYQXr6rx+FSwvROIMblrL9IAbhzcC7vIxawKj9T09b2/qeDUoGtoh02Sp9HOg+UD5GtPUvgYnAMBFIprcGBeN8IcxwTc2cfeBA2+yamNc0Oug39FQf/rcZcifIUi+u/VDlMBXHOaMtp+la5c2oQ2AfNJxDmdg0liuW2K20BP8tFxBAL+BBxyWutARSJTjtXR0g==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=bHo3e9ppI5Kk355eE5S6tFVDlX+m9JVgHK7lIXAnw8zr6gHzI1QmQb7BpI9mvfrLIa7gl1NqfthB+Xf9rflVk7Dclli76N7Y3gLBp+qQvPQs87uLxyLBBnk9K8d3rP70udnz0l41QR9yO0EfrYTWfbIZmCWpWK446M4aji7v61vig9ZzIldAlMAmoWIg1KqOMSY/EEg2eUheCGdiNEGcnylBwnxLxXoddmHh/gE9moiPE7ayQvfh09y0CQmbUsGoYrKhX91kw2QqG0x3oI9OPOGsrlLHKCkwGwBya+6Jb3IOYX7yr6AiFOsWtT/6AJxr94w0IdM/MPdyEyJdxqyPOA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ALIukiTdN1b4O13ghCJp1JdwgGrnwLtI4ZFPAH17HeqkOGdGAdtSojxTzOCcvmYAAMsAfzI3tYTOq+gKafr4SOBRJLe2xx+4yg7161Qsb+JyOBy6nSboHqGaGyVuKQFrogoI5ok4PbgIIHrzH5jGoWvdIuDVQfNSOYjcCxw8Wg4VRo2zziEvMHUfQjAnfHuM1lDMJFYKEbq6YxtjkJPa5tS24HeidQ95ng1mv3bZ10yxoWCOws0ukAYWU89HphN/1sA7j7KeTNW/a6Mf5tQaAi89vP6hPvVqRVDqs+wazEx24FeMlsHbqBdOqJTZklEd0yP4b2sxFZELdOFQNLIzxA==
  • 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>, Penny Zheng <Penny.Zheng@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Wei Chen <Wei.Chen@xxxxxxx>
  • Delivery-date: Thu, 13 Mar 2025 09:04:39 +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: AQHbk1YjhSQHkM+61ES2Vr9M1l81tLNwwpUAgAAEWIA=
  • Thread-topic: [PATCH 04/10] arm/mpu: Implement virt/maddr conversion in MPU system

Hi Michal,

thanks for your review,

>> diff --git a/xen/arch/arm/include/asm/mpu/mm.h 
>> b/xen/arch/arm/include/asm/mpu/mm.h
>> new file mode 100644
>> index 000000000000..57f1e558fd44
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/mpu/mm.h
>> @@ -0,0 +1,27 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +
>> +#ifndef __ARM_MPU_MM__
> Missing _H? Should be: __ARM_MPU_MM_H__
> 
>> +#define __ARM_MPU_MM__
>> +
>> +#include <xen/macros.h>
> I guess you also need xen/types.h
> 
>> +
>> +#define virt_to_maddr(va) ({  \
>> +    (paddr_t)va;              \
>> +})
> Why multiline? Also, shouldn't we take PA bits into account?
> I'd imagine:
> ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
> 
>> +
>> +/* On MPU systems there is no translation, ma == va. */
>> +static inline void *maddr_to_virt(paddr_t ma)
>> +{
>> +    return _p(ma);
> Why do we need to cast paddr_t to unsigned long before casting to void?
> Why not:
> return (void *)(ma);

So it was pointed out on a previous review that it’s ok to use _p() instead of 
doing straight the cast:
https://patchwork.kernel.org/project/xen-devel/patch/20230626033443.2943270-29-Penny.Zheng@xxxxxxx/#25404105

please let me know your thought about it.

> 
>> +}
>> +
>> +#endif /* __ARM_MPU_MM__ */
> __ARM_MPU_MM_H__
> 

I’ll fix all the other points you mentioned.

Cheers,
Luca


 


Rackspace

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