linux_dsm_epyc7002/arch/arm64/kernel
Suzuki K Poulose 0710cfdb8d arm64: cpufeature: Fix the sign of feature bits
There is a confusion on whether the values of a feature are signed
or not in ARM. This is not clearly mentioned in the ARM ARM either.
We have dealt most of the bits as signed so far, and marked the
rest as unsigned explicitly. This fixed in ARM ARM and will be rolled
out soon.

Here is the criteria in a nutshell:

1) The fields, which are either signed or unsigned, use increasing
   numerical values to indicate an increase in functionality. Thus, if a value
   of 0x1 indicates the presence of some instructions, then the 0x2 value will
   indicate the presence of those instructions plus some additional instructions
   or functionality.

2) For ID field values where the value 0x0 defines that a feature is not present,
   the number is an unsigned value.

3) For some features where the feature was made optional or removed after the
   start of the definition of the architecture, the value 0x0 is used to
   indicate the presence of a feature, and 0xF indicates the absence of the
   feature. In these cases, the fields are, in effect, holding signed values.

So with these rules applied, we have only the following fields which are signed and
the rest are unsigned.

 a) ID_AA64PFR0_EL1: {FP, ASIMD}
 b) ID_AA64MMFR0_EL1: {TGran4K, TGran64K}
 c) ID_AA64DFR0_EL1: PMUVer (0xf - PMUv3 not implemented)
 d) ID_DFR0_EL1: PerfMon
 e) ID_MMFR0_EL1: {InnerShr, OuterShr}

Signed-off-by: Suzuki K. Poulose <suzuki.poulose@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-02-25 10:33:07 +00:00
..
vdso arm64: vdso: Mark vDSO code as read-only 2016-02-16 18:20:23 +00:00
.gitignore arm64: Build infrastructure 2012-09-17 13:42:21 +01:00
acpi_parking_protocol.c arm64: kernel: implement ACPI parking protocol 2016-02-16 15:12:32 +00:00
acpi.c Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
alternative.c arm64: mm: fold alternatives into .init 2015-12-10 17:36:08 +00:00
arm64ksyms.c ARM: 8480/2: arm64: add implementation for arm-smccc 2016-01-04 16:24:45 +00:00
armv8_deprecated.c arm64: switch to relative exception tables 2016-02-24 14:57:26 +00:00
asm-offsets.c arm64: Handle early CPU boot failures 2016-02-25 10:32:23 +00:00
cacheinfo.c arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cpu_errata.c arm64: prefetch: add alternative pattern for CPUs without a prefetcher 2016-02-16 15:12:32 +00:00
cpu_ops.c arm64: kernel: implement ACPI parking protocol 2016-02-16 15:12:32 +00:00
cpufeature.c arm64: cpufeature: Fix the sign of feature bits 2016-02-25 10:33:07 +00:00
cpuidle.c arm64: cpuidle: add __init section marker to arm_cpuidle_init 2015-07-02 17:44:27 +01:00
cpuinfo.c arm64: add ARMv8.2 id_aa64mmfr2 boiler plate 2016-02-18 12:00:01 +00:00
debug-monitors.c arm64: replace read_lock to rcu lock in call_step_hook 2016-02-16 15:40:45 +00:00
efi-entry.S arm64: avoid dynamic relocations in early boot code 2016-02-24 14:57:25 +00:00
efi.c arm64/efi: refactor EFI init and runtime code for reuse by 32-bit ARM 2015-12-09 16:57:23 +00:00
entry32.S arm64: entry32: remove pointless register assignment 2015-07-10 16:47:13 +01:00
entry-fpsimd.S arm64: fpsimd: fix a typo in fpsimd_save_partial_state ENDPROC 2014-07-31 11:42:42 +01:00
entry-ftrace.S arm64: ftrace: fix function_graph tracer panic 2015-10-02 11:12:56 +01:00
entry.S arm64: entry: remove pointless SPSR mode check 2016-01-06 15:40:38 +00:00
fpsimd.c arm64: add __init/__initdata section marker to some functions/variables 2015-12-02 12:17:11 +00:00
ftrace.c arm64: ftrace: modify a stack frame in a safe way 2015-12-21 17:26:01 +00:00
head.S arm64: Handle early CPU boot failures 2016-02-25 10:32:23 +00:00
hw_breakpoint.c arm64: Fix missing #include in hw_breakpoint.c 2015-10-12 12:10:53 +01:00
hyp-stub.S irqchip: gic-v3: Initial support for GICv3 2014-07-08 22:11:47 +00:00
image.h arm64: avoid R_AARCH64_ABS64 relocations for Image header fields 2016-02-24 14:57:25 +00:00
insn.c arm64: insn: remove BUG_ON from codegen 2016-01-17 19:15:26 -05:00
io.c arm64: optimize memcpy_{from,to}io() and memset_io() 2014-11-06 17:25:27 +00:00
irq.c arm64: remove irq_count and do_softirq_own_stack() 2015-12-21 17:26:01 +00:00
jump_label.c jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} 2015-08-03 11:34:12 +02:00
kaslr.c arm64: kaslr: randomize the linear region 2016-02-24 14:57:27 +00:00
kgdb.c arm64/debug: Simplify BRK insn opcode declarations 2015-07-27 11:08:42 +01:00
kuser32.S arm64: Add __NR_* definitions for compat syscalls 2014-07-10 11:02:40 +01:00
Makefile arm64: add support for kernel ASLR 2016-02-24 14:57:27 +00:00
module-plts.c arm64: add support for module PLTs 2016-02-24 14:57:24 +00:00
module.c arm64: add support for kernel ASLR 2016-02-24 14:57:27 +00:00
module.lds arm64: add support for module PLTs 2016-02-24 14:57:24 +00:00
paravirt.c arm64: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops 2015-12-21 14:40:54 +00:00
pci.c ARM64: PCI: do not enable resources on PROBE_ONLY systems 2015-07-30 20:17:07 +01:00
perf_callchain.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
perf_event.c arm64: perf: add support for Cortex-A72 2015-12-22 14:45:35 +00:00
perf_regs.c perf: Move task_pt_regs sampling into arch code 2015-01-09 11:12:28 +01:00
process.c arm64: Remove the get_thread_info() function 2016-02-18 17:27:05 +00:00
psci.c drivers: firmware: psci: move power_state handling to generic code 2015-10-02 14:35:16 +01:00
ptrace.c arm64: Clear out any singlestep state on a ptrace detach operation 2015-12-07 17:48:21 +00:00
return_address.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
setup.c arm64: add support for kernel ASLR 2016-02-24 14:57:27 +00:00
signal32.c arm64: compat: fix vfp save/restore across signal handlers in big-endian 2015-09-17 11:57:03 +01:00
signal.c arm64: Removed unused variable 2015-04-13 20:40:10 +02:00
sleep.S arm64: Store struct thread_info in sp_el0 2015-12-08 11:40:48 +00:00
smccc-call.S ARM: 8480/2: arm64: add implementation for arm-smccc 2016-01-04 16:24:45 +00:00
smp_spin_table.c ARM64: kernel: make cpu_ops hooks DT agnostic 2015-05-19 16:09:29 +01:00
smp.c arm64: Handle early CPU boot failures 2016-02-25 10:32:23 +00:00
stacktrace.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
suspend.c arm64: unify idmap removal 2016-02-16 15:10:44 +00:00
sys32.c arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
sys_compat.c arm64: compat: align cacheflush syscall with arch/arm 2014-12-01 13:31:12 +00:00
sys.c arm64: make sys_call_table const 2015-01-27 09:38:08 +00:00
time.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
topology.c arm64: kernel: remove non-legit DT warnings when booting using ACPI 2015-07-27 11:08:41 +01:00
trace-events-emulation.h arm64: Trace emulation of AArch32 legacy instructions 2014-11-20 16:35:02 +00:00
traps.c arm64: traps: address fallout from printk -> pr_* conversion 2015-12-21 17:26:02 +00:00
vdso.c arm64: VDSO: fix coarse clock monotonicity regression 2015-08-10 15:37:45 +01:00
vmlinux.lds.S arm64: add support for building vmlinux as a relocatable PIE binary 2016-02-24 14:57:27 +00:00