[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: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -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 {
|
|||||||
__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.
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* 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 @@
|
|||||||
#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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#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)
|
|||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user