• Ingo Molnar's avatar
    ia64: on UP percpu variables are not small memory model · ab6e14b7
    Ingo Molnar authored
    Tony says:
    
    | The CONFIG_SMP=n path in ia64 makes quite radical changes ... rather
    | than putting all the per-cpu stuff into the top 64K of address space
    | and providing a per-cpu TLB mapping for that range to a different
    | physical address ... it just makes all the per-cpu stuff link as ordinary
    | variables in .data.
    
    the new generic percpu code got confused about this as PER_CPU_ATTRIBUTES
    was defined even on UP, so it picked up that small memory model - which
    was not possible to get linked. The right fix is to only define that
    on SMP. This resolved the build failures in my cross-compiling environment.
    
    also link these variables into the .percpu section even on UP - some
    assembly code has offset dependencies. (such as GET_IA64_MCA_DATA() in
    arch/ia64/kernel/mca_asm.S)
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Acked-by: default avatarTony Luck <tony.luck@intel.com>
    ab6e14b7
percpu.h 1.29 KB