kernel_samsung_a53x/arch/arm64/kernel
Amit Daniel Kachhap 3890786229 arm64: cpufeature: Fix the visibility of compat hwcaps
commit 85f1506337f0c79a4955edfeee86a18628e3735f upstream.

Commit 237405ebef58 ("arm64: cpufeature: Force HWCAP to be based on the
sysreg visible to user-space") forced the hwcaps to use sanitised
user-space view of the id registers. However, the ID register structures
used to select few compat cpufeatures (vfp, crc32, ...) are masked and
hence such hwcaps do not appear in /proc/cpuinfo anymore for PER_LINUX32
personality.

Add the ID register structures explicitly and set the relevant entry as
visible. As these ID registers are now of type visible so make them
available in 64-bit userspace by making necessary changes in register
emulation logic and documentation.

While at it, update the comment for structure ftr_generic_32bits[] which
lists the ID register that use it.

Fixes: 237405ebef58 ("arm64: cpufeature: Force HWCAP to be based on the sysreg visible to user-space")
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: James Morse <james.morse@arm.com>
Signed-off-by: Amit Daniel Kachhap <amit.kachhap@arm.com>
Link: https://lore.kernel.org/r/20221103082232.19189-1-amit.kachhap@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-23 23:20:31 +01:00
..
probes Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vdso Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vdso32 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
acpi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
acpi_numa.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
acpi_parking_protocol.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
alternative.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
armv8_deprecated.c arm64: armv8_deprecated: fix unused-function error 2024-11-08 11:26:06 +01:00
asm-offsets.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cacheinfo.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpu-reset.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpu-reset.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpu_errata.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpu_ops.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpufeature.c arm64: cpufeature: Fix the visibility of compat hwcaps 2024-11-23 23:20:31 +01:00
cpuidle.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpuinfo.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
crash_core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
crash_dump.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debug-monitors.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
efi-entry.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
efi-header.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
efi-rt-wrapper.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
efi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
entry-common.c arm64: allow kprobes on EL0 handlers 2024-11-08 11:26:02 +01:00
entry-fpsimd.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
entry-ftrace.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
entry.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fpsimd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ftrace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
head.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hibernate-asm.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hibernate.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hw_breakpoint.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hyp-stub.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
idreg-override.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
image-vars.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
image.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
insn.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
io.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jump_label.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kaslr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kexec_image.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kgdb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kuser32.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
machine_kexec.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
machine_kexec_file.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
module-plts.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
module.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mte.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
paravirt.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
perf_callchain.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
perf_event.c drivers/perf: pmuv3: don't expose SW_INCR event in sysfs 2024-11-18 12:13:07 +01:00
perf_regs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pointer_auth.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
process.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
proton-pack.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
psci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ptrace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
reloc_test_core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
reloc_test_syms.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
relocate_kernel.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
return_address.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdei.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
setup.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
signal.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
signal32.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sigreturn32.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sleep.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
smccc-call.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
smp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
smp_spin_table.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stacktrace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
suspend.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sys.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sys32.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sys_compat.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
syscall.c security: samsung: defex_lsm: nuke 2024-06-15 16:20:49 -03:00
time.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
topology.c arch_topology: Rename freq_scale as arch_freq_scale 2024-11-17 17:45:22 +01:00
trace-events-emulation.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
traps.c arm64: allow kprobes on EL0 handlers 2024-11-08 11:26:02 +01:00
uh_entry.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vdso.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vmlinux.lds.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00