[PULL][Zesty] Errata workarounds for arm_arch_timer
dann frazier
dann.frazier at canonical.com
Fri Mar 24 02:17:31 UTC 2017
This addresses LP: #1675509.
The HiSilicon D05 board and systems based on Cortex-A73 each have
errata for their architected timers which can cause reads to return
bogus data. One of the arm_arch_timer maintainers has developed an
errata infrastructure to enable workarounds for these. I've backported
the v2 revision from the developer's tree to the zesty kernel and
added the relevant ACKs from the parent tree maintainer from the
mailing list. I'll continue to track the review process and watch for
any fixes relevant to Ubuntu.
Tested on HiSilicon D05; regression tested on HP m400 (APM X-Gene) and
a Cavium ThunderX CRB.
The following changes since commit 0cf75d7435609372dc1e3c2f32c4cb82a10189ce:
pinctrl: intel: Add Intel Gemini Lake pin controller support
(2017-03-22 09:23:38 -0600)
are available in the git repository at:
git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux
arm_arch_timer-erratum
for you to fetch changes up to 690752cbb5ebfd7b82b5e2bec6c87e90393fd5b6:
UBUNTU: SAUCE: arm64: arch_timer: Add HISILICON_ERRATUM_161010101
ACPI matching data (2017-03-23 20:14:15 -0600)
----------------------------------------------------------------
Marc Zyngier (18):
UBUNTU: SAUCE: arm64: Allow checking of a CPU-local erratum
UBUNTU: SAUCE: arm64: Add CNTVCT_EL0 trap handler
UBUNTU: SAUCE: arm64: Define Cortex-A73 MIDR
UBUNTU: SAUCE: arm64: cpu_errata: Allow an erratum to be match
for all revisions of a core
UBUNTU: SAUCE: arm64: cpu_errata: Add capability to advertise
Cortex-A73 erratum 858921
UBUNTU: SAUCE: arm64: arch_timer: Add infrastructure for
multiple erratum detection methods
UBUNTU: SAUCE: arm64: arch_timer: Add erratum handler for
globally defined capability
UBUNTU: SAUCE: arm64: arch_timer: Add erratum handler for
CPU-specific capability
UBUNTU: SAUCE: arm64: arch_timer: Move arch_timer_reg_read/write around
UBUNTU: SAUCE: arm64: arch_timer: Get rid of erratum_workaround_set_sne
UBUNTU: SAUCE: arm64: arch_timer: Rework the set_next_event workarounds
UBUNTU: SAUCE: arm64: arch_timer: Make workaround methods optional
UBUNTU: SAUCE: arm64: arch_timer: Allows a CPU-specific erratum
to only affect a subset of CPUs
UBUNTU: SAUCE: arm64: arch_timer: Move clocksource_counter and co around
UBUNTU: SAUCE: arm64: arch_timer: Enable CNTVCT_EL0 trap if
workaround is enabled
UBUNTU: SAUCE: arm64: arch_timer: Workaround for Cortex-A73 erratum 858921
UBUNTU: SAUCE: arm64: arch_timer: Allow erratum matching with
ACPI OEM information
UBUNTU: SAUCE: arm64: arch_timer: Add
HISILICON_ERRATUM_161010101 ACPI matching data
Mark Rutland (1):
arm64: ptrace: add XZR-safe regs accessors
dann frazier (1):
UBUNTU: [Config] CONFIG_ARM64_ERRATUM_858921=y
Documentation/arm64/silicon-errata.txt | 1 +
arch/arm64/include/asm/arch_timer.h | 44 ++-
arch/arm64/include/asm/cpucaps.h | 3 +-
arch/arm64/include/asm/cputype.h | 2 +
arch/arm64/include/asm/esr.h | 2 +
arch/arm64/include/asm/ptrace.h | 20 ++
arch/arm64/kernel/cpu_errata.c | 15 +
arch/arm64/kernel/cpufeature.c | 13 +-
arch/arm64/kernel/traps.c | 14 +
debian.master/config/annotations | 2 +
debian.master/config/config.common.ubuntu | 1 +
drivers/clocksource/Kconfig | 11 +
drivers/clocksource/arm_arch_timer.c | 535 +++++++++++++++++++++---------
13 files changed, 494 insertions(+), 169 deletions(-)
More information about the kernel-team
mailing list