On Thu, Sep 04, 2014 at 06:01:27PM +0100, Sonny Rao wrote: [...]
> > If an OS is booted at PL2 it can access the physical counters, and > > should do so in case something like KVM will be used later. The OS can > > write to CNTVOFF at PL2, and if it sets CNTVOFF to zero the physical and > > virtual counters are equivalent. Thus it can use the virtual counters > > and doesn't need to have additional code in several places (including > > the VDSO) where it needs to choose to read which counters to read. > > > > The problem only exists where PL2 exists and the firmware/bootloader > > skipped PL2 without initialising the necessary PL2 state. This is in > > general a stupid thing to do; it introduces a problem that need not > > exist and throws away the option of using the features PL2 provides. > > This is a firmware/bootloader bug. > > Well it's not quite that simple, this is actually an issue with the > hardware that the CNTVOFF comes up with different values on different > cores. This happens not only at boot, but any time the core is > powered on, which could include deep sleep or CPU hotplug and suspend > to ram. The firmware may not be involved in all these cases, so we > cannot rely on it to fix this problem. And why isn't firmware involved in those cases if it _is_ involved in cold boot ? Resuming from low-power means resuming the machine/core as it was when it was running before power down, anything that deviates from that behaviour is a programming bug. Lorenzo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/