forked from Minki/linux
42 lines
823 B
C
42 lines
823 B
C
|
/*
|
||
|
* SMP support for R-Mobile / SH-Mobile
|
||
|
*
|
||
|
* Copyright (C) 2010 Magnus Damm
|
||
|
*
|
||
|
* Based on realview, Copyright (C) 2002 ARM Ltd, All Rights Reserved
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or modify
|
||
|
* it under the terms of the GNU General Public License version 2 as
|
||
|
* published by the Free Software Foundation.
|
||
|
*/
|
||
|
#include <linux/kernel.h>
|
||
|
#include <linux/errno.h>
|
||
|
#include <linux/smp.h>
|
||
|
|
||
|
int platform_cpu_kill(unsigned int cpu)
|
||
|
{
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
void platform_cpu_die(unsigned int cpu)
|
||
|
{
|
||
|
while (1) {
|
||
|
/*
|
||
|
* here's the WFI
|
||
|
*/
|
||
|
asm(".word 0xe320f003\n"
|
||
|
:
|
||
|
:
|
||
|
: "memory", "cc");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
int platform_cpu_disable(unsigned int cpu)
|
||
|
{
|
||
|
/*
|
||
|
* we don't allow CPU 0 to be shutdown (it is still too special
|
||
|
* e.g. clock tick interrupts)
|
||
|
*/
|
||
|
return cpu == 0 ? -EPERM : 0;
|
||
|
}
|