Re: [Linux-kernel] [PATCH] ARM: kernel: respect device tree status of cpu nodes

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

 




On 05/03/14 20:33, Stephen Boyd wrote:
+Lorenzo

On 02/24/14 03:22, Jürg Billeter wrote:
Skip 'disabled' cpu nodes when building the cpu logical map. This avoids
booting cpus that have been disabled in the device tree.

Signed-off-by: Jürg Billeter <j@xxxxxxxxx>
Reviewed-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
---
  arch/arm/kernel/devtree.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c
index 739c3df..9aed299 100644
--- a/arch/arm/kernel/devtree.c
+++ b/arch/arm/kernel/devtree.c
@@ -95,6 +95,10 @@ void __init arm_dt_init_cpu_maps(void)
  		if (of_node_cmp(cpu->type, "cpu"))
  			continue;

+		/* Check if CPU is enabled */
+		if (!of_device_is_available(cpu))
+			continue;
+
  		pr_debug(" * %s...\n", cpu->full_name);
  		/*
  		 * A device tree containing CPU nodes with missing "reg"

This doesn't follow the ePAPR spec. According to ePAPR status="disabled"
in a cpu node means "the cpu is in a quiescent state" and one can enable
it by using the "enable-method". At the least, we should document this
in bindings/arm/cpus.txt if we can all agree that we want this
definition of disabled.

My view was that disabled should be the same as for the device case
as it makes sense that way.

We have a position where we want to use the .dtsi files but not all
cpus are available to the Linux. If we cannot use disabled then we
need some other method to say this cpu node is not available, so
please do not try and bring it online (saves boot time waiting for
CPU nodes that cannot online)

--
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux