- Add new cvs code to cvs
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1657 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
10
src/cpu/intel/model_f3x/Config.lb
Normal file
10
src/cpu/intel/model_f3x/Config.lb
Normal file
@@ -0,0 +1,10 @@
|
||||
dir /cpu/x86/tsc
|
||||
dir /cpu/x86/mtrr
|
||||
dir /cpu/x86/fpu
|
||||
dir /cpu/x86/mmx
|
||||
dir /cpu/x86/sse
|
||||
dir /cpu/x86/lapic
|
||||
dir /cpu/x86/cache
|
||||
dir /cpu/intel/microcode
|
||||
dir /cpu/intel/hyperthreading
|
||||
driver model_f3x_init.o
|
1549
src/cpu/intel/model_f3x/microcode_M1DF340E.h
Normal file
1549
src/cpu/intel/model_f3x/microcode_M1DF340E.h
Normal file
File diff suppressed because it is too large
Load Diff
1554
src/cpu/intel/model_f3x/microcode_M1DF3413.h
Normal file
1554
src/cpu/intel/model_f3x/microcode_M1DF3413.h
Normal file
File diff suppressed because it is too large
Load Diff
59
src/cpu/intel/model_f3x/model_f3x_init.c
Normal file
59
src/cpu/intel/model_f3x/model_f3x_init.c
Normal file
@@ -0,0 +1,59 @@
|
||||
#include <console/console.h>
|
||||
#include <device/device.h>
|
||||
#include <device/chip.h>
|
||||
#include <device/device.h>
|
||||
#include <device/pci.h>
|
||||
#include <string.h>
|
||||
#include <cpu/cpu.h>
|
||||
#include <cpu/x86/mtrr.h>
|
||||
#include <cpu/x86/msr.h>
|
||||
#include <cpu/x86/lapic.h>
|
||||
#include <cpu/intel/microcode.h>
|
||||
#include <cpu/intel/hyperthreading.h>
|
||||
#include <cpu/x86/cache.h>
|
||||
#include <cpu/x86/mtrr.h>
|
||||
|
||||
static uint32_t microcode_updates[] = {
|
||||
/* WARNING - Intel has a new data structure that has variable length
|
||||
* microcode update lengths. They are encoded in int 8 and 9. A
|
||||
* dummy header of nulls must terminate the list.
|
||||
*/
|
||||
|
||||
#include "microcode_M1DF3413.h"
|
||||
/* Dummy terminator */
|
||||
0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0,
|
||||
};
|
||||
|
||||
|
||||
static void model_f3x_init(device_t cpu)
|
||||
{
|
||||
/* Turn on caching if we haven't already */
|
||||
x86_enable_cache();
|
||||
x86_setup_mtrrs();
|
||||
x86_mtrr_check();
|
||||
|
||||
/* Update the microcode */
|
||||
intel_update_microcode(microcode_updates);
|
||||
|
||||
/* Enable the local cpu apics */
|
||||
setup_lapic();
|
||||
|
||||
/* Start up my cpu siblings */
|
||||
intel_sibling_init(cpu);
|
||||
};
|
||||
|
||||
static struct device_operations cpu_dev_ops = {
|
||||
.init = model_f3x_init,
|
||||
};
|
||||
static struct cpu_device_id cpu_table[] = {
|
||||
{ X86_VENDOR_INTEL, 0x0f34 }, /* Xeon */
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
static struct cpu_driver model_f3x __cpu_driver = {
|
||||
.ops = &cpu_dev_ops,
|
||||
.id_table = cpu_table,
|
||||
};
|
Reference in New Issue
Block a user