]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/ppc64/kernel/iSeries_setup.c
[PATCH] ppc64: Move initialisation of xItLpQueue into ItLpQueue.c
[karo-tx-linux.git] / arch / ppc64 / kernel / iSeries_setup.c
index 78f283560252835c2b6466dace707a09c6bcb87b..b3f770f6d4022ef4e0484ccb4c3c26ececdd7601 100644 (file)
@@ -24,7 +24,6 @@
 #include <linux/smp.h>
 #include <linux/param.h>
 #include <linux/string.h>
-#include <linux/bootmem.h>
 #include <linux/initrd.h>
 #include <linux/seq_file.h>
 #include <linux/kdev_t.h>
@@ -676,7 +675,6 @@ static void __init iSeries_bolt_kernel(unsigned long saddr, unsigned long eaddr)
  */
 static void __init iSeries_setup_arch(void)
 {
-       void *eventStack;
        unsigned procIx = get_paca()->lppaca.dyn_hv_phys_proc_index;
 
        /* Add an eye catcher and the systemcfg layout version number */
@@ -685,24 +683,7 @@ static void __init iSeries_setup_arch(void)
        systemcfg->version.minor = SYSTEMCFG_MINOR;
 
        /* Setup the Lp Event Queue */
-
-       /* Allocate a page for the Event Stack
-        * The hypervisor wants the absolute real address, so
-        * we subtract out the KERNELBASE and add in the
-        * absolute real address of the kernel load area
-        */
-       eventStack = alloc_bootmem_pages(LpEventStackSize);
-       memset(eventStack, 0, LpEventStackSize);
-
-       /* Invoke the hypervisor to initialize the event stack */
-       HvCallEvent_setLpEventStack(0, eventStack, LpEventStackSize);
-
-       /* Initialize fields in our Lp Event Queue */
-       xItLpQueue.xSlicEventStackPtr = (char *)eventStack;
-       xItLpQueue.xSlicCurEventPtr = (char *)eventStack;
-       xItLpQueue.xSlicLastValidEventPtr = (char *)eventStack +
-                                       (LpEventStackSize - LpEventMaxSize);
-       xItLpQueue.xIndex = 0;
+       setup_hvlpevent_queue();
 
        /* Compute processor frequency */
        procFreqHz = ((1UL << 34) * 1000000) /