patch to support kernel 2.6.23
I've traced the troubles with kernel 2.6.23 and created the following patch against Parallels Workstation build 2.2.2204. To apply this patch run something like:
mkdir temp
cd temp
tar -xvzf /usr/lib/parallels/devel.tar.gz
patch -p1 </path_to_patch/support_2.6.23.patch
tar -czf devel.tar.gz *
Copy created devel.tar.gz over original /usr/lib/parallels/devel.tar.gz and run parallels-config
	Code:
	diff -ru old/drivers/drv_main/mm/manager.c new/drivers/drv_main/mm/manager.c
--- old/drivers/drv_main/mm/manager.c   2007-09-17 21:00:00.000000000 -0700
+++ new/drivers/drv_main/mm/manager.c   2007-11-01 16:52:03.000000000 -0700
@@ -267,7 +267,7 @@
     INIT_LIST_HEAD(&vmGlobal.vmPmms.pmmList);
 
     vmGlobal.vmPmms.pmmRegionsSlab = kmem_cache_create("vmRegions", sizeof(struct pmm_region_t), 0,
-                                                       SLAB_HWCACHE_ALIGN, NULL, NULL);
+                                                       SLAB_HWCACHE_ALIGN, NULL);
     if (!vmGlobal.vmPmms.pmmRegionsSlab) {
         Err("Can't allocate vmRegions cache SLAB");
         return -1;
diff -ru old/drivers/drv_main/vmmain.h new/drivers/drv_main/vmmain.h
--- old/drivers/drv_main/vmmain.h       2007-09-17 21:00:00.000000000 -0700
+++ new/drivers/drv_main/vmmain.h       2007-11-01 16:50:43.000000000 -0700
@@ -193,7 +193,7 @@
         /* list of PMM's */
         struct list_head pmmList;
         /* regions cache */
-        kmem_cache_t *pmmRegionsSlab;
+        struct kmem_cache *pmmRegionsSlab;
         /* total guest memory */
         unsigned long totalMem;
     } vmPmms;
diff -ru old/drivers/hypervisor/hypervisor.h new/drivers/hypervisor/hypervisor.h
--- old/drivers/hypervisor/hypervisor.h 2007-09-17 21:00:00.000000000 -0700
+++ new/drivers/hypervisor/hypervisor.h 2007-11-01 16:51:34.000000000 -0700
@@ -127,7 +127,7 @@
 
 #ifndef _HYPER_BINARY_PART_
     /* slab cache for vmstates */
-    kmem_cache_t *vmStateCache;
+    struct kmem_cache *vmStateCache;
 
     /* list of vmstates */
     struct list_head vmStateList;
diff -ru old/drivers/hypervisor/hypvmstate.c new/drivers/hypervisor/hypvmstate.c
--- old/drivers/hypervisor/hypvmstate.c 2007-09-17 21:00:00.000000000 -0700
+++ new/drivers/hypervisor/hypvmstate.c 2007-11-01 16:51:05.000000000 -0700
@@ -167,7 +167,7 @@
 
     /* create slabcache */
     if (!(hypState.vmStateCache = kmem_cache_create(VMSTATE_SLABNAME, sizeof(struct hyp_vmstate_t), 0,
-                                                    SLAB_HWCACHE_ALIGN, NULL, NULL)))
+                                                    SLAB_HWCACHE_ALIGN, NULL)))
         return -ENOMEM;
 
     /* init list */