Title: [6832] trunk/arch/blackfin: Blackfin: inline I-pipe bypass code in ret_from_exception
Revision
6832
Author
vapier
Date
2009-06-22 13:21:38 -0500 (Mon, 22 Jun 2009)

Log Message

Blackfin: inline I-pipe bypass code in ret_from_exception

Modified Paths


Diff

Modified: trunk/arch/blackfin/kernel/ipipe.c (6831 => 6832)


--- trunk/arch/blackfin/kernel/ipipe.c	2009-06-22 18:21:25 UTC (rev 6831)
+++ trunk/arch/blackfin/kernel/ipipe.c	2009-06-22 18:21:38 UTC (rev 6832)
@@ -164,11 +164,6 @@
 		__clear_bit(IPIPE_STALL_FLAG, &p->status);
 }
 
-int __ipipe_check_root(void)
-{
-	return ipipe_root_domain_p;
-}
-
 void __ipipe_enable_irqdesc(struct ipipe_domain *ipd, unsigned irq)
 {
 	struct irq_desc *desc = irq_to_desc(irq);

Modified: trunk/arch/blackfin/mach-common/entry.S (6831 => 6832)


--- trunk/arch/blackfin/mach-common/entry.S	2009-06-22 18:21:25 UTC (rev 6831)
+++ trunk/arch/blackfin/mach-common/entry.S	2009-06-22 18:21:38 UTC (rev 6832)
@@ -840,13 +840,13 @@
 
 ENTRY(_ret_from_exception)
 #ifdef CONFIG_IPIPE
-	[--sp] = rets;
-	SP += -12;
-	call ___ipipe_check_root
-	SP += 12
-	rets = [sp++];
-	cc = r0 == 0;
-	if cc jump 4f;                /* not on behalf of Linux, get out */
+	p2.l = _per_cpu__ipipe_percpu_domain;
+	p2.h = _per_cpu__ipipe_percpu_domain;
+	r0.l = _ipipe_root;
+	r0.h = _ipipe_root;
+	r2 = [p2];
+	cc = r0 == r2;
+	if !cc jump 4f;  /* not on behalf of the root domain, get out */
 #endif /* CONFIG_IPIPE */
 	p2.l = lo(IPEND);
 	p2.h = hi(IPEND);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to