coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <stdint.h>
#include <arch/cpu.h>
#include <console/console.h>
#include <cpu/intel/l2_cache.h>
#include <cpu/x86/cache.h>
#include <cpu/x86/msr.h>
Go to the source code of this file.
Data Structures | |
struct | latency_entry |
Functions | |
int | calculate_l2_latency (void) |
int | signal_l2 (u32 address, u32 data_high, u32 data_low, int way, u8 command) |
int | read_l2 (u32 address) |
int | write_l2 (u32 address, u32 data) |
int | test_l2_address_alias (u32 address1, u32 address2, u32 data_high, u32 data_low) |
int | calculate_l2_cache_size (void) |
int | calculate_l2_physical_address_range (void) |
int | set_l2_ecc (void) |
int | p6_configure_l2_cache (void) |
Variables | |
static const struct latency_entry | latency_650_t0 [] |
static const struct latency_entry | latency_650_t1 [] |
static const struct latency_entry | latency_670_t0 [] |
static const struct latency_entry | latency_670_t1 [] |
static const struct latency_entry | latency_670_t2 [] |
static const struct latency_entry * | latency_650 [] |
static const struct latency_entry * | latency_670 [] |
int calculate_l2_cache_size | ( | void | ) |
Definition at line 332 of file l2_cache.c.
References address, BBL_CR_CTL3, BBLCR3_L2_SIZE, BBLCR3_L2_SIZE_256K, BBLCR3_L2_SIZE_4M, BIOS_DEBUG, c, msr_struct::lo, printk, rdmsr(), read_l2(), test_l2_address_alias(), write_l2(), and wrmsr().
Referenced by p6_configure_l2_cache().
int calculate_l2_latency | ( | void | ) |
Definition at line 108 of file l2_cache.c.
References BBL_CR_CTL3, BIOS_DEBUG, cpuid_eax(), EBL_CR_POWERON, msr_struct::hi, IA32_PLATFORM_ID, latency_entry::key, latency_650, latency_670, msr_struct::lo, printk, rdmsr(), read_l2(), latency_entry::value, and wrmsr().
Referenced by p6_configure_l2_cache().
int calculate_l2_physical_address_range | ( | void | ) |
Definition at line 487 of file l2_cache.c.
References BBL_CR_CTL3, BBLCR3_L2_PHYSICAL_RANGE, BIOS_DEBUG, msr_struct::lo, printk, rdmsr(), read_l2(), and wrmsr().
Referenced by p6_configure_l2_cache().
int p6_configure_l2_cache | ( | void | ) |
Definition at line 565 of file l2_cache.c.
References BBL_CR_CTL3, BBLCR3_L2_ADDR_PARITY_ENABLE, BBLCR3_L2_CONFIGURED, BBLCR3_L2_CRTN_PARITY_ENABLE, BBLCR3_L2_ENABLED, BBLCR3_L2_LATENCY, BBLCR3_L2_NOT_PRESENT, BBLCR3_L2_SIZE, BIOS_DEBUG, BIOS_ERR, BIOS_INFO, calculate_l2_cache_size(), calculate_l2_latency(), calculate_l2_physical_address_range(), cpuid_eax(), disable_cache(), EBL_CR_POWERON, enable_cache(), L2CMD_MESI_I, L2CMD_TWW, msr_struct::lo, printk, rdmsr(), read_l2(), set_l2_ecc(), signal_l2(), write_l2(), and wrmsr().
int read_l2 | ( | u32 | address | ) |
Definition at line 236 of file l2_cache.c.
References address, BBL_CR_ADDR, L2CMD_CR, msr_struct::lo, rdmsr(), and signal_l2().
Referenced by calculate_l2_cache_size(), calculate_l2_latency(), calculate_l2_physical_address_range(), p6_configure_l2_cache(), and write_l2().
int set_l2_ecc | ( | void | ) |
Definition at line 519 of file l2_cache.c.
References BBL_CR_CTL, BBL_CR_CTL3, BBL_CR_DECC, BBLCR3_L2_ECC_CHECK_ENABLE, BBLCR3_L2_SUPPLIED_ECC, BIOS_DEBUG, msr_struct::hi, msr_struct::lo, printk, rdmsr(), test_l2_address_alias(), and wrmsr().
Referenced by p6_configure_l2_cache().
Definition at line 196 of file l2_cache.c.
References address, BBL_CR_ADDR, BBL_CR_BUSY, BBL_CR_CTL, BBL_CR_D0, BBL_CR_D3, BBL_CR_TRIG, msr_struct::hi, msr_struct::lo, rdmsr(), and wrmsr().
Referenced by p6_configure_l2_cache(), read_l2(), test_l2_address_alias(), and write_l2().
Definition at line 301 of file l2_cache.c.
References BBL_CR_D0, BBL_CR_D3, msr_struct::hi, L2CMD_TRR, L2CMD_TWW, msr_struct::lo, rdmsr(), and signal_l2().
Referenced by calculate_l2_cache_size(), and set_l2_ecc().
Definition at line 251 of file l2_cache.c.
References address, read_l2(), and signal_l2().
Referenced by calculate_l2_cache_size(), and p6_configure_l2_cache().
|
static |
|
static |
Definition at line 1 of file l2_cache.c.
|
static |
Definition at line 1 of file l2_cache.c.
|
static |
Definition at line 104 of file l2_cache.c.
Referenced by calculate_l2_latency().
|
static |
Definition at line 1 of file l2_cache.c.
|
static |
Definition at line 1 of file l2_cache.c.
|
static |
Definition at line 1 of file l2_cache.c.