43 if (addr_lsb > size_msb)
44 mtrr_size = 1 << size_msb;
46 mtrr_size = 1 << addr_lsb;
#define printk(level,...)
int cpu_phys_address_size(void)
void var_mtrr_context_init(struct var_mtrr_context *ctx, void *arg)
static void set_mtrr(const struct var_mtrr_context *ctx, uintptr_t base_addr, size_t size, msr_t base, msr_t mask)
int var_mtrr_set_with_cb(struct var_mtrr_context *ctx, uintptr_t addr, size_t size, int type, void(*callback)(const struct var_mtrr_context *ctx, uintptr_t base_addr, size_t size, msr_t base, msr_t mask))
int var_mtrr_set(struct var_mtrr_context *ctx, uintptr_t addr, size_t size, int type)
static __always_inline void wrmsr(unsigned int index, msr_t msr)
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
unsigned long long uint64_t
static unsigned int fms(unsigned int x)
#define MTRR_PHYS_BASE(reg)
static unsigned int fls(unsigned int x)
#define MTRR_PHYS_MASK(reg)
static int get_var_mtrr_count(void)
static int var_mtrr_context_current_mtrr(const struct var_mtrr_context *ctx)
#define MTRR_PHYS_MASK_VALID