2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-25 05:34:00 +08:00
linux-next/drivers/clocksource
Marc Zyngier 0f80cad312 arm64: Restrict ARM64_ERRATUM_1188873 mitigation to AArch32
We currently deal with ARM64_ERRATUM_1188873 by always trapping EL0
accesses for both instruction sets. Although nothing wrong comes out
of that, people trying to squeeze the last drop of performance from
buggy HW find this over the top. Oh well.

Let's change the mitigation by flipping the counter enable bit
on return to userspace. Non-broken HW gets an extra branch on
the fast path, which is hopefully not the end of the world.
The arch timer workaround is also removed.

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2019-04-30 14:45:53 +01:00
..
acpi_pm.c clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
arc_timer.c clocksource/drivers/arc_timer: Utilize generic sched_clock 2018-12-18 22:22:23 +01:00
arm_arch_timer.c arm64: Restrict ARM64_ERRATUM_1188873 mitigation to AArch32 2019-04-30 14:45:53 +01:00
arm_global_timer.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
armv7m_systick.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
asm9260_timer.c clocksource: Convert to using %pOFn instead of device_node.name 2018-10-03 14:36:52 +02:00
bcm2835_timer.c clocksource/drivers/bcm2835: Switch to SPDX identifier 2018-12-18 22:22:23 +01:00
bcm_kona_timer.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
clksrc_st_lpc.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
clksrc-dbx500-prcmu.c clocksource/drivers/ux500: Drop Ux500 custom SCHED_CLOCK 2018-12-18 22:22:23 +01:00
clps711x-timer.c clocksource/drivers/clps711x: Remove board support 2019-03-24 11:30:11 +01:00
dummy_timer.c cpu/hotplug: Cleanup state names 2016-12-25 10:47:44 +01:00
dw_apb_timer_of.c clocksource/drivers/dw_apb: Add reset control 2018-10-07 14:16:35 +02:00
dw_apb_timer.c Merge branch 'clockevents/4.12' of https://git.linaro.org/people/daniel.lezcano/linux into timers/core 2017-04-17 10:55:14 +02:00
em_sti.c clocksource/drivers/em_sti: Fix error return codes in em_sti_probe() 2017-08-10 14:48:18 +02:00
exynos_mct.c clocksource/drivers/exynos_mct: Remove unused header includes 2019-02-23 12:13:45 +01:00
h8300_timer8.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
h8300_timer16.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
h8300_tpu.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
i8253.c clockevents/drivers/i8253: Add support for PIT shutdown quirk 2018-11-04 11:04:46 +01:00
jcore-pit.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
Kconfig ARM: New SoC family support 2019-03-06 10:15:42 -08:00
Makefile ARM: New SoC family support 2019-03-06 10:15:42 -08:00
mips-gic-timer.c clocksource/drivers/mips-gic-timer: Make gic_compare_irqaction static 2019-03-22 22:59:33 +01:00
mmio.c clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
mps2-timer.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
mxs_timer.c clocksource/drivers/mxs_timer: Switch to SPDX identifier 2018-05-23 07:39:09 +02:00
nomadik-mtu.c clocksource/drivers/ux500: Drop Ux500 custom SCHED_CLOCK 2018-12-18 22:22:23 +01:00
numachip.c x86/numachip: Add const and __initconst to numachip2_clockevent 2017-09-25 09:36:15 +02:00
renesas-ostm.c clocksource/drivers/renesas-ostm: Convert to SPDX identifiers 2018-10-03 14:36:53 +02:00
samsung_pwm_timer.c clocksource/drivers: Rename CLKSRC_OF to TIMER_OF 2017-06-14 12:01:03 +02:00
scx200_hrt.c clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
sh_cmt.c clocksource/drivers/sh_cmt: Add R-Car gen3 support 2018-10-03 14:37:01 +02:00
sh_mtu2.c clocksource/drivers/sh_mtu2: Convert to SPDX identifiers 2018-10-03 14:36:55 +02:00
sh_tmu.c clocksource/drivers/sh_tmu: Convert to SPDX identifiers 2018-10-03 14:36:56 +02:00
tcb_clksrc.c clocksource/drivers/tcb_clksrc: Make tc_clksrc_suspend/resume() static 2019-03-22 22:59:33 +01:00
timer-armada-370-xp.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-atcpit100.c clocksource/drivers: Set clockevent device cpumask to cpu_possible_mask 2018-07-26 11:26:30 +02:00
timer-atlas7.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
timer-atmel-pit.c clocksource/drivers/timer-atmel-pit: Properly handle error cases 2018-09-27 12:01:45 +02:00
timer-atmel-st.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
timer-cadence-ttc.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-cs5535.c clocksource/drivers/timer-cs5535: Rename the file for consistency 2019-02-23 12:13:45 +01:00
timer-digicolor.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
timer-efm32.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-fsl-ftm.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-fttmr010.c clocksource/drivers/fttmr010: Fix invalid interrupt register access 2018-12-18 22:22:23 +01:00
timer-gx6605s.c clocksource/drivers/c-sky: Add gx6605s SOC system timer 2018-11-02 19:41:12 +01:00
timer-imx-gpt.c clocksource/drivers/imx-gpt: Remove unnecessary irq protection 2018-12-18 22:22:23 +01:00
timer-imx-tpm.c clocksource/drivers/timer-imx-tpm: Specify clock name for timer-of 2018-12-18 22:22:23 +01:00
timer-integrator-ap.c clocksource/drivers/integrator-ap: Add missing of_node_put() 2018-12-18 22:22:23 +01:00
timer-keystone.c clocksource/drivers: Set clockevent device cpumask to cpu_possible_mask 2018-07-26 11:26:30 +02:00
timer-lpc32xx.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-mediatek.c clocksource/drivers/timer-mediatek: Add support for system timer 2018-07-26 11:26:34 +02:00
timer-meson6.c clocksource/drivers/meson6: Change name meson6_timer timer-meson6 2018-12-18 22:22:23 +01:00
timer-milbeaut.c clocksource/drivers/timer-milbeaut: Introduce timer for Milbeaut SoCs 2019-03-01 15:18:27 +01:00
timer-mp-csky.c clocksource/drivers/c-sky: fixup ftrace call-graph panic 2018-12-31 23:17:23 +08:00
timer-npcm7xx.c clocksource/drivers/npcm: Add NPCM7xx timer driver 2018-03-30 22:44:09 +02:00
timer-nps.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
timer-of.c clocksource/drivers/timer-of: Don't request the resource by name 2018-01-08 17:57:24 +01:00
timer-of.h clocksource/drivers/timer-of: Store the device node pointer in 'struct timer_of' 2018-01-08 17:57:24 +01:00
timer-orion.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-owl.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-oxnas-rps.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
timer-pistachio.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-prima2.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
timer-probe.c clocksource: Convert to using %pOF instead of full_name 2017-08-31 15:56:17 +02:00
timer-pxa.c clocksource/drivers/timer-pxa: Rename the file for consistency 2019-02-23 12:13:45 +01:00
timer-qcom.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-rda.c clocksource/drivers/rda: Add clock driver for RDA8810PL SoC 2018-12-18 22:22:23 +01:00
timer-riscv.c clocksource/drivers/riscv: Fix clocksource mask 2019-03-23 12:25:34 +01:00
timer-rockchip.c clocksource/drivers/rockchip: Change name rockchip_timer to timer-rockchip 2018-12-18 22:22:23 +01:00
timer-sp804.c clocksource: Convert to using %pOFn instead of device_node.name 2018-10-03 14:36:52 +02:00
timer-sp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
timer-sprd.c clocksource/drivers/sprd: Register one always-on timer to compensate suspend time 2018-07-26 11:26:34 +02:00
timer-stm32.c clocksource/drivers/stm32: Fix error return code 2018-06-12 23:54:01 +02:00
timer-sun4i.c clocksource/drivers/sun4i: Change name sun4i_timer to timer-sun4i 2018-12-18 22:22:23 +01:00
timer-sun5i.c clocksource/drivers/sun5i: Fail gracefully when clock rate is unavailable 2019-02-23 12:13:45 +01:00
timer-tango-xtal.c clocksource/drivers/tango-xtal: Rename the file for consistency 2019-02-23 12:13:45 +01:00
timer-tegra20.c clocksource/drivers/tegra: Add Tegra210 timer support 2019-02-23 12:13:45 +01:00
timer-ti-32k.c clocksource/drivers/ti-32k: Add CLOCK_SOURCE_SUSPEND_NONSTOP flag for non-am43 SoCs 2018-09-13 15:23:35 +02:00
timer-ti-dm.c clocksource/drivers/timer-ti-dm: Make omap_dm_timer_set_load_start() static 2019-03-22 22:59:33 +01:00
timer-u300.c clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE 2017-06-14 11:58:45 +02:00
timer-versatile.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-vf-pit.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00
timer-vt8500.c clocksource/drivers/timer-vt8500: Remove duplicate function name 2018-12-18 22:22:23 +01:00
timer-zevio.c clocksource/drivers: Unify the names to timer-* format 2018-10-03 14:37:02 +02:00