arm64: Add CNTFRQ_EL0 trap handler
We now trap accesses to CNTVCT_EL0 when the counter is broken enough to require the kernel to mediate the access. But it turns out that some existing userspace (such as OpenMPI) do probe for the counter frequency, leading to an UNDEF exception as CNTVCT_EL0 and CNTFRQ_EL0 share the same control bit. The fix is to handle the exception the same way we do for CNTVCT_EL0. Change-Id: Iba247041f03119952623c20e76e0562fea6d4a92 Fixes: a86bd139f2ae ("arm64: arch_timer: Enable CNTVCT_EL0 trap if workaround is enabled") Reported-by: Hanjun Guo <guohanjun@huawei.com> Tested-by: Hanjun Guo <guohanjun@huawei.com> Reviewed-by: Hanjun Guo <guohanjun@huawei.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Git-commit: 9842119a238bfb92cbab63258dabb54f0e7b111b Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [kyan@codeaurora.org: resolve trivial merge conflicts] Signed-off-by: Kyle Yan <kyan@codeaurora.org>
Loading
Please register or sign in to comment