Commit 27a2ef38 authored by David S. Miller's avatar David S. Miller

[SPARC64]: SMP build fixes.

With the move of ldom_startcpu_cpuid() into smp.c some other
things need to follow along:

1) smp.c is not a driver so we can't use "PFX" macro in the
   printk calls.

2) smp.c now needs asm/io.h and asm/hvtramp.h, ds.c no longer
   does

3) kimage_addr_to_ra() also needs to move into smp.c

While we're here, update copyright info and my email address
in smp.c
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8f3fff20
...@@ -20,8 +20,6 @@ ...@@ -20,8 +20,6 @@
#include <asm/power.h> #include <asm/power.h>
#include <asm/mdesc.h> #include <asm/mdesc.h>
#include <asm/head.h> #include <asm/head.h>
#include <asm/io.h>
#include <asm/hvtramp.h>
#define DRV_MODULE_NAME "ds" #define DRV_MODULE_NAME "ds"
#define PFX DRV_MODULE_NAME ": " #define PFX DRV_MODULE_NAME ": "
...@@ -392,14 +390,6 @@ struct dr_cpu_resp_entry { ...@@ -392,14 +390,6 @@ struct dr_cpu_resp_entry {
__u32 str_off; __u32 str_off;
}; };
/* XXX Put this in some common place. XXX */
static unsigned long kimage_addr_to_ra(void *p)
{
unsigned long val = (unsigned long) p;
return kern_base + (val - KERNBASE);
}
/* DR cpu requests get queued onto the work list by the /* DR cpu requests get queued onto the work list by the
* dr_cpu_data() callback. The list is protected by * dr_cpu_data() callback. The list is protected by
* ds_lock, and processed by dr_cpu_process() in order. * ds_lock, and processed by dr_cpu_process() in order.
......
/* smp.c: Sparc64 SMP support. /* smp.c: Sparc64 SMP support.
* *
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu) * Copyright (C) 1997, 2007 David S. Miller (davem@davemloft.net)
*/ */
#include <linux/module.h> #include <linux/module.h>
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
#include <asm/tlbflush.h> #include <asm/tlbflush.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/cpudata.h> #include <asm/cpudata.h>
#include <asm/hvtramp.h>
#include <asm/io.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/irq_regs.h> #include <asm/irq_regs.h>
...@@ -282,6 +284,14 @@ static void smp_synchronize_one_tick(int cpu) ...@@ -282,6 +284,14 @@ static void smp_synchronize_one_tick(int cpu)
} }
#if defined(CONFIG_SUN_LDOMS) && defined(CONFIG_HOTPLUG_CPU) #if defined(CONFIG_SUN_LDOMS) && defined(CONFIG_HOTPLUG_CPU)
/* XXX Put this in some common place. XXX */
static unsigned long kimage_addr_to_ra(void *p)
{
unsigned long val = (unsigned long) p;
return kern_base + (val - KERNBASE);
}
static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg) static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg)
{ {
extern unsigned long sparc64_ttable_tl0; extern unsigned long sparc64_ttable_tl0;
...@@ -295,7 +305,7 @@ static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg) ...@@ -295,7 +305,7 @@ static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg)
hdesc = kzalloc(sizeof(*hdesc), GFP_KERNEL); hdesc = kzalloc(sizeof(*hdesc), GFP_KERNEL);
if (!hdesc) { if (!hdesc) {
printk(KERN_ERR PFX "ldom_startcpu_cpuid: Cannot allocate " printk(KERN_ERR "ldom_startcpu_cpuid: Cannot allocate "
"hvtramp_descr.\n"); "hvtramp_descr.\n");
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment