x86/perf/zhaoxin: Add stepping check for ZXC
silviazhao authored
Some of Nano series processors will lead GP when accessing
PMC fixed counter. Meanwhile, their hardware support for PMC
has not announced externally. So exclude Nano CPUs from ZXC
by checking stepping information. This is an unambiguous way
to differentiate between ZXC and Nano CPUs.

Following are Nano and ZXC FMS information:
Nano FMS: Family=6, Model=F, Stepping=[0-A][C-D]
ZXC FMS:  Family=6, Model=F, Stepping=E-F OR
          Family=6, Model=0x19, Stepping=0-3

Fixes: 3a4ac121

 ("x86/perf: Add hardware performance events support for Zhaoxin CPU.")
Reported-by: default avatarArjan <8vvbbqzo567a@nospam.xutrox.com>
Reported-by: default avatarKevin Brace <kevinbrace@gmx.com>
Signed-off-by: default avatarsilviazhao <silviazhao-oc@zhaoxin.com>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=212389
fd636b6a
Name Last commit Last update
Documentation Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
LICENSES LICENSES: Add the copyleft-next-0.3.1 license
arch x86/perf/zhaoxin: Add stepping check for ZXC
block Merge tag 'block-6.2-2023-01-13' of git://git.kernel.dk/linux
certs certs: make system keyring depend on built-in x509 parser
crypto Merge tag 'v6.2-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
drivers Merge tag 'edac_urgent_for_v6.2_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras
fs Merge tag '6.2-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6
include perf/core: Introduce perf_prepare_header()
init Merge tag 'hardening-v6.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
io_uring io_uring: lock overflowing for IOPOLL
ipc Merge tag 'mm-nonmm-stable-2022-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
kernel perf/core: Call perf_prepare_sample() before running BPF
lib lockref: stop doing cpu_relax in the cmpxchg loop
mm mm: Always release pages to the buddy allocator in memblock_free_late().
net Merge tag 'net-6.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
rust rust: types: add `Opaque` type
samples Merge tag 'char-misc-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
scripts Merge tag 'hardening-v6.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
security Merge tag 'hardening-v6.2-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
sound Merge tag 'sound-6.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
tools Merge tag 'fixes-2023-01-14' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock
usr usr/gen_init_cpio.c: remove unnecessary -1 values from int file
virt KVM: Ensure lockdep knows about kvm->lock vs. vcpu->mutex ordering rule
.clang-format Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.