[PATCH v5 1/9] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC
From: cw00.choi@samsung.com (Chanwoo Choi)
Date: 2015-03-06 12:18:40
Also in:
linux-devicetree, linux-samsung-soc, lkml
Hi, On 03/06/2015 08:40 PM, Mark Rutland wrote:
quoted
quoted
quoted
quoted
quoted
CPU0 (boot CPU) is only well working for CPU_OFF. But when I try to turn on the CPU0 after CPU_OFF, I failed it.That's rather worrying. Can you look into what's going on here? I'd rather not have dts describing things which are known to be broken.The board dts don't include any node for CPU_ON/OFF.I don't understand. The CPU_ON and CPU_OFF IDs are in the psci node quoted above, and all the CPUs had enable-method = "psci".I mean that there are not additional dt node except for 'cpu' and 'psci' node.The psci node and cpu enable-method are sufficient. No other nodes should be relevant.
You're right.
quoted
quoted
quoted
When I try to turn on the CPU0 (boot CPU), fail to turn on and lockup happen. After lockup happen, I cannot use the console.That sounds like a pretty major bug. Are you able to investigate with a hardware debugger?I can't do because there are not any jtag connector.That is very unfortunate. Which PSCI implementation are you using? Surely whoever developed it has access to debug. Surely they should have tested this?
I just used the lateset Linux 4.0-rc2 for PSCI (arch/arm64/kernel/psci.c) without any modification. Unfortunately, I don't know who is the h/w developer of Exynos5433 SoC.
quoted
quoted
Do other CPUs eventually log errors regarding the lockup? Or is the machine completely dead from this point on?I tested CPU0 on/off. When I turn on the CPU0, I fail it. But, kernel just show the error log without lockup. I gave you wrong infromation about CPU0 off.Ok. However that's still a major bug. [...]quoted
quoted
quoted
quoted
quoted
quoted
I take it CPUs boot at EL2?Do the CPUs boot at EL1 or EL2?Unfortunately, I cannot check the secure firmware for Exynos5433 SoC. I think that a few SoC provider probably would know it.I guess I asked the wrong question. Do CPUs enter the kernel at EL2 or at EL1?Could you give me a tip how to check the kernel at EL2 or EL1?Hmm... I thought we logged this but it looks like we don't. You could hack in a check of is_hyp_mode_available() and is_hyp_mode_mismatched(). That will tell you if EL2/hyp is available, and whether all CPUs enter at the same mode (mandatory per the boot protocol).
OK, I'll try it. Thanks, Chanwoo Choi