[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86: don't include processor.h from system.h
commit 5d8f05e10646aeef1c4a49610c0c44a7cdaf62a3 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Thu Mar 16 13:23:14 2023 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Thu Mar 16 13:23:14 2023 +0100 x86: don't include processor.h from system.h processor.h in particular pulls in xen/smp.h, which is overly heavy for a supposedly pretty fundamental header like system.h. To keep things building, move the declarations of struct cpuinfo_x86 and boot_cpu_data to asm/cpufeature.h (which arguably also is where they belong). In the course of the move switch away from using fixed-width types and convert plain "int" to "unsigned int" for the two x86_cache_* fields. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- xen/arch/x86/include/asm/cpufeature.h | 24 ++++++++++++++++++++++++ xen/arch/x86/include/asm/processor.h | 28 ---------------------------- xen/arch/x86/include/asm/system.h | 3 ++- 3 files changed, 26 insertions(+), 29 deletions(-) diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h index 0a301013c3..3cacc237ee 100644 --- a/xen/arch/x86/include/asm/cpufeature.h +++ b/xen/arch/x86/include/asm/cpufeature.h @@ -19,6 +19,30 @@ #ifndef __ASSEMBLY__ #include <xen/bitops.h> +struct cpuinfo_x86 { + unsigned char x86; /* CPU family */ + unsigned char x86_vendor; /* CPU vendor */ + unsigned char x86_model; + unsigned char x86_mask; + int cpuid_level; /* Maximum supported CPUID level, -1=no CPUID */ + unsigned int extended_cpuid_level; /* Maximum supported CPUID extended level */ + unsigned int x86_capability[NCAPINTS]; + char x86_vendor_id[16]; + char x86_model_id[64]; + unsigned int x86_cache_size; /* in KB - valid only when supported */ + unsigned int x86_cache_alignment; /* In bytes */ + unsigned int x86_max_cores; /* cpuid returned max cores value */ + unsigned int booted_cores; /* number of cores as seen by OS */ + unsigned int x86_num_siblings; /* cpuid logical cpus per chip value */ + unsigned int apicid; + unsigned int phys_proc_id; /* package ID of each logical CPU */ + unsigned int cpu_core_id; /* core ID of each logical CPU */ + unsigned int compute_unit_id; /* AMD compute unit ID of each logical CPU */ + unsigned short x86_clflush_size; +} __cacheline_aligned; + +extern struct cpuinfo_x86 boot_cpu_data; + #define cpu_has(c, bit) test_bit(bit, (c)->x86_capability) #define boot_cpu_has(bit) test_bit(bit, boot_cpu_data.x86_capability) diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h index 8a73d3d8b1..677d49ebed 100644 --- a/xen/arch/x86/include/asm/processor.h +++ b/xen/arch/x86/include/asm/processor.h @@ -118,34 +118,6 @@ struct x86_cpu_id { const void *driver_data; }; -struct cpuinfo_x86 { - uint8_t x86; /* CPU family */ - uint8_t x86_vendor; /* CPU vendor */ - uint8_t x86_model; - uint8_t x86_mask; - int cpuid_level; /* Maximum supported CPUID level, -1=no CPUID */ - uint32_t extended_cpuid_level; /* Maximum supported CPUID extended level */ - unsigned int x86_capability[NCAPINTS]; - char x86_vendor_id[16]; - char x86_model_id[64]; - int x86_cache_size; /* in KB - valid for CPUS which support this call */ - int x86_cache_alignment; /* In bytes */ - uint32_t x86_max_cores; /* cpuid returned max cores value */ - uint32_t booted_cores; /* number of cores as seen by OS */ - uint32_t x86_num_siblings; /* cpuid logical cpus per chip value */ - uint32_t apicid; - uint32_t phys_proc_id; /* package ID of each logical CPU */ - uint32_t cpu_core_id; /* core ID of each logical CPU */ - uint32_t compute_unit_id; /* AMD compute unit ID of each logical CPU */ - unsigned short x86_clflush_size; -} __cacheline_aligned; - -/* - * capabilities of CPUs - */ - -extern struct cpuinfo_x86 boot_cpu_data; - extern struct cpuinfo_x86 cpu_data[]; #define current_cpu_data cpu_data[smp_processor_id()] diff --git a/xen/arch/x86/include/asm/system.h b/xen/arch/x86/include/asm/system.h index 65e63de69a..6e40a03cb3 100644 --- a/xen/arch/x86/include/asm/system.h +++ b/xen/arch/x86/include/asm/system.h @@ -3,7 +3,8 @@ #include <xen/lib.h> #include <xen/bitops.h> -#include <asm/processor.h> +#include <asm/cpufeature.h> +#include <asm/x86-defns.h> static inline void wbinvd(void) { -- generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |