Message ID | cover.1650918160.git.reinette.chatre@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | selftests: Remove duplicate CPUID wrappers | expand |
On 4/25/22 3:01 PM, Reinette Chatre wrote: > Changes since V2: > - V2: https://lore.kernel.org/lkml/cover.1647360971.git.reinette.chatre@intel.com/ > - Rebased against v5.18-rc4, no functional changes. > - Add text in cover letter and first patch to highlight that > the __cpuid_count() macro provided is not a new implementation but > copied from gcc. > > Changes since V1: > - V1: https://lore.kernel.org/lkml/cover.1644000145.git.reinette.chatre@intel.com/ > - Change solution to not use __cpuid_count() from compiler's > cpuid.h but instead use a local define of __cpuid_count() > provided in kselftest.h to ensure tests continue working > in all supported environments. (Shuah) > - Rewrite cover letter and changelogs to reflect new solution. > > A few tests that require running CPUID do so with a private > implementation of a wrapper for CPUID. This duplication of > the CPUID wrapper should be avoided. > > Both gcc and clang/LLVM provide wrappers for CPUID but > the wrappers are not available in the minimal required > version of gcc, v3.2, that the selftests need to be used > in. __cpuid_count() was added to gcc in v4.4, which is ok for > kernels after v4.19 when the gcc minimal required version > was changed to v4.6. > > Copy gcc's __cpuid_count() to provide a local define of > __cpuid_count() to kselftest.h to ensure that selftests can > still work in environments with older stable kernels (v4.9 > and v4.14 that have the minimal required version of gcc of > v3.2). Update tests with private CPUID wrappers to use the > new macro. > > Cc: Dave Hansen <dave.hansen@linux.intel.com> > Cc: Sandipan Das <sandipan@linux.ibm.com> > Cc: Florian Weimer <fweimer@redhat.com> > Cc: "Desnes A. Nunes do Rosario" <desnesn@linux.vnet.ibm.com> > Cc: Ingo Molnar <mingo@kernel.org> > Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: Michal Suchanek <msuchanek@suse.de> > Cc: linux-mm@kvack.org > Cc: Chang S. Bae <chang.seok.bae@intel.com> > Cc: Borislav Petkov <bp@suse.de> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: "H. Peter Anvin" <hpa@zytor.com> > Cc: x86@kernel.org > Cc: Andy Lutomirski <luto@kernel.org> > > Reinette Chatre (4): > selftests: Provide local define of __cpuid_count() > selftests/vm/pkeys: Use provided __cpuid_count() macro > selftests/x86/amx: Use provided __cpuid_count() macro > selftests/x86/corrupt_xstate_header: Use provided __cpuid_count() > macro > > tools/testing/selftests/kselftest.h | 15 ++++++++++++ > tools/testing/selftests/vm/pkey-x86.h | 21 ++-------------- > tools/testing/selftests/x86/amx.c | 24 ++++++------------- > .../selftests/x86/corrupt_xstate_header.c | 16 ++----------- > 4 files changed, 26 insertions(+), 50 deletions(-) > > > base-commit: af2d861d4cd2a4da5137f795ee3509e6f944a25b > Thank you. I will queue this up for Linux 5.19-rc1 thanks, -- Shuah