From: Stefano Stabellini <sstabellini@kernel.org> To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini <stefanos@xilinx.com>, julien.grall@arm.com, sstabellini@kernel.org Subject: [PATCH v2 10/10] xen/arm: add reserved-memory regions to the dom0 memory node Date: Tue, 30 Apr 2019 14:02:52 -0700 [thread overview] Message-ID: <1556658172-8824-10-git-send-email-sstabellini@kernel.org> (raw) In-Reply-To: <alpine.DEB.2.10.1904301358560.13269@sstabellini-ThinkPad-X260> Reserved memory regions are automatically remapped to dom0. Their device tree nodes are also added to dom0 device tree. However, the dom0 memory node is not currently extended to cover the reserved memory regions ranges as required by the spec. This commit fixes it. Signed-off-by: Stefano Stabellini <stefanos@xilinx.com> --- xen/arch/arm/domain_build.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index e5d488d..fa1ca20 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -643,7 +643,8 @@ static int __init make_memory_node(const struct domain *d, { int res, i; int reg_size = addrcells + sizecells; - int nr_cells = reg_size*kinfo->mem.nr_banks; + int nr_cells = reg_size * (kinfo->mem.nr_banks + (is_hardware_domain(d) ? + bootinfo.reserved_mem.nr_banks : 0)); __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */]; __be32 *cells; @@ -673,6 +674,20 @@ static int __init make_memory_node(const struct domain *d, dt_child_set_range(&cells, addrcells, sizecells, start, size); } + if ( is_hardware_domain(d) ) + { + for ( i = 0; i < bootinfo.reserved_mem.nr_banks; i++ ) + { + u64 start = bootinfo.reserved_mem.bank[i].start; + u64 size = bootinfo.reserved_mem.bank[i].size; + + dt_dprintk(" Bank %d: %#"PRIx64"->%#"PRIx64"\n", + i, start, start + size); + + dt_child_set_range(&cells, addrcells, sizecells, start, size); + } + } + res = fdt_property(fdt, "reg", reg, nr_cells * sizeof(*reg)); if ( res ) return res; -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: Stefano Stabellini <sstabellini@kernel.org> To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini <stefanos@xilinx.com>, julien.grall@arm.com, sstabellini@kernel.org Subject: [Xen-devel] [PATCH v2 10/10] xen/arm: add reserved-memory regions to the dom0 memory node Date: Tue, 30 Apr 2019 14:02:52 -0700 [thread overview] Message-ID: <1556658172-8824-10-git-send-email-sstabellini@kernel.org> (raw) Message-ID: <20190430210252.uSgvAj50ghppK6aDeMtrHOCoY_XPN0qRZsDdgVHGmAg@z> (raw) In-Reply-To: <alpine.DEB.2.10.1904301358560.13269@sstabellini-ThinkPad-X260> Reserved memory regions are automatically remapped to dom0. Their device tree nodes are also added to dom0 device tree. However, the dom0 memory node is not currently extended to cover the reserved memory regions ranges as required by the spec. This commit fixes it. Signed-off-by: Stefano Stabellini <stefanos@xilinx.com> --- xen/arch/arm/domain_build.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index e5d488d..fa1ca20 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -643,7 +643,8 @@ static int __init make_memory_node(const struct domain *d, { int res, i; int reg_size = addrcells + sizecells; - int nr_cells = reg_size*kinfo->mem.nr_banks; + int nr_cells = reg_size * (kinfo->mem.nr_banks + (is_hardware_domain(d) ? + bootinfo.reserved_mem.nr_banks : 0)); __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */]; __be32 *cells; @@ -673,6 +674,20 @@ static int __init make_memory_node(const struct domain *d, dt_child_set_range(&cells, addrcells, sizecells, start, size); } + if ( is_hardware_domain(d) ) + { + for ( i = 0; i < bootinfo.reserved_mem.nr_banks; i++ ) + { + u64 start = bootinfo.reserved_mem.bank[i].start; + u64 size = bootinfo.reserved_mem.bank[i].size; + + dt_dprintk(" Bank %d: %#"PRIx64"->%#"PRIx64"\n", + i, start, start + size); + + dt_child_set_range(&cells, addrcells, sizecells, start, size); + } + } + res = fdt_property(fdt, "reg", reg, nr_cells * sizeof(*reg)); if ( res ) return res; -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-04-30 21:03 UTC|newest] Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-30 21:02 [PATCH v2 0/10] iomem memory policy Stefano Stabellini 2019-04-30 21:02 ` [Xen-devel] " Stefano Stabellini 2019-04-30 21:02 ` [PATCH v2 01/10] xen: add a p2mt parameter to map_mmio_regions Stefano Stabellini 2019-04-30 21:02 ` [Xen-devel] " Stefano Stabellini 2019-05-02 14:59 ` Jan Beulich 2019-05-02 14:59 ` [Xen-devel] " Jan Beulich 2019-05-02 18:49 ` Stefano Stabellini 2019-05-02 18:49 ` [Xen-devel] " Stefano Stabellini 2019-05-15 13:39 ` Oleksandr 2019-05-15 13:39 ` [Xen-devel] " Oleksandr 2019-04-30 21:02 ` [PATCH v2 02/10] xen: rename un/map_mmio_regions to un/map_regions Stefano Stabellini 2019-04-30 21:02 ` [Xen-devel] " Stefano Stabellini 2019-05-01 9:22 ` Julien Grall 2019-05-01 9:22 ` [Xen-devel] " Julien Grall 2019-06-17 21:24 ` Stefano Stabellini 2019-06-18 11:05 ` Julien Grall 2019-06-18 20:19 ` Stefano Stabellini 2019-05-02 15:03 ` Jan Beulich 2019-05-02 15:03 ` [Xen-devel] " Jan Beulich 2019-05-02 18:55 ` Stefano Stabellini 2019-05-02 18:55 ` [Xen-devel] " Stefano Stabellini 2019-04-30 21:02 ` [PATCH v2 03/10] xen: extend XEN_DOMCTL_memory_mapping to handle memory policy Stefano Stabellini 2019-04-30 21:02 ` [Xen-devel] " Stefano Stabellini 2019-05-02 15:12 ` Jan Beulich 2019-05-02 15:12 ` [Xen-devel] " Jan Beulich 2019-06-17 21:28 ` Stefano Stabellini 2019-06-18 8:59 ` Jan Beulich 2019-06-18 20:32 ` Stefano Stabellini 2019-06-18 23:15 ` Stefano Stabellini 2019-06-19 6:53 ` Jan Beulich 2019-05-07 16:41 ` Julien Grall 2019-05-07 16:41 ` [Xen-devel] " Julien Grall 2019-06-17 22:43 ` Stefano Stabellini 2019-06-18 11:13 ` Julien Grall 2019-05-15 14:40 ` Oleksandr 2019-05-15 14:40 ` [Xen-devel] " Oleksandr 2019-04-30 21:02 ` [PATCH v2 04/10] libxc: introduce xc_domain_mem_map_policy Stefano Stabellini 2019-04-30 21:02 ` [Xen-devel] " Stefano Stabellini 2019-04-30 21:02 ` [PATCH v2 05/10] libxl/xl: add memory policy option to iomem Stefano Stabellini 2019-04-30 21:02 ` [Xen-devel] " Stefano Stabellini 2019-05-01 9:42 ` Julien Grall 2019-05-01 9:42 ` [Xen-devel] " Julien Grall 2019-06-17 22:32 ` Stefano Stabellini 2019-06-18 11:09 ` Julien Grall 2019-06-18 11:15 ` Julien Grall 2019-06-18 22:07 ` Stefano Stabellini 2019-06-18 22:20 ` Julien Grall 2019-06-18 22:46 ` Stefano Stabellini 2019-04-30 21:02 ` [PATCH v2 06/10] xen/arm: extend device_tree_for_each_node Stefano Stabellini 2019-04-30 21:02 ` [Xen-devel] " Stefano Stabellini 2019-05-07 17:12 ` Julien Grall 2019-05-07 17:12 ` [Xen-devel] " Julien Grall 2019-04-30 21:02 ` [PATCH v2 07/10] xen/arm: make process_memory_node a device_tree_node_func Stefano Stabellini 2019-04-30 21:02 ` [Xen-devel] " Stefano Stabellini 2019-05-01 9:47 ` Julien Grall 2019-05-01 9:47 ` [Xen-devel] " Julien Grall 2019-04-30 21:02 ` [PATCH v2 08/10] xen/arm: keep track of reserved-memory regions Stefano Stabellini 2019-04-30 21:02 ` [Xen-devel] " Stefano Stabellini 2019-05-01 10:03 ` Julien Grall 2019-05-01 10:03 ` [Xen-devel] " Julien Grall 2019-06-21 23:47 ` Stefano Stabellini 2019-05-07 17:21 ` Julien Grall 2019-05-07 17:21 ` [Xen-devel] " Julien Grall 2019-04-30 21:02 ` [PATCH v2 09/10] xen/arm: map reserved-memory regions as normal memory in dom0 Stefano Stabellini 2019-04-30 21:02 ` [Xen-devel] " Stefano Stabellini 2019-05-07 19:52 ` Julien Grall 2019-05-07 19:52 ` [Xen-devel] " Julien Grall 2019-04-30 21:02 ` Stefano Stabellini [this message] 2019-04-30 21:02 ` [Xen-devel] [PATCH v2 10/10] xen/arm: add reserved-memory regions to the dom0 memory node Stefano Stabellini 2019-05-07 20:15 ` Julien Grall 2019-05-07 20:15 ` [Xen-devel] " Julien Grall 2019-05-10 20:51 ` Stefano Stabellini 2019-05-10 20:51 ` [Xen-devel] " Stefano Stabellini 2019-05-10 21:43 ` Julien Grall 2019-05-10 21:43 ` [Xen-devel] " Julien Grall 2019-05-11 12:40 ` Julien Grall 2019-05-11 12:40 ` [Xen-devel] " Julien Grall 2019-05-20 21:26 ` Stefano Stabellini 2019-05-20 21:26 ` [Xen-devel] " Stefano Stabellini 2019-05-20 22:38 ` Julien Grall 2019-05-20 22:38 ` [Xen-devel] " Julien Grall 2019-06-05 16:30 ` Julien Grall 2019-06-21 23:47 ` Stefano Stabellini 2019-05-16 16:52 ` [PATCH v2 0/10] iomem memory policy Oleksandr 2019-05-16 16:52 ` [Xen-devel] " Oleksandr 2019-06-21 23:48 ` Stefano Stabellini
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1556658172-8824-10-git-send-email-sstabellini@kernel.org \ --to=sstabellini@kernel.org \ --cc=julien.grall@arm.com \ --cc=stefanos@xilinx.com \ --cc=xen-devel@lists.xenproject.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).