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

Re: [PATCH 8/9] xen/arm: Allow the user to build Xen with USBAN


  • To: Julien Grall <julien@xxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Michal Orzel <michal.orzel@xxxxxxx>
  • Date: Thu, 29 Jun 2023 09:31:33 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UxlBVyNEIaSzcOVq8vhIRM8864iDx5ELsLbz9ZJoHCU=; b=YW0ToHpzfkhxnW01k3CpFNkNw8kUAzJYY/t6sDPtu2YUQGaybpyfkhnToeo2GtwtGAL3QeUX4lEUbepjSoeF0tWx8ZJdbBbPQJdozHuRuRm12cdztYY9AXBgfliZ/fQpHqD8Z57y/qMcHeAJori3ixsiCi37eMxFLvrejtw2uUydCBNsWCvAvKYzyRaBAT5hogbFjCjvTRkAQL2swgsq/N5N+IEmHTExW618DD1ks5yDwYiB8OZXXFF4En+gedUEGZh/siSIUZXiwqw0aOtOA4RIdfLlLoeLkWp2ccqEs0LBAAUD4d/uY7+8ObmtyIGtEMklDrY6Isn9rM2yoO/V/A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TzTw1RU8rf0KIW9oMhBDosFGU6XP7LnIptZr4DunWrVNhwoOyOSVoc3xD9x5iaPKHUX7OaOQg0FTz7hKQliEFuNGUVSBui2frzP8RBMSkTHCHqE6vO/MUDYVk7WzZIFBqgk3W3NrPf5stru8RGnxHu5zsiQsn0tW/X7OhtcktMfPAgdXfdLw+npSVlMEjatlecdRS4L5DGfykLhU5I5yoROyTZr/pvEP7LYV64kgdr8A/jp+rbcYmNhYKzJfW93MCXqYgQSmJpohM8reTfUbQmmPw4mIrQOR/X+a6P9YI5IyZGQv6upbx37Tv0N2pqSapaChv0S0jqqWVSdcS2J4mQ==
  • Cc: <Luca.Fancellu@xxxxxxx>, <Henry.Wang@xxxxxxx>, Julien Grall <jgrall@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "Bertrand Marquis" <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Thu, 29 Jun 2023 07:31:54 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>


On 28/06/2023 22:39, Julien Grall wrote:
> 
> 
> On 27/06/2023 09:09, Michal Orzel wrote:
>> Hi Julien,
>>
>> On 26/06/2023 14:56, Julien Grall wrote:
>>>
>>>
>>> Hi,
>>>
>>> On 26/06/2023 12:56, Michal Orzel wrote:
>>>>
>>>>
>>>> On 25/06/2023 22:49, Julien Grall wrote:
>>>>>
>>>>>
>>>>> From: Julien Grall <jgrall@xxxxxxxxxx>
>>>>>
>>>>> UBSAN has been enabled a few years ago on x86 but was never
>>>>> enabled on Arm because the final binary is bigger than 2MB (
>>>>> the maximum we can currently handled).
>>>>>
>>>>> With the recent rework, it is now possible to grow Xen over 2MB.
>>>>> So there is no more roadblock to enable Xen other than increasing
>>>>> the reserved area.
>>>>>
>>>>> On my setup, for arm32, the final binaray was very close to 4MB.
>>>>> Furthermore, one may want to enable USBAN and GCOV which would put
>>>>> the binary well-over 4MB (both features require for some space).
>>>>> Therefore, increase the size to 8MB which should us some margin.
>>>>>
>>>>> Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx>
>>>>>
>>>>> ----
>>>>>
>>>>> The drawback with this approach is that we are adding 6 new
>>>>> page-table (3 for boot and 3 for runtime) that are statically
>>>>> allocated. So the final Xen binary will be 24KB bigger when
>>>>> neither UBSAN nor GCOV.
>>>>>
>>>>> If this is not considered acceptable, then we could make the
>>>>> size of configurable in the Kconfig and decide it based on the
>>>>> features enabled.
>>>> Both of these features are enabled only in a debug build of Xen, so
>>>> another option would be to increase Xen size only for a debug build.
>>>
>>> At least UBSAN can be selected without DEBUG. For that you need to add
>>> EXPERT.
>>>
>>> Anyway, from your comment, it is not clear to me whether you dislike the
>>> existing approach (and why) or you are OK with the increase.
>> Sorry, I was traveling and did not have time to complete review.
>> I cannot see why increasing the size would be problematic so it is ok. That 
>> said, it could be
>> a good idea to write some comment above XEN_VIRT_SIZE, that this value is 
>> somewhat exaggerated,
>> so that we are on the safe side at the time of activating features like 
>> UBSAN/GCOV.
> 
> Sure. I will add a comment in this patch. For ...
> 
>>
>> Also, it would be nice to update comments in head.S of both arm32 and arm64 
>> above
>> GLOBAL(start) that were left stating:
>> "All of text+data+bss must fit in 2MB, or the initial pagetable code below 
>> will need adjustment."
> 
> ... this one, I am thinking to drop the comments in patch #5. They don't
> make sense anymore as we can now in theory deal with Xen up to the size
> of a L2 mapping (1GB for 4KB).
Seems right.

~Michal



 


Rackspace

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