Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ptrace GET/SET FPXREGS broken x86: fix cpu hotplug crash x86: section/warning fixes x86: shift bits the right way in native_read_tscp
This commit is contained in:
commit
bbad5d4750
|
@ -162,7 +162,7 @@ int xfpregs_get(struct task_struct *target, const struct user_regset *regset,
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!cpu_has_fxsr)
|
if (!cpu_has_fxsr)
|
||||||
return -ENODEV;
|
return -EIO;
|
||||||
|
|
||||||
ret = init_fpu(target);
|
ret = init_fpu(target);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
@ -179,7 +179,7 @@ int xfpregs_set(struct task_struct *target, const struct user_regset *regset,
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!cpu_has_fxsr)
|
if (!cpu_has_fxsr)
|
||||||
return -ENODEV;
|
return -EIO;
|
||||||
|
|
||||||
ret = init_fpu(target);
|
ret = init_fpu(target);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
|
@ -996,7 +996,6 @@ do_rest:
|
||||||
#endif
|
#endif
|
||||||
cpu_clear(cpu, cpu_callout_map); /* was set by do_boot_cpu() */
|
cpu_clear(cpu, cpu_callout_map); /* was set by do_boot_cpu() */
|
||||||
cpu_clear(cpu, cpu_initialized); /* was set by cpu_init() */
|
cpu_clear(cpu, cpu_initialized); /* was set by cpu_init() */
|
||||||
cpu_clear(cpu, cpu_possible_map);
|
|
||||||
cpu_clear(cpu, cpu_present_map);
|
cpu_clear(cpu, cpu_present_map);
|
||||||
per_cpu(x86_cpu_to_apicid, cpu) = BAD_APICID;
|
per_cpu(x86_cpu_to_apicid, cpu) = BAD_APICID;
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,7 +135,7 @@ static __init void *spp_getpage(void)
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static __init void
|
||||||
set_pte_phys(unsigned long vaddr, unsigned long phys, pgprot_t prot)
|
set_pte_phys(unsigned long vaddr, unsigned long phys, pgprot_t prot)
|
||||||
{
|
{
|
||||||
pgd_t *pgd;
|
pgd_t *pgd;
|
||||||
|
@ -214,7 +214,7 @@ void __init cleanup_highmap(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* NOTE: this is meant to be run only at boot */
|
/* NOTE: this is meant to be run only at boot */
|
||||||
void __set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t prot)
|
void __init __set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t prot)
|
||||||
{
|
{
|
||||||
unsigned long address = __fix_to_virt(idx);
|
unsigned long address = __fix_to_virt(idx);
|
||||||
|
|
||||||
|
@ -506,7 +506,7 @@ early_param("memtest", parse_memtest);
|
||||||
|
|
||||||
static void __init early_memtest(unsigned long start, unsigned long end)
|
static void __init early_memtest(unsigned long start, unsigned long end)
|
||||||
{
|
{
|
||||||
u64 t_start, t_size;
|
unsigned long t_start, t_size;
|
||||||
unsigned pattern;
|
unsigned pattern;
|
||||||
|
|
||||||
if (!memtest_pattern)
|
if (!memtest_pattern)
|
||||||
|
@ -525,7 +525,7 @@ static void __init early_memtest(unsigned long start, unsigned long end)
|
||||||
if (t_start + t_size > end)
|
if (t_start + t_size > end)
|
||||||
t_size = end - t_start;
|
t_size = end - t_start;
|
||||||
|
|
||||||
printk(KERN_CONT "\n %016llx - %016llx pattern %d",
|
printk(KERN_CONT "\n %016lx - %016lx pattern %d",
|
||||||
t_start, t_start + t_size, pattern);
|
t_start, t_start + t_size, pattern);
|
||||||
|
|
||||||
memtest(t_start, t_size, pattern);
|
memtest(t_start, t_size, pattern);
|
||||||
|
|
|
@ -18,7 +18,7 @@ static inline unsigned long long native_read_tscp(unsigned int *aux)
|
||||||
unsigned long low, high;
|
unsigned long low, high;
|
||||||
asm volatile(".byte 0x0f,0x01,0xf9"
|
asm volatile(".byte 0x0f,0x01,0xf9"
|
||||||
: "=a" (low), "=d" (high), "=c" (*aux));
|
: "=a" (low), "=d" (high), "=c" (*aux));
|
||||||
return low | ((u64)high >> 32);
|
return low | ((u64)high << 32);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue