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

Re: [PATCH v2 2/2] xen/dom0less: move make_memory_node() to common code


  • To: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
  • From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
  • Date: Fri, 28 Nov 2025 09:06:19 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=gmail.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=IYGvF0x+VBOoOZUwaZ0boKhDynIX3N7WZVxMr6qp7es=; b=qx1fkuTOBZXFFtlP0M9SQbn6codW6qWHlnRU91uSP7g2IDz6j4YTusb9Qob7l/bhHLz/9+2fUSRXHw1OOz6WjaZlt2kFX3puj764p3qCbaEamfHS9iKhLafrhw34CCAWHpo75Q6YSzps1iTWkTT6eqiM+tGFgTfyQ8h7IqGSWRYAFi7Ip7+A3gip4Nl8lmyMjGQRt3gVkrXKOK+FBSY3+NH/tM57wHz9ovQWCLSl8sWXxXcX8seicUl/6bHBTbvcNww9EnI6nusrZ8GEix6gLgaasd//KOwteAkOJVDWZ/x+Mwwlw0Hy1FZxc8VCgfjUfy2OvMZUs4zvzVTfeAoHGg==
  • 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=IYGvF0x+VBOoOZUwaZ0boKhDynIX3N7WZVxMr6qp7es=; b=F/LhUoCNKiLgYYMOhuEq2/S/8c581KFbzPAslhnZoWRGwOA3n7edQgF3ratOzjjHPDfL7PBIL+vlw31rJO4QNeu04hAxSix35YlSW3uIHD0dpZQnjhXNdVf7U5h9VE85eUnkLAeluEIWAd4GtFOEvcukAdlaSIIFM7tWTXT4ht1F9ozoG+Z/HZrLC06susApeUyXiFgNjE4QQ2dM+3RuEvQAt5N1cmozyjUujTe61c0MP2ur0F6dCV7q+Dr8MRzdeTMW3ljQ6DoO5c8xA2vCDmd2oKVo35G6msnUyxvtf/Q8512Bz6edgOk6wkcl0aqQQU0rPGaaNdXqspHbLJQ4bQ==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=w5GBWwdbuvUs/iR0sh3n4yGwYpSzJQHuqrpLJ5/ptjpQA7x0EM4AtGLJmDxNFuxj//WvwI0fxlX0RJsWf9/AwTudyYASC1ppzyy5ddX1mnsHoquOBJ/fx/M3+1REFtci9pvj5guuF8drHdh8+TmSZ/1M8Vdahm0HYgAzz8oP+jC2TfKNVql7dSbVlYIIQHWTyBVjjh20zawPr8IqO8EKdDMlJP+CNIu+q1nDrlRiudIdrtPKcQigwiKBimh3mYRqh/XRWgFZfjT53AMktfuqh8kldIT2WWKAJLROQkdBSIvk+lXymetJt0g1nOMm2iXTVzdMoP8AANswO58JGZEm7Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TeLv+Noq2Y9ixeYb84fvGFEMtMm9ZOfuXqTsvmFcuUlKhwvLFPz/lM8Y53EvDG76KpWV32o3GIro1PoQcRfrVNymF9CjQ0kW7SAA0V3vt8x0pfxQzNuKRDLrs/e4KkM7+MTAb0ekb30fsg7RZER7D1nuJ9OcIQ7UMtv39nwuCn1kUZ6pfjP0hpdMaR58iv2U2FJrqPK1gUvm2ZTQdCsYeAxopISuEjlApQv6ZDd8WUfBxvsT0M8jSu1BmPZUiSLzRTXa6k7bXIUXkDvO0b1h7X10Sz8lOnP24jEMVoatcimFgUGLAVTrlxuAqG2pDaYbo2r0tWWt6pAeq/FXlcwbuQ==
  • 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>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Fri, 28 Nov 2025 09:07:40 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Thread-index: AQHcX7qlfbmHBnQ91k+D1QR6oggnHbUHzOoA
  • Thread-topic: [PATCH v2 2/2] xen/dom0less: move make_memory_node() to common code

Hi Oleksii,
> 
> diff --git a/xen/common/device-tree/domain-build.c 
> b/xen/common/device-tree/domain-build.c
> index 774790aab3..6708c9dd66 100644
> --- a/xen/common/device-tree/domain-build.c
> +++ b/xen/common/device-tree/domain-build.c
> @@ -8,6 +8,7 @@
> #include <xen/mm.h>
> #include <xen/sched.h>
> #include <xen/sizes.h>
> +#include <xen/static-shmem.h>
> #include <xen/types.h>
> #include <xen/vmap.h>
> 
> @@ -451,6 +452,80 @@ int __init make_chosen_node(const struct kernel_info 
> *kinfo)
>    return res;
> }
> 
> +int __init make_memory_node(const struct kernel_info *kinfo, int addrcells,
> +                            int sizecells, const struct membanks *mem)
> +{
> +    void *fdt = kinfo->fdt;
> +    unsigned int i;
> +    int res, reg_size = addrcells + sizecells;
> +    int nr_cells = 0;
> +    __be32 reg[DT_MEM_NODE_REG_RANGE_SIZE];
> +    __be32 *cells;
> +
> +    if ( mem->nr_banks == 0 )
> +        return -ENOENT;
> +
> +    /* find the first memory range that is reserved for device (or firmware) 
> */
> +    for ( i = 0; i < mem->nr_banks &&
> +                 (mem->bank[i].type != MEMBANK_DEFAULT); i++ )
> +        ;

NIT: maybe we can fix the code style here, maintainers can give their opinion.

Changes looks good to me, I’ve also tested running on arm64 and arm32 FVP:

Reviewed-by: Luca Fancellu <luca.fancellu@xxxxxxx>
Tested-by: Luca Fancellu <luca.fancellu@xxxxxxx>

Cheers,
Luca



 


Rackspace

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