From: Julien Grall <julien.grall@arm.com>
To: xen-devel@lists.xen.org
Cc: Julien Grall <julien.grall@arm.com>, sstabellini@kernel.org
Subject: [PATCH v5 11/17] xen/arm: dom0_build: Remove dead code in allocate_memory
Date: Tue, 28 Jun 2016 17:17:17 +0100 [thread overview]
Message-ID: <1467130643-23868-12-git-send-email-julien.grall@arm.com> (raw)
In-Reply-To: <1467130643-23868-1-git-send-email-julien.grall@arm.com>
The code to allocate memory when dom0 does not use direct mapping is
relying on the presence of memory node in the DT.
However, they are not present when booting using UEFI or when using
ACPI.
Rather than fixing the code, remove it because dom0 is always direct
memory mapped and therefore the code is never tested. Also add a
check to avoid disabling direct memory mapped and not implementing
the associated RAM bank allocation.
Signed-off-by: Julien Grall <julien.grall@arm.com>
---
Changes in v4:
- Patch added
---
xen/arch/arm/domain_build.c | 58 ++++++---------------------------------------
1 file changed, 7 insertions(+), 51 deletions(-)
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 49185f0..923f48a 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -235,7 +235,7 @@ fail:
* (as described above) we allow higher allocations and continue until
* that runs out (or we have allocated sufficient dom0 memory).
*/
-static void allocate_memory_11(struct domain *d, struct kernel_info *kinfo)
+static void allocate_memory(struct domain *d, struct kernel_info *kinfo)
{
const unsigned int min_low_order =
get_order_from_bytes(min_t(paddr_t, dom0_mem, MB(128)));
@@ -247,6 +247,12 @@ static void allocate_memory_11(struct domain *d, struct kernel_info *kinfo)
bool_t lowmem = is_32bit_domain(d);
unsigned int bits;
+ /*
+ * TODO: Implement memory bank allocation when DOM0 is not direct
+ * mapped
+ */
+ BUG_ON(!dom0_11_mapping);
+
printk("Allocating 1:1 mappings totalling %ldMB for dom0:\n",
/* Don't want format this as PRIpaddr (16 digit hex) */
(unsigned long)(kinfo->unassigned_mem >> 20));
@@ -343,56 +349,6 @@ static void allocate_memory_11(struct domain *d, struct kernel_info *kinfo)
}
}
-static void allocate_memory(struct domain *d, struct kernel_info *kinfo)
-{
-
- struct dt_device_node *memory = NULL;
- const void *reg;
- u32 reg_len, reg_size;
- unsigned int bank = 0;
-
- if ( dom0_11_mapping )
- return allocate_memory_11(d, kinfo);
-
- while ( (memory = dt_find_node_by_type(memory, "memory")) )
- {
- int l;
-
- dt_dprintk("memory node\n");
-
- reg_size = dt_cells_to_size(dt_n_addr_cells(memory) + dt_n_size_cells(memory));
-
- reg = dt_get_property(memory, "reg", ®_len);
- if ( reg == NULL )
- panic("Memory node has no reg property");
-
- for ( l = 0;
- kinfo->unassigned_mem > 0 && l + reg_size <= reg_len
- && kinfo->mem.nr_banks < NR_MEM_BANKS;
- l += reg_size )
- {
- paddr_t start, size;
-
- if ( dt_device_get_address(memory, bank, &start, &size) )
- panic("Unable to retrieve the bank %u for %s",
- bank, dt_node_full_name(memory));
-
- if ( size > kinfo->unassigned_mem )
- size = kinfo->unassigned_mem;
-
- printk("Populate P2M %#"PRIx64"->%#"PRIx64"\n",
- start, start + size);
- if ( p2m_populate_ram(d, start, start + size) < 0 )
- panic("Failed to populate P2M");
- kinfo->mem.bank[kinfo->mem.nr_banks].start = start;
- kinfo->mem.bank[kinfo->mem.nr_banks].size = size;
- kinfo->mem.nr_banks++;
-
- kinfo->unassigned_mem -= size;
- }
- }
-}
-
static int write_properties(struct domain *d, struct kernel_info *kinfo,
const struct dt_device_node *node)
{
--
1.9.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-06-28 16:17 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-28 16:17 [PATCH v5 00/17] xen/arm: Use the typesafes gfn and mfn Julien Grall
2016-06-28 16:17 ` [PATCH v5 01/17] xen: Use typesafe gfn/mfn in guest_physmap_* helpers Julien Grall
2016-06-28 16:17 ` [PATCH v5 02/17] xen: Use typesafe gfn in xenmem_add_to_physmap_one Julien Grall
2016-06-28 16:17 ` [PATCH v5 03/17] xen/arm: Rename grant_table_gfpn into grant_table_gfn and use the typesafe gfn Julien Grall
2016-06-28 16:17 ` [PATCH v5 04/17] xen: Use the typesafe mfn and gfn in map_mmio_regions Julien Grall
2016-07-06 10:23 ` Stefano Stabellini
2016-06-28 16:17 ` [PATCH v5 05/17] xen/passthrough: x86: Use INVALID_GFN rather than INVALID_MFN Julien Grall
2016-06-28 16:43 ` Andrew Cooper
2016-06-28 16:47 ` Juergen Gross
2016-06-28 17:04 ` Julien Grall
2016-06-29 9:39 ` Jan Beulich
2016-06-28 16:17 ` [PATCH v5 06/17] xen: Use a typesafe to define INVALID_MFN Julien Grall
2016-06-28 17:05 ` Andrew Cooper
2016-07-06 10:27 ` Stefano Stabellini
2016-06-28 16:17 ` [PATCH v5 07/17] xen: Use a typesafe to define INVALID_GFN Julien Grall
2016-06-28 17:12 ` Andrew Cooper
2016-07-06 10:28 ` Stefano Stabellini
2016-06-28 16:17 ` [PATCH v5 08/17] xen/arm: Rework the interface of p2m_lookup and use typesafe gfn and mfn Julien Grall
2016-07-06 10:32 ` Stefano Stabellini
2016-06-28 16:17 ` [PATCH v5 09/17] xen/arm: Rework the interface of p2m_cache_flush and use typesafe gfn Julien Grall
2016-07-06 10:35 ` Stefano Stabellini
2016-06-28 16:17 ` [PATCH v5 10/17] xen/arm: map_regions_rw_cache: Map the region with p2m->default_access Julien Grall
2016-07-06 10:43 ` Stefano Stabellini
2016-07-06 11:10 ` Julien Grall
2016-07-06 11:17 ` Stefano Stabellini
2016-07-06 11:22 ` Julien Grall
2016-07-06 11:44 ` Julien Grall
2016-07-06 15:39 ` Tamas K Lengyel
2016-06-28 16:17 ` Julien Grall [this message]
2016-07-06 10:46 ` [PATCH v5 11/17] xen/arm: dom0_build: Remove dead code in allocate_memory Stefano Stabellini
2016-06-28 16:17 ` [PATCH v5 12/17] xen/arm: p2m: Remove unused operation ALLOCATE Julien Grall
2016-07-06 10:49 ` Stefano Stabellini
2016-06-28 16:17 ` [PATCH v5 13/17] xen/arm: Use the typesafes mfn and gfn in map_dev_mmio_region Julien Grall
2016-06-28 17:21 ` Andrew Cooper
2016-06-29 12:20 ` Julien Grall
2016-06-28 16:17 ` [PATCH v5 14/17] xen/arm: Use the typesafes mfn and gfn in map_regions_rw_cache Julien Grall
2016-07-06 10:54 ` Stefano Stabellini
2016-06-28 16:17 ` [PATCH v5 15/17] xen/arm: p2m: Introduce helpers to insert and remove mapping Julien Grall
2016-06-28 17:23 ` Andrew Cooper
2016-07-06 10:59 ` Stefano Stabellini
2016-07-06 11:20 ` Julien Grall
2016-06-28 16:17 ` [PATCH v5 16/17] xen/arm: p2m: Use typesafe gfn for {max, lowest}_mapped_gfn Julien Grall
2016-07-06 11:07 ` Stefano Stabellini
2016-06-28 16:17 ` [PATCH v5 17/17] xen/arm: p2m: Rework the interface of apply_p2m_changes and use typesafe Julien Grall
2016-07-06 11:06 ` Stefano Stabellini
2016-07-06 11:56 ` Julien Grall
2016-07-06 12:45 ` Andrew Cooper
2016-06-28 18:32 ` [PATCH v5 00/17] xen/arm: Use the typesafes gfn and mfn Andrew Cooper
2016-06-29 9:24 ` Jan Beulich
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=1467130643-23868-12-git-send-email-julien.grall@arm.com \
--to=julien.grall@arm.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xen.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: link
Be 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).