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:
Linus Torvalds 2008-06-30 08:56:57 -07:00
commit bbad5d4750
4 changed files with 7 additions and 8 deletions

View File

@ -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)

View File

@ -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;
} }

View File

@ -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);

View File

@ -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);
} }
/* /*