Skip to contentSkip to conversation

"Helper" for dom0/domU Kernels

PATCH In review Robert Valentan 2 participants 3 messages Apr 27, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 "Helper" for dom0/domU Kernels

This patch add's a XEN_SPLIT_KERNEL to Config.mk and use it in config/Linux.mk
This patch is also needed for my vnet-patch (some minutes before) to get the kernel_src dir.

Signature · 1 line
Robert Valentan
Config.mk +3 -0
diff -r ee16cdeddade Config.mk
@@ -13,6 +13,9 @@
 endif
 
 CONFIG_$(XEN_OS) := y
+
+# own kernels for dom0 and domU y/n
+XEN_SPLIT_KERNEL := y
 
 SHELL     ?= /bin/sh
 
config/Linux.mk +4 -0
diff -r ee16cdeddade config/Linux.mk
@@ -1,7 +1,11 @@
 include $(XEN_ROOT)/config/StdGNU.mk
 
 # You may use wildcards, e.g. KERNELS=*2.6*
+ifeq ($(XEN_SPLIT_KERNEL),y)
+KERNELS ?= linux-2.6-xen0 linux-2.6-xenU
+else
 KERNELS ?= linux-2.6-xen
+endif
 
 XKERNELS := $(foreach kernel, $(KERNELS), \
               $(patsubst buildconfigs/mk.%,%, \

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel

#1 lore raw
Quoted 6 lines · Robert Valentan

This patch add's a XEN_SPLIT_KERNEL to Config.mk and use it in config/Linux.mk
This patch is also needed for my vnet-patch (some minutes before) to get the kernel_src dir.

Can't you just do some grep hack on the KERNELS variable in the vnet Makefile? I think it's enough that KERNELS can be overridden -- we don't need yet another top-level config option.

-- Keir

#2 lore raw
Quoted 7 lines · Keir Fraser
Quoted 5 lines · Robert Valentan

This patch add's a XEN_SPLIT_KERNEL to Config.mk and use it in config/Linux.mk
This patch is also needed for my vnet-patch (some minutes before) to get the kernel_src dir.

Quoted 5 lines
Quoted 1 line

Can't you just do some grep hack on the KERNELS variable in the vnet Makefile? I think it's enough that KERNELS can be overridden -- we don't need yet another top-level config option.

Attached the modified patch.

Signature · 1 line
Robert Valentan
tools/vnet/vnet-module/00README +2 -2
diff -r ee16cdeddade tools/vnet/vnet-module/00README
@@ -9,8 +9,8 @@
 LINUX_SERIES:   linux release to compile for: 2.4, or 2.6 (default).
 XEN_ROOT:       root of the xen tree containing kernel source.
 KERNEL_VERSION: kernel version, default got from XEN_ROOT.
-KERNEL_MINOR:   kernel minor version, default -xen0.
-KERNEL_SRC:     path to kernel source, default linux-<VERSION> under XEN_ROOT.
+KERNEL_SRC:     path to kernel source, default build-linux-<VERSION> 
+                under XEN_ROOT.
 
 *) For 2.4 kernel
 
tools/vnet/vnet-module/Makefile.ver +8 -6
diff -r ee16cdeddade tools/vnet/vnet-module/Makefile.ver
@@ -19,7 +19,6 @@
 #============================================================================
 
 LINUX_SERIES?=2.6
-KERNEL_MINOR=-xen
 
 LINUX_VERSION?=$(shell (/bin/ls -d $(XEN_ROOT)/pristine-linux-$(LINUX_SERIES).* 2>/dev/null) | \
                       sed -e 's!^.*linux-\(.\+\)!\1!' )
@@ -28,22 +27,25 @@
 $(error Kernel source for linux $(LINUX_SERIES) not found)
 endif
 
-KERNEL_VERSION=$(LINUX_VERSION)$(KERNEL_MINOR)
+KERNEL_VERSION?=$(shell (/bin/ls -d $(XEN_ROOT)/build-linux-$(LINUX_VERSION)-xen* 2>/dev/null) | \
+                      grep -v -m 1 -e '-xenU' | \
+                      sed -e 's!^.*linux-\(.\+\)!\1!' )
 
-KERNEL_SRC?=$(shell cd $(XEN_ROOT)/linux-$(KERNEL_VERSION) && pwd)
+KERNEL_SRC ?= $(XEN_ROOT)/build-linux-$(KERNEL_VERSION)
 
 ifeq ($(KERNEL_SRC),)
 $(error Kernel source for kernel $(KERNEL_VERSION) not found)
 endif
 
 # Get the full kernel release version from its makefile, as the source path
-# may not have the extraversion, e.g. linux-2.6.12-xen0 may contain release 2.6.12.6-xen0.
+# may not have the extraversion, e.g. linux-2.6.12-xen0 may contain release 
+# 2.6.12.6-xen0.
 KERNEL_RELEASE=$(shell make -s -C $(KERNEL_SRC) kernelrelease)
 
-KERNEL_MODULE_DIR=/lib/modules/$$(KERNEL_RELEASE)/kernel
+KERNEL_MODULE_DIR=/lib/modules/$(KERNEL_RELEASE)/kernel
 
 $(warning KERNEL_SRC		$(KERNEL_SRC))
 $(warning LINUX_VERSION		$(LINUX_VERSION))
 $(warning KERNEL_VERSION	$(KERNEL_VERSION))
 $(warning KERNEL_RELEASE	$(KERNEL_RELEASE))
-$(warning KERNEL_ MODULE_DIR	$(KERNEL_MODULE_DIR))
+$(warning KERNEL_MODULE_DIR	$(KERNEL_MODULE_DIR))
tools/vnet/vnet-module/varp.c +0 -5
diff -r ee16cdeddade tools/vnet/vnet-module/varp.c
@@ -1530,12 +1530,7 @@
     dprintf("<\n");
 }
 
-#ifdef MODULE_PARM
-MODULE_PARM(varp_mcaddr, "s");
-MODULE_PARM(varp_device, "s");
-#else
 module_param(varp_mcaddr, charp, 0644);
 module_param(varp_device, charp, 0644);
-#endif
 MODULE_PARM_DESC(varp_mcaddr, "VARP multicast address");
 MODULE_PARM_DESC(varp_device, "VARP network device");
tools/vnet/vnet-module/vnet.c +2 -7
diff -r ee16cdeddade tools/vnet/vnet-module/vnet.c
@@ -693,12 +693,7 @@
 module_exit(vnet_module_exit);
 MODULE_LICENSE("GPL");
 
-#ifdef MODULE_PARM
-MODULE_PARM(vnet_encaps, "s");
-#else
 module_param(vnet_encaps, charp, 0644);
+MODULE_PARM_DESC(vnet_encaps, "Vnet encapsulation: etherip or udp.");
+
 #endif
-
-MODULE_PARM_DESC(vnet_encaps, "Vnet encapsulation: etherip or udp.");
-
-#endif
tools/vnet/vnetd/Makefile +3 -1
diff -r ee16cdeddade tools/vnet/vnetd/Makefile
@@ -16,7 +16,7 @@
 # Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 #----------------------------------------------------------------------------
 
-VNET_ROOT = $(shell cd .. && pwd)
+VNET_ROOT ?= $(shell cd .. && pwd)
 include $(VNET_ROOT)/Make.env
 
 .PHONY: all
@@ -26,6 +26,8 @@
 
 # Comment out when outside xen.
 #include $(XEN_ROOT)/tools/Rules.mk
+
+INSTALL_PROG ?= $(INSTALL) -m0755 -p
 
 VNETD_INSTALL_DIR = /usr/sbin
 
tools/vnet/vnetd/sys_kernel.h +1 -0
diff -r ee16cdeddade tools/vnet/vnetd/sys_kernel.h
@@ -45,6 +45,7 @@
 #define module_exit(x)
 #define MODULE_LICENSE(x)
 #define MODULE_PARM(v, t)
+#define module_param(v, t, s)
 #define MODULE_PARM_DESC(v, s)
 
 enum {

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel