search for: detect_ht

Displaying 20 results from an estimated 21 matches for "detect_ht".

2006 May 29
2
Hyperthreading
Hi, All: Does the guest OS need to detect hyperthreading? One would think that the hypervisor decides what to schedule on what CPU, and the job of the guest is not to be too smart for its own good. So, my first reaction was to comment detect_ht() altogether. Fedora Core 5 has the code in detect_ht(), though I have no idea what the results of this are on HT CPUs, if they match the reality. Thanks, -- Pete _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-d...
2013 Nov 11
2
[PATCH] x86/Intel: don't probe CPUID faulting on family 0xf CPUs
...rselves from emitting the resulting #GP fault recovery related message (which might worry people looking at the logs). Signed-off-by: Jan Beulich <jbeulich@suse.com> --- a/xen/arch/x86/cpu/intel.c +++ b/xen/arch/x86/cpu/intel.c @@ -204,7 +204,7 @@ static void __devinit init_intel(struct detect_ht(c); } - if (smp_processor_id() == 0) { + if (c == &boot_cpu_data && c->x86 == 6) { if (probe_intel_cpuid_faulting()) set_bit(X86_FEATURE_CPUID_FAULTING, c->x86_capability); } else if (boot_cpu_has(X86_FEATURE_CPUID_FAULTING)) { ___________________________________...
2011 Mar 14
0
[PATCH] x86: add volatile prefix for cpuid asm clauses
...with ebx. Signed-off-by: Wei Gang <gang.wei@intel.com> diff -r dc902ffeed73 xen/include/asm-x86/processor.h --- a/xen/include/asm-x86/processor.h Thu Mar 10 18:37:40 2011 +0000 +++ b/xen/include/asm-x86/processor.h Wed Mar 16 02:30:49 2011 +0800 @@ -223,7 +223,7 @@ static always_inline void detect_ht(stru * resulting in stale register contents being returned. */ #define cpuid(_op,_eax,_ebx,_ecx,_edx) \ - asm ( "cpuid" \ + asm volatile ( "cpuid" \ : "=a" (*(int *)(_eax)),...
2007 Apr 18
0
[PATCH 2/2] x86: clean up identify_cpu
...This does the hard work of actually picking apart the CPU stuff... */ -void __cpuinit identify_cpu(struct cpuinfo_x86 *c) +static void __cpuinit identify_cpu(struct cpuinfo_x86 *c) { int i; u32 xlvl; @@ -870,31 +870,50 @@ void __cpuinit identify_cpu(struct cpuin select_idle_routine(c); detect_ht(c); +} + +void __init identify_boot_cpu(void) +{ + identify_cpu(&boot_cpu_data); + +#ifdef CONFIG_X86_MCE + mcheck_init(&boot_cpu_data); +#endif + + mtrr_bp_init(); + +#ifdef CONFIG_NUMA + numa_add_cpu(smp_processor_id()); +#endif +} + +void __cpuinit identify_secondary_cpu(struct cpuinfo_...
2007 Apr 18
0
[PATCH 2/2] x86: clean up identify_cpu
...This does the hard work of actually picking apart the CPU stuff... */ -void __cpuinit identify_cpu(struct cpuinfo_x86 *c) +static void __cpuinit identify_cpu(struct cpuinfo_x86 *c) { int i; u32 xlvl; @@ -870,31 +870,50 @@ void __cpuinit identify_cpu(struct cpuin select_idle_routine(c); detect_ht(c); +} + +void __init identify_boot_cpu(void) +{ + identify_cpu(&boot_cpu_data); + +#ifdef CONFIG_X86_MCE + mcheck_init(&boot_cpu_data); +#endif + + mtrr_bp_init(); + +#ifdef CONFIG_NUMA + numa_add_cpu(smp_processor_id()); +#endif +} + +void __cpuinit identify_secondary_cpu(struct cpuinfo_...
2007 Apr 18
1
[RFC, PATCH 12/24] i386 Vmi processor header
...86/processor.h =================================================================== --- linux-2.6.16-rc5.orig/include/asm-i386/processor.h 2006-03-10 12:55:09.000000000 -0800 +++ linux-2.6.16-rc5/include/asm-i386/processor.h 2006-03-10 13:03:35.000000000 -0800 @@ -137,79 +137,6 @@ static inline void detect_ht(struct cpui #define X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */ /* - * Generic CPUID function - * clear %ecx since some cpus (Cyrix MII) do not set or clear %ecx - * resulting in stale register contents being returned. - */ -static inline void cpuid(unsigned int op, unsigned int *eax, u...
2007 Apr 18
1
[RFC, PATCH 12/24] i386 Vmi processor header
...86/processor.h =================================================================== --- linux-2.6.16-rc5.orig/include/asm-i386/processor.h 2006-03-10 12:55:09.000000000 -0800 +++ linux-2.6.16-rc5/include/asm-i386/processor.h 2006-03-10 13:03:35.000000000 -0800 @@ -137,79 +137,6 @@ static inline void detect_ht(struct cpui #define X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */ /* - * Generic CPUID function - * clear %ecx since some cpus (Cyrix MII) do not set or clear %ecx - * resulting in stale register contents being returned. - */ -static inline void cpuid(unsigned int op, unsigned int *eax, u...
2007 Apr 18
3
[PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops
...6/processor.h +++ b/include/asm-i386/processor.h @@ -20,6 +20,7 @@ #include <linux/threads.h> #include <asm/percpu.h> #include <linux/cpumask.h> +#include <asm/paravirt.h> /* flag for disabling the tsc */ extern int tsc_disable; @@ -143,18 +144,6 @@ static inline void detect_ht(struct cpui #define X86_EFLAGS_VIP 0x00100000 /* Virtual Interrupt Pending */ #define X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */ -static inline void __cpuid(unsigned int *eax, unsigned int *ebx, - unsigned int *ecx, unsigned int *edx) -{ - /* ecx is often an input as well as an ou...
2007 Apr 18
3
[PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops
...6/processor.h +++ b/include/asm-i386/processor.h @@ -20,6 +20,7 @@ #include <linux/threads.h> #include <asm/percpu.h> #include <linux/cpumask.h> +#include <asm/paravirt.h> /* flag for disabling the tsc */ extern int tsc_disable; @@ -143,18 +144,6 @@ static inline void detect_ht(struct cpui #define X86_EFLAGS_VIP 0x00100000 /* Virtual Interrupt Pending */ #define X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */ -static inline void __cpuid(unsigned int *eax, unsigned int *ebx, - unsigned int *ecx, unsigned int *edx) -{ - /* ecx is often an input as well as an ou...
2007 Apr 18
5
[PATCH] paravirt.h
...ot; (counter)) +#endif /* !CONFIG_PARAVIRT */ /* symbolic names for some interesting MSRs */ /* Intel defined MSRs. */ =================================================================== --- a/include/asm-i386/processor.h +++ b/include/asm-i386/processor.h @@ -143,6 +143,9 @@ static inline void detect_ht(struct cpui #define X86_EFLAGS_VIP 0x00100000 /* Virtual Interrupt Pending */ #define X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */ +#ifdef CONFIG_PARAVIRT +#include <asm/paravirt.h> +#else static inline void __cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, u...
2007 Apr 18
5
[PATCH] paravirt.h
...ot; (counter)) +#endif /* !CONFIG_PARAVIRT */ /* symbolic names for some interesting MSRs */ /* Intel defined MSRs. */ =================================================================== --- a/include/asm-i386/processor.h +++ b/include/asm-i386/processor.h @@ -143,6 +143,9 @@ static inline void detect_ht(struct cpui #define X86_EFLAGS_VIP 0x00100000 /* Virtual Interrupt Pending */ #define X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */ +#ifdef CONFIG_PARAVIRT +#include <asm/paravirt.h> +#else static inline void __cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, u...
2007 Apr 18
8
[patch 0/8] Basic infrastructure patches for a paravirtualized kernel
Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. The main change from the last posting is that all the page-table related patches have been moved out, and will be posted separately. Also, the off-by-one in reserving the top of address space has been
2007 Apr 18
8
[patch 0/8] Basic infrastructure patches for a paravirtualized kernel
Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. The main change from the last posting is that all the page-table related patches have been moved out, and will be posted separately. Also, the off-by-one in reserving the top of address space has been
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
Hi all, I've been looking at finding common ground between the VMI, Xen and other paravirtualization approaches, and after some discussion, we're getting somewhere. These first two patches are the fundamentals, stolen mainly from the VMI patches: removing assumptions about the kernel running in ring 0, and macro-izing all the obvious para-virtualize-needing insns. The third patch is
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
Hi all, I've been looking at finding common ground between the VMI, Xen and other paravirtualization approaches, and after some discussion, we're getting somewhere. These first two patches are the fundamentals, stolen mainly from the VMI patches: removing assumptions about the kernel running in ring 0, and macro-izing all the obvious para-virtualize-needing insns. The third patch is
2007 Apr 18
15
[PATCH 0 of 13] Basic infrastructure patches for a paravirtualized kernel
[ REPOST: Apologies to anyone who has seen this before. It didn't make it onto any of the lists it should have. -J ] Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. For the most part, these patches do nothing or very little. The patches should
2007 Apr 18
15
[PATCH 0 of 13] Basic infrastructure patches for a paravirtualized kernel
[ REPOST: Apologies to anyone who has seen this before. It didn't make it onto any of the lists it should have. -J ] Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. For the most part, these patches do nothing or very little. The patches should
2007 Apr 18
3
[PATCH 1/2] paravirt.h header
OK, this is the revised paravirt.h (Andi has seen this before), then the second is the binary patching stuff. More things get added to the paravirt struct in future patches, but this basic stuff hasn't changed for some time. ==== This patch does the dumbest possible replacement of paravirtualized instructions: calls through a "paravirt_ops" structure. Currently these are function
2007 Apr 18
8
[PATCH 0/7] x86 paravirtualization infrastructure
The following patches introduce the core infrastructure needed to paravirtualize the 32-bit x86 Linux kernel. This is done by moving virtualization sensitive insn's or code paths to a function table, paravirt_ops. This structure can be populated with hypervisor specific calls or native stubs and currently support running on bare metal, VMI, Xen, or Lhype. These patches apply to
2007 Apr 18
8
[PATCH 0/7] x86 paravirtualization infrastructure
The following patches introduce the core infrastructure needed to paravirtualize the 32-bit x86 Linux kernel. This is done by moving virtualization sensitive insn's or code paths to a function table, paravirt_ops. This structure can be populated with hypervisor specific calls or native stubs and currently support running on bare metal, VMI, Xen, or Lhype. These patches apply to