/* SPDX-License-Identifier: GPL-2.0 */ #ifndef LINUX_DEVICE_ID_X86_CPU_H #define LINUX_DEVICE_ID_X86_CPU_H #ifdef __KERNEL__ #include typedef unsigned long kernel_ulong_t; #endif /* Wild cards for x86_cpu_id::vendor, family, model and feature */ #define X86_VENDOR_ANY 0xffff #define X86_FAMILY_ANY 0 #define X86_MODEL_ANY 0 #define X86_STEPPING_ANY 0 #define X86_STEP_MIN 0 #define X86_STEP_MAX 0xf #define X86_PLATFORM_ANY 0x0 #define X86_FEATURE_ANY 0 /* Same as FPU, you can't test for that */ #define X86_CPU_TYPE_ANY 0 /* * Match x86 CPUs for CPU specific drivers. * See documentation of "x86_match_cpu" for details. */ /* * MODULE_DEVICE_TABLE expects this struct to be called x86cpu_device_id. * Although gcc seems to ignore this error, clang fails without this define. */ #define x86cpu_device_id x86_cpu_id struct x86_cpu_id { __u16 vendor; __u16 family; __u16 model; __u16 steppings; __u16 feature; /* bit index */ /* Solely for kernel-internal use: DO NOT EXPORT to userspace! */ __u16 flags; __u8 platform_mask; __u8 type; kernel_ulong_t driver_data; }; #endif /* ifndef LINUX_DEVICE_ID_X86_CPU_H */