[SPARC64]: Fix mondo queue allocations.

We have to use bootmem during init_IRQ and page alloc
for sibling cpu calls.

Also, fix incorrect hypervisor call return value
checks in the hypervisor SMP cpu mondo send code.

Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index 7d7e02b..d637168 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -591,7 +591,7 @@
 				       "2" (arg1), "3" (arg2),
 				       "i" (HV_FAST_TRAP)
 				     : "memory");
-		if (likely(func == HV_EOK))
+		if (likely(arg0 == HV_EOK))
 			break;
 
 		if (unlikely(++retries > 100)) {
@@ -644,7 +644,7 @@
 					       "2" (arg1), "3" (arg2),
 					       "i" (HV_FAST_TRAP)
 					     : "memory");
-			if (likely(func == HV_EOK))
+			if (likely(arg0 == HV_EOK))
 				break;
 
 			if (unlikely(++retries > 100)) {