Snap for 7633090 from 08a9789fef
to android12-5.10-keystone-qcom-release
Change-Id: I280ab79dacbfc94dbfe8db839dca4a9d276e0c19
This commit is contained in:
@@ -165,25 +165,6 @@ static inline void arch_timer_set_cntkctl(u32 cntkctl)
|
|||||||
isb();
|
isb();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Ensure that reads of the counter are treated the same as memory reads
|
|
||||||
* for the purposes of ordering by subsequent memory barriers.
|
|
||||||
*
|
|
||||||
* This insanity brought to you by speculative system register reads,
|
|
||||||
* out-of-order memory accesses, sequence locks and Thomas Gleixner.
|
|
||||||
*
|
|
||||||
* http://lists.infradead.org/pipermail/linux-arm-kernel/2019-February/631195.html
|
|
||||||
*/
|
|
||||||
#define arch_counter_enforce_ordering(val) do { \
|
|
||||||
u64 tmp, _val = (val); \
|
|
||||||
\
|
|
||||||
asm volatile( \
|
|
||||||
" eor %0, %1, %1\n" \
|
|
||||||
" add %0, sp, %0\n" \
|
|
||||||
" ldr xzr, [%0]" \
|
|
||||||
: "=r" (tmp) : "r" (_val)); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
static __always_inline u64 __arch_counter_get_cntpct_stable(void)
|
static __always_inline u64 __arch_counter_get_cntpct_stable(void)
|
||||||
{
|
{
|
||||||
u64 cnt;
|
u64 cnt;
|
||||||
@@ -224,8 +205,6 @@ static __always_inline u64 __arch_counter_get_cntvct(void)
|
|||||||
return cnt;
|
return cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef arch_counter_enforce_ordering
|
|
||||||
|
|
||||||
static inline int arch_timer_arch_init(void)
|
static inline int arch_timer_arch_init(void)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@@ -71,6 +71,25 @@ static inline unsigned long array_index_mask_nospec(unsigned long idx,
|
|||||||
return mask;
|
return mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Ensure that reads of the counter are treated the same as memory reads
|
||||||
|
* for the purposes of ordering by subsequent memory barriers.
|
||||||
|
*
|
||||||
|
* This insanity brought to you by speculative system register reads,
|
||||||
|
* out-of-order memory accesses, sequence locks and Thomas Gleixner.
|
||||||
|
*
|
||||||
|
* http://lists.infradead.org/pipermail/linux-arm-kernel/2019-February/631195.html
|
||||||
|
*/
|
||||||
|
#define arch_counter_enforce_ordering(val) do { \
|
||||||
|
u64 tmp, _val = (val); \
|
||||||
|
\
|
||||||
|
asm volatile( \
|
||||||
|
" eor %0, %1, %1\n" \
|
||||||
|
" add %0, sp, %0\n" \
|
||||||
|
" ldr xzr, [%0]" \
|
||||||
|
: "=r" (tmp) : "r" (_val)); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define __smp_mb() dmb(ish)
|
#define __smp_mb() dmb(ish)
|
||||||
#define __smp_rmb() dmb(ishld)
|
#define __smp_rmb() dmb(ishld)
|
||||||
#define __smp_wmb() dmb(ishst)
|
#define __smp_wmb() dmb(ishst)
|
||||||
|
@@ -83,11 +83,7 @@ static __always_inline u64 __arch_get_hw_counter(s32 clock_mode,
|
|||||||
*/
|
*/
|
||||||
isb();
|
isb();
|
||||||
asm volatile("mrs %0, cntvct_el0" : "=r" (res) :: "memory");
|
asm volatile("mrs %0, cntvct_el0" : "=r" (res) :: "memory");
|
||||||
/*
|
arch_counter_enforce_ordering(res);
|
||||||
* This isb() is required to prevent that the seq lock is
|
|
||||||
* speculated.#
|
|
||||||
*/
|
|
||||||
isb();
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
@@ -52,6 +52,7 @@ CONFIG_X86_X2APIC=y
|
|||||||
CONFIG_HYPERVISOR_GUEST=y
|
CONFIG_HYPERVISOR_GUEST=y
|
||||||
CONFIG_PARAVIRT=y
|
CONFIG_PARAVIRT=y
|
||||||
CONFIG_NR_CPUS=32
|
CONFIG_NR_CPUS=32
|
||||||
|
# CONFIG_X86_MCE is not set
|
||||||
CONFIG_EFI=y
|
CONFIG_EFI=y
|
||||||
CONFIG_CMDLINE_BOOL=y
|
CONFIG_CMDLINE_BOOL=y
|
||||||
CONFIG_CMDLINE="stack_depot_disable=on cgroup_disable=pressure cgroup.memory=nokmem"
|
CONFIG_CMDLINE="stack_depot_disable=on cgroup_disable=pressure cgroup.memory=nokmem"
|
||||||
@@ -358,7 +359,6 @@ CONFIG_THERMAL_GOV_USER_SPACE=y
|
|||||||
CONFIG_CPU_THERMAL=y
|
CONFIG_CPU_THERMAL=y
|
||||||
CONFIG_DEVFREQ_THERMAL=y
|
CONFIG_DEVFREQ_THERMAL=y
|
||||||
CONFIG_THERMAL_EMULATION=y
|
CONFIG_THERMAL_EMULATION=y
|
||||||
# CONFIG_X86_PKG_TEMP_THERMAL is not set
|
|
||||||
CONFIG_WATCHDOG=y
|
CONFIG_WATCHDOG=y
|
||||||
CONFIG_WATCHDOG_CORE=y
|
CONFIG_WATCHDOG_CORE=y
|
||||||
CONFIG_MFD_SYSCON=y
|
CONFIG_MFD_SYSCON=y
|
||||||
|
Reference in New Issue
Block a user