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: x86: Clear irqstack thread_info x86: Make relocatable kernel work with new binutils
This commit is contained in:
commit
404cbbd52f
2 changed files with 11 additions and 7 deletions
|
@ -129,8 +129,7 @@ void __cpuinit irq_ctx_init(int cpu)
|
|||
irqctx = page_address(alloc_pages_node(cpu_to_node(cpu),
|
||||
THREAD_FLAGS,
|
||||
THREAD_ORDER));
|
||||
irqctx->tinfo.task = NULL;
|
||||
irqctx->tinfo.exec_domain = NULL;
|
||||
memset(&irqctx->tinfo, 0, sizeof(struct thread_info));
|
||||
irqctx->tinfo.cpu = cpu;
|
||||
irqctx->tinfo.preempt_count = HARDIRQ_OFFSET;
|
||||
irqctx->tinfo.addr_limit = MAKE_MM_SEG(0);
|
||||
|
@ -140,10 +139,8 @@ void __cpuinit irq_ctx_init(int cpu)
|
|||
irqctx = page_address(alloc_pages_node(cpu_to_node(cpu),
|
||||
THREAD_FLAGS,
|
||||
THREAD_ORDER));
|
||||
irqctx->tinfo.task = NULL;
|
||||
irqctx->tinfo.exec_domain = NULL;
|
||||
memset(&irqctx->tinfo, 0, sizeof(struct thread_info));
|
||||
irqctx->tinfo.cpu = cpu;
|
||||
irqctx->tinfo.preempt_count = 0;
|
||||
irqctx->tinfo.addr_limit = MAKE_MM_SEG(0);
|
||||
|
||||
per_cpu(softirq_ctx, cpu) = irqctx;
|
||||
|
|
|
@ -34,11 +34,9 @@ OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
|
|||
#ifdef CONFIG_X86_32
|
||||
OUTPUT_ARCH(i386)
|
||||
ENTRY(phys_startup_32)
|
||||
jiffies = jiffies_64;
|
||||
#else
|
||||
OUTPUT_ARCH(i386:x86-64)
|
||||
ENTRY(phys_startup_64)
|
||||
jiffies_64 = jiffies;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA)
|
||||
|
@ -142,6 +140,15 @@ SECTIONS
|
|||
CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
|
||||
|
||||
DATA_DATA
|
||||
/*
|
||||
* Workaround a binutils (2.20.51.0.12 to 2.21.51.0.3) bug.
|
||||
* This makes jiffies relocatable in such binutils
|
||||
*/
|
||||
#ifdef CONFIG_X86_32
|
||||
jiffies = jiffies_64;
|
||||
#else
|
||||
jiffies_64 = jiffies;
|
||||
#endif
|
||||
CONSTRUCTORS
|
||||
|
||||
/* rarely changed data like cpu maps */
|
||||
|
|
Loading…
Reference in a new issue