lkml.org 
[lkml]   [2012]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] x86: adjust generic_get_mtrr() for 64-bit
Needing to deal with potentially large memory configurations, the
variables here should be "unsigned long" instead of "unsigned int".

Signed-off-by: Jan Beulich <jbeulich@suse.com>

---
arch/x86/kernel/cpu/mtrr/generic.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

--- 3.5-rc5/arch/x86/kernel/cpu/mtrr/generic.c
+++ 3.5-rc5-x86-mtrr-generic-types/arch/x86/kernel/cpu/mtrr/generic.c
@@ -514,8 +514,8 @@ generic_get_free_region(unsigned long ba
static void generic_get_mtrr(unsigned int reg, unsigned long *base,
unsigned long *size, mtrr_type *type)
{
- unsigned int mask_lo, mask_hi, base_lo, base_hi;
- unsigned int tmp, hi;
+ unsigned long mask_lo, mask_hi, base_lo, base_hi, tmp;
+ unsigned int hi;

/*
* get_mtrr doesn't need to update mtrr_state, also it could be called
@@ -540,9 +540,9 @@ static void generic_get_mtrr(unsigned in
mask_lo = size_or_mask | tmp;

/* Expand tmp with high bits to all 1s: */
- hi = fls(tmp);
+ hi = fls_long(tmp);
if (hi > 0) {
- tmp |= ~((1<<(hi - 1)) - 1);
+ tmp |= ~((1UL<<(hi - 1)) - 1);

if (tmp != mask_lo) {
printk(KERN_WARNING "mtrr: your BIOS has configured an incorrect mask, fixing it.\n");




\
 
 \ /
  Last update: 2012-07-06 17:01    [W:0.063 / U:1.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site