cpu/intel/common: Add intel_ht_supported function
				
					
				
			Change-Id: I90c0378c4042dec39c8c86c1d2339a5cbcfe78e3 Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/44210 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
		@@ -3,7 +3,7 @@
 | 
				
			|||||||
#ifndef _CPU_INTEL_COMMON_H
 | 
					#ifndef _CPU_INTEL_COMMON_H
 | 
				
			||||||
#define _CPU_INTEL_COMMON_H
 | 
					#define _CPU_INTEL_COMMON_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdint.h>
 | 
					#include <types.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void set_vmx_and_lock(void);
 | 
					void set_vmx_and_lock(void);
 | 
				
			||||||
void set_feature_ctrl_vmx(void);
 | 
					void set_feature_ctrl_vmx(void);
 | 
				
			||||||
@@ -17,6 +17,11 @@ void set_feature_ctrl_lock(void);
 | 
				
			|||||||
struct cppc_config;
 | 
					struct cppc_config;
 | 
				
			||||||
void cpu_init_cppc_config(struct cppc_config *config, u32 version);
 | 
					void cpu_init_cppc_config(struct cppc_config *config, u32 version);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Returns true if CPU supports Hyper-Threading.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					bool intel_ht_supported(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Returns true if it's not thread 0 on a hyperthreading enabled core.
 | 
					 * Returns true if it's not thread 0 on a hyperthreading enabled core.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,13 @@
 | 
				
			|||||||
#include <cpu/x86/lapic.h>
 | 
					#include <cpu/x86/lapic.h>
 | 
				
			||||||
#include <cpu/intel/common/common.h>
 | 
					#include <cpu/intel/common/common.h>
 | 
				
			||||||
#include <arch/cpu.h>
 | 
					#include <arch/cpu.h>
 | 
				
			||||||
 | 
					#include <types.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool intel_ht_supported(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						/* Is HyperThreading supported? */
 | 
				
			||||||
 | 
						return !!(cpuid_edx(1) & CPUID_FEAURE_HTT);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Return true if running thread does not have the smallest lapic ID
 | 
					 * Return true if running thread does not have the smallest lapic ID
 | 
				
			||||||
@@ -13,8 +20,7 @@ bool intel_ht_sibling(void)
 | 
				
			|||||||
	struct cpuid_result result;
 | 
						struct cpuid_result result;
 | 
				
			||||||
	unsigned int core_ids, apic_ids, threads;
 | 
						unsigned int core_ids, apic_ids, threads;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Is Hyper-Threading supported */
 | 
						if (!intel_ht_supported())
 | 
				
			||||||
	if (!(cpuid_edx(1) & CPUID_FEAURE_HTT))
 | 
					 | 
				
			||||||
		return false;
 | 
							return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	apic_ids = 1;
 | 
						apic_ids = 1;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user