projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerp...
[powerpc.git]
/
arch
/
ia64
/
kernel
/
sal.c
diff --git
a/arch/ia64/kernel/sal.c
b/arch/ia64/kernel/sal.c
index
642fdc7
..
20bad78
100644
(file)
--- a/
arch/ia64/kernel/sal.c
+++ b/
arch/ia64/kernel/sal.c
@@
-223,12
+223,13
@@
static void __init sal_desc_ap_wakeup(void *p) { }
*/
static int sal_cache_flush_drops_interrupts;
*/
static int sal_cache_flush_drops_interrupts;
-
static
void __init
+void __init
check_sal_cache_flush (void)
{
unsigned long flags;
int cpu;
check_sal_cache_flush (void)
{
unsigned long flags;
int cpu;
- u64 vector;
+ u64 vector, cache_type = 3;
+ struct ia64_sal_retval isrv;
cpu = get_cpu();
local_irq_save(flags);
cpu = get_cpu();
local_irq_save(flags);
@@
-243,7
+244,10
@@
check_sal_cache_flush (void)
while (!ia64_get_irr(IA64_TIMER_VECTOR))
cpu_relax();
while (!ia64_get_irr(IA64_TIMER_VECTOR))
cpu_relax();
- ia64_sal_cache_flush(3);
+ SAL_CALL(isrv, SAL_CACHE_FLUSH, cache_type, 0, 0, 0, 0, 0, 0);
+
+ if (isrv.status)
+ printk(KERN_ERR "SAL_CAL_FLUSH failed with %ld\n", isrv.status);
if (ia64_get_irr(IA64_TIMER_VECTOR)) {
vector = ia64_get_ivr();
if (ia64_get_irr(IA64_TIMER_VECTOR)) {
vector = ia64_get_ivr();
@@
-331,7
+335,6
@@
ia64_sal_init (struct ia64_sal_systab *systab)
p += SAL_DESC_SIZE(*p);
}
p += SAL_DESC_SIZE(*p);
}
- check_sal_cache_flush();
}
int
}
int