haswell: Export functions for CPU family+model and stepping
These are needed to enable workarounds/features on specific CPU types and stepping. The older northbridge function and defines from sandybridge/ivybridge are removed. Change-Id: I80370f53590a5caa914ec8cf0095c3177a8b5c89 Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/61333 Commit-Queue: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/4355 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
committed by
Stefan Reinauer
parent
f6d6e62aaf
commit
118d105a37
@@ -24,8 +24,20 @@
|
||||
|
||||
#include <arch/cpu.h>
|
||||
|
||||
/* Haswell CPU types */
|
||||
#define HASWELL_FAMILY_MOBILE 0x306c0
|
||||
#define HASWELL_FAMILY_ULT 0x40650
|
||||
|
||||
/* Haswell CPU steppings */
|
||||
#define HASWELL_STEPPING_MOBILE_A0 1
|
||||
#define HASWELL_STEPPING_MOBILE_B0 2
|
||||
#define HASWELL_STEPPING_MOBILE_C0 3
|
||||
#define HASWELL_STEPPING_MOBILE_D0 4
|
||||
#define HASWELL_STEPPING_ULT_B0 0
|
||||
#define HASWELL_STEPPING_ULT_C0 1
|
||||
|
||||
/* Haswell bus clock is fixed at 100MHz */
|
||||
#define HASWELL_BCLK 100
|
||||
#define HASWELL_BCLK 100
|
||||
|
||||
#define CORE_THREAD_COUNT_MSR 0x35
|
||||
#define IA32_FEATURE_CONTROL 0x3a
|
||||
@@ -219,6 +231,11 @@ struct ramstage_cache {
|
||||
char program[0];
|
||||
} __attribute__((packed));
|
||||
|
||||
/* CPU identification */
|
||||
int haswell_family_model(void);
|
||||
int haswell_stepping(void);
|
||||
int haswell_is_ult(void);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user