diff options
author | David S. Miller <davem@davemloft.net> | 2009-04-01 10:47:10 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-16 13:56:11 +0200 |
commit | 5a5488d3bb9a23d9884572e5d85dfeefe8749d3d (patch) | |
tree | afa8db75cdf771257cd5541ed80a606df60f9cf8 /arch/sparc/kernel/head_64.S | |
parent | sparc64: Move trap_block[] definitions into a new header file. (diff) | |
download | linux-5a5488d3bb9a23d9884572e5d85dfeefe8749d3d.tar.xz linux-5a5488d3bb9a23d9884572e5d85dfeefe8749d3d.zip |
sparc64: Store per-cpu offset in trap_block[]
Surprisingly this actually makes LOAD_PER_CPU_BASE() a little
more efficient.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/head_64.S')
-rw-r--r-- | arch/sparc/kernel/head_64.S | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/arch/sparc/kernel/head_64.S b/arch/sparc/kernel/head_64.S index 91bf4c7f79b9..f8f21050448b 100644 --- a/arch/sparc/kernel/head_64.S +++ b/arch/sparc/kernel/head_64.S @@ -641,28 +641,6 @@ tlb_fixup_done: /* Not reached... */ 1: - /* If we boot on a non-zero cpu, all of the per-cpu - * variable references we make before setting up the - * per-cpu areas will use a bogus offset. Put a - * compensating factor into __per_cpu_base to handle - * this cleanly. - * - * What the per-cpu code calculates is: - * - * __per_cpu_base + (cpu << __per_cpu_shift) - * - * These two variables are zero initially, so to - * make it all cancel out to zero we need to put - * "0 - (cpu << 0)" into __per_cpu_base so that the - * above formula evaluates to zero. - * - * We cannot even perform a printk() until this stuff - * is setup as that calls cpu_clock() which uses - * per-cpu variables. - */ - sub %g0, %o0, %o1 - sethi %hi(__per_cpu_base), %o2 - stx %o1, [%o2 + %lo(__per_cpu_base)] #else mov 0, %o0 #endif |