Linux timer interrupts not working when booting in normal-world

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

 



Hi

I'm currently playing with the TrustZone technology on the Tegra2 Harmony board, and my goal is to boot Linux not in the secure world (as it is in mainstream Linux), but in the normal world. However, in doing this, timer interrupts are not being triggered and the system halts early in the bootstrap stage. I'd like to ask if anyone could give me a hint for why this is happening.

So far I managed to set up the secure world environment so that we can invoke secure services through the SMC instruction from the normal world. This configuration step is done by u-boot, after which it enters normal world and jumps to Linux. To make sure that Linux can handle interrupts freely, in this setup phase, I assign the SCR register 0x3 (EA, FIQ, and IRQ bit are clear, and AW and FW are set).

Assuming that this configuration is correct, one possible explanation for the absence of timer interrupts is that the Harmony board may impose some restrictions to the timer re-configuration in the normal world. Does anyone have an idea if there are such restrictions? If not, is there any other explanation for this? Is there some configuration step that I'm missing?

Thank you very much in advance!
--Nuno Santos

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux