Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -20,8 +20,6 @@
#include <asm/power.h>
#include <asm/mdesc.h>
#include <asm/head.h>
#include <asm/io.h>
#include <asm/hvtramp.h>

#define DRV_MODULE_NAME		"ds"
#define PFX DRV_MODULE_NAME	": "
@@ -392,14 +390,6 @@ struct dr_cpu_resp_entry {
	__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_data() callback.  The list is protected by
 * ds_lock, and processed by dr_cpu_process() in order.
+12 −2
Original line number Diff line number Diff line
/* 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>
@@ -28,6 +28,8 @@
#include <asm/tlbflush.h>
#include <asm/mmu_context.h>
#include <asm/cpudata.h>
#include <asm/hvtramp.h>
#include <asm/io.h>

#include <asm/irq.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)
/* 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)
{
	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);
	if (!hdesc) {
		printk(KERN_ERR PFX "ldom_startcpu_cpuid: Cannot allocate "
		printk(KERN_ERR "ldom_startcpu_cpuid: Cannot allocate "
		       "hvtramp_descr.\n");
		return;
	}