|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Running Xen on Nvidia Jetson-TK1
Hi Dushyant,
>>> On Thu, Mar 17, 2016 at 8:22 PM, Julien Grall <julien.grall@xxxxxxx>
>>> wrote:
>>>>
>>>> On 14/03/16 14:19, Dushyant Behl wrote:
>>>>>>
>>>>>> Yes, I have enabled these configuration parameters when compiling linux
>>>>>> -
>>>>
>>>>
>>>> The list of options looks good to me. I guess Linux is crashing before
>>>> setting
>>>> up the console. Can you apply the below to Linux and post the log here?
>>>
>>>
>>> I applied your patch to Linux but still there is no output from the
>>> kernel.
>>>
>>> But I have found location of the problem, I have a debugger attached
>>> to the Jetson board
>>> and using that I was able to find out that Linux is failing while
>>> initializing the Tegra timer.
>>>
>>> The call stack at the time of failing is -
>>>
>>> - prefetchw (inline)
>>> arch_spin_lock (inline)
>>> do_raw_spin_lock_flags (inline)
>>> __raw_spin_lock_irqssave (inline)
>>> raw_spin_lock_irq_save (lock = 0xC0B746F0)
>>> - of_get_parent (node = 0xA00001D3)
>>> - of_get_address (dev = 0xDBBABC30, index = 0, size = 0xC0A83F30)
>>> - of_address_to_resource(dev = 0xDBBABC30, index = 0, r = 0xC0A83F50)
>>> - of_iomap (np = 0xDBBABC30, index = 0)
>>> - tegra20_init_timer (np = 0xDBBABC30)
>>> - clocksource_of_init()
>>> - start_kernel()
>>>
>>> After this Linux jumps to floating point exception handler and then to
>>> undefined instruction and fails.
>>
>>
>> I don't know why Linux is receiving a floating point exception. However,
>> DOM0 must not use the tegra timer as it doesn't support virtualization.
>>
>> You need to ensure that DOM0 will use the arch timer instead. Xen provides
>> some facilities to blacklist a device tree node (see blacklist dev in
>> arm/platforms/tegra.c).
>
> I have blacklisted the tegra20_timer
I guess you blocked the "tegra20-timer" (which uses "-" instead of
"_") right as shown in the following patch? Am I right?
diff --git a/xen/arch/arm/platforms/tegra.c b/xen/arch/arm/platforms/tegra.c
index 5ec9dda..8477ad1 100644
--- a/xen/arch/arm/platforms/tegra.c
+++ b/xen/arch/arm/platforms/tegra.c
@@ -431,6 +431,7 @@ static const struct dt_device_match
tegra_blacklist_dev[] __initconst =
* UART to dom0, so don't map any of them.
*/
DT_MATCH_COMPATIBLE("nvidia,tegra20-uart"),
+ DT_MATCH_COMPATIBLE("nvidia,tegra20-timer"),
{ /* sentinel */ },
};
Thanks and Best Regards,
Meng
-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |