Hi, I''m unable to include xen/sched.h in my kernel module, although xen/xenbus.h, etc work fine. I get an error - xen/sched.h - no such file. I need to access the for_each_domain macro. Please help! Thanks, Ashutosh _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hi,>I''m unable to include xen/sched.h in my kernel module, although >xen/xenbus.h, etc work fine. I get an error - xen/sched.h - no such file. I >need to access the for_each_domain macro. Please help!The macro and header file are for hypervisor. Guest kernel cannot use the macro and domain_list. Best Regards, Akio Takebe _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Thanks Akio for this information. But is there any way to get domain id of each active domain in guest kernel? Thanks in advance. Ashutosh On Nov 12, 2007 1:42 PM, Akio Takebe <takebe_akio@jp.fujitsu.com> wrote:> Hi, > > >I''m unable to include xen/sched.h in my kernel module, although > >xen/xenbus.h, etc work fine. I get an error - xen/sched.h - no such file. > I > >need to access the for_each_domain macro. Please help! > The macro and header file are for hypervisor. > Guest kernel cannot use the macro and domain_list. > > Best Regards, > > Akio Takebe > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Can''t I access it in a module running in dom0? Do I have to move the module''s code to the hypervisor? On Nov 12, 2007 1:42 PM, Akio Takebe <takebe_akio@jp.fujitsu.com> wrote:> Hi, > > >I''m unable to include xen/sched.h in my kernel module, although > >xen/xenbus.h, etc work fine. I get an error - xen/sched.h - no such file. > I > >need to access the for_each_domain macro. Please help! > The macro and header file are for hypervisor. > Guest kernel cannot use the macro and domain_list. > > Best Regards, > > Akio Takebe > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hi,>But is there any way to get domain id of each active domain in guest kernel? >Is your module for dom0? If dom0, you can use hypercall of XEN_SYSCTL_getdomaininfolist. But If other, you cannot access it. Best Regards, Akio Takebe _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hi, I tried including public/sysctl.h for XEN_SYSCTL_getdomaininfolist, but I get an error: public/sysctl.h: No such file or directory. Even if the above problem is solved, how will I get the list/domainIds of all the domUs running without using for_each_domain defined in xen/sched.h? I get the same error for this file as well. And what should be the parameters to make for this? Currently my Makefile is obj-m :mymodule.oand I''m running make with the parameters make -C /lib/modules/2.6.18-xen/build/ modules M=`pwd` V=1 This is the output from make: make: Entering directory `/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32'' make -C /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen O=/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32 modules make -C /usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32 \ KBUILD_SRC=/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen \ KBUILD_EXTMOD="/home/ashu/Desktop/xenmodule" -f /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/Makefile modules test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \ echo; \ echo " ERROR: Kernel configuration is invalid."; \ echo " include/linux/autoconf.h or include/config/auto.conf are missing."; \ echo " Run ''make oldconfig && make prepare'' on kernel src to fix it."; \ echo; \ /bin/false) mkdir -p /home/ashu/Desktop/xenmodule/.tmp_versions rm -f /home/ashu/Desktop/xenmodule/.tmp_versions/* make -f /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/scripts/Makefile.build obj=/home/ashu/Desktop/xenmodule gcc -m32 -Wp,-MD,/home/ashu/Desktop/xenmodule/.mymodule.o.d -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.1.2/include -Iinclude2/asm/mach-xen -D__KERNEL__ -Iinclude -Iinclude2 -I/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include -include include/linux/autoconf.h -D__XEN_INTERFACE_VERSION__=0x00030205 -I/home/ashu/Desktop/xenmodule -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -O2 -pipe -msoft-float -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mregparm=3 -ffreestanding -I/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen /include/asm-i386/mach-xen -Iinclude/asm-i386/mach-xen -I/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen /include/asm-i386/mach-default -Iinclude/asm-i386/mach-default -fomit-frame-pointer -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(mymodule)" -D"KBUILD_MODNAME=KBUILD_STR(mymodule)" -c -o /home/ashu/Desktop/xenmodule/.tmp_mymodule.o /home/ashu/Desktop/xenmodule/mymodule.c /home/ashu/Desktop/xenmodule/mymodule.c:15:27: error: public/sysctl.h: No such file or directory /home/ashu/Desktop/xenmodule/mymodule.c:16:23: error: xen/sched.h: No such file or directory make[3]: *** [/home/ashu/Desktop/xenmodule/mymodule.o] Error 1 make[2]: *** [_module_/home/ashu/Desktop/xenmodule] Error 2 make[1]: *** [modules] Error 2 make: *** [modules] Error 2 make: Leaving directory `/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32'' Thanks, Ashutosh On Nov 13, 2007 1:35 AM, Akio Takebe <takebe_akio@jp.fujitsu.com> wrote:> Hi, > > >But is there any way to get domain id of each active domain in guest > kernel? > > > Is your module for dom0? > If dom0, you can use hypercall of XEN_SYSCTL_getdomaininfolist. > But If other, you cannot access it. > > Best Regards, > > Akio Takebe > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Any answers to this? On Nov 13, 2007 3:37 PM, ashutosh mehra <ashutosh.xen@gmail.com> wrote:> Hi, > > I tried including public/sysctl.h for XEN_SYSCTL_getdomaininfolist, but > I get an error: public/sysctl.h: No such file or directory. > > Even if the above problem is solved, how will I get the list/domainIds of > all the domUs running without using for_each_domain defined in xen/sched.h? > I get the same error for this file as well. And what should be the > parameters to make for this? Currently my Makefile is obj-m := mymodule.oand I''m running make with the parameters make -C > /lib/modules/2.6.18-xen/build/ modules M=`pwd` V=1 > > > This is the output from make: > > > make: Entering directory > `/usr/local/src/xen-3.1.0-src /build-linux-2.6.18-xen_x86_32'' > make -C /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen > O=/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32 modules > make -C /usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32 \ > KBUILD_SRC=/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen \ > KBUILD_EXTMOD="/home/ashu/Desktop/xenmodule" -f > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/Makefile modules > test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( > \ > echo; \ > echo " ERROR: Kernel configuration is invalid."; \ > echo " include/linux/autoconf.h or > include/config/auto.conf are missing."; \ > echo " Run ''make oldconfig && make prepare'' on kernel > src to fix it."; \ > echo; \ > /bin/false) > mkdir -p /home/ashu/Desktop/xenmodule/.tmp_versions > rm -f /home/ashu/Desktop/xenmodule/.tmp_versions/* > make -f /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen > /scripts/Makefile.build > obj=/home/ashu/Desktop/xenmodule > gcc -m32 -Wp,-MD,/home/ashu/Desktop/xenmodule/.mymodule.o.d > -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.1.2/include > -Iinclude2/asm/mach-xen -D__KERNEL__ -Iinclude -Iinclude2 > -I/usr/local/src/xen-3.1.0-src /linux-2.6.18-xen/include -include > include/linux/autoconf.h -D__XEN_INTERFACE_VERSION__=0x00030205 > -I/home/ashu/Desktop/xenmodule -Wall -Wundef -Wstrict-prototypes > -Wno-trigraphs -fno-strict-aliasing -fno-common -O2 -pipe -msoft-float > -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mregparm=3 > -ffreestanding -I/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen > /include/asm-i386/mach-xen > -Iinclude/asm-i386/mach-xen > -I/usr/local/src/xen-3.1.0-src /linux-2.6.18-xen > /include/asm-i386/mach-default > -Iinclude/asm-i386/mach-default -fomit-frame-pointer > -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign > -DMODULE -D"KBUILD_STR(s)=#s" > -D"KBUILD_BASENAME=KBUILD_STR(mymodule)" > -D"KBUILD_MODNAME=KBUILD_STR(mymodule)" -c -o > /home/ashu/Desktop/xenmodule/.tmp_mymodule.o > /home/ashu/Desktop/xenmodule/mymodule.c > /home/ashu/Desktop/xenmodule/mymodule.c:15:27: error: > public/sysctl.h: No such file or directory > /home/ashu/Desktop/xenmodule/mymodule.c:16:23: error: > xen/sched.h: No such file or directory > make[3]: *** [/home/ashu/Desktop/xenmodule/mymodule.o] Error 1 > make[2]: *** [_module_/home/ashu/Desktop/xenmodule] Error 2 > make[1]: *** [modules] Error 2 > make: *** [modules] Error 2 > make: Leaving directory > `/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32'' > > > > > > Thanks, > Ashutosh > > > > > On Nov 13, 2007 1:35 AM, Akio Takebe <takebe_akio@jp.fujitsu.com> wrote: > > > Hi, > > > > >But is there any way to get domain id of each active domain in guest > > kernel? > > > > > Is your module for dom0? > > If dom0, you can use hypercall of XEN_SYSCTL_getdomaininfolist. > > But If other, you cannot access it. > > > > Best Regards, > > > > Akio Takebe > > > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
try using include/xen/interface/sysctl.h on PV kernel. Thanks Atsushi SAKAI "ashutosh mehra" <ashutosh.xen@gmail.com> wrote:> Any answers to this? > > On Nov 13, 2007 3:37 PM, ashutosh mehra <ashutosh.xen@gmail.com> wrote: > > > Hi, > > > > I tried including public/sysctl.h for XEN_SYSCTL_getdomaininfolist, but > > I get an error: public/sysctl.h: No such file or directory. > > > > Even if the above problem is solved, how will I get the list/domainIds of > > all the domUs running without using for_each_domain defined in xen/sched.h? > > I get the same error for this file as well. And what should be the > > parameters to make for this? Currently my Makefile is obj-m := mymodule.oand I''m running make with the parameters make -C > > /lib/modules/2.6.18-xen/build/ modules M=`pwd` V=1 > > > > > > This is the output from make: > > > > > > make: Entering directory > > `/usr/local/src/xen-3.1.0-src /build-linux-2.6.18-xen_x86_32'' > > make -C /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen > > O=/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32 modules > > make -C /usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32 \ > > KBUILD_SRC=/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen \ > > KBUILD_EXTMOD="/home/ashu/Desktop/xenmodule" -f > > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/Makefile modules > > test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( > > \ > > echo; \ > > echo " ERROR: Kernel configuration is invalid."; \ > > echo " include/linux/autoconf.h or > > include/config/auto.conf are missing."; \ > > echo " Run ''make oldconfig && make prepare'' on kernel > > src to fix it."; \ > > echo; \ > > /bin/false) > > mkdir -p /home/ashu/Desktop/xenmodule/.tmp_versions > > rm -f /home/ashu/Desktop/xenmodule/.tmp_versions/* > > make -f /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen > > /scripts/Makefile.build > > obj=/home/ashu/Desktop/xenmodule > > gcc -m32 -Wp,-MD,/home/ashu/Desktop/xenmodule/.mymodule.o.d > > -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.1.2/include > > -Iinclude2/asm/mach-xen -D__KERNEL__ -Iinclude -Iinclude2 > > -I/usr/local/src/xen-3.1.0-src /linux-2.6.18-xen/include -include > > include/linux/autoconf.h -D__XEN_INTERFACE_VERSION__=0x00030205 > > -I/home/ashu/Desktop/xenmodule -Wall -Wundef -Wstrict-prototypes > > -Wno-trigraphs -fno-strict-aliasing -fno-common -O2 -pipe -msoft-float > > -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mregparm=3 > > -ffreestanding -I/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen > > /include/asm-i386/mach-xen > > -Iinclude/asm-i386/mach-xen > > -I/usr/local/src/xen-3.1.0-src /linux-2.6.18-xen > > /include/asm-i386/mach-default > > -Iinclude/asm-i386/mach-default -fomit-frame-pointer > > -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign > > -DMODULE -D"KBUILD_STR(s)=#s" > > -D"KBUILD_BASENAME=KBUILD_STR(mymodule)" > > -D"KBUILD_MODNAME=KBUILD_STR(mymodule)" -c -o > > /home/ashu/Desktop/xenmodule/.tmp_mymodule.o > > /home/ashu/Desktop/xenmodule/mymodule.c > > /home/ashu/Desktop/xenmodule/mymodule.c:15:27: error: > > public/sysctl.h: No such file or directory > > /home/ashu/Desktop/xenmodule/mymodule.c:16:23: error: > > xen/sched.h: No such file or directory > > make[3]: *** [/home/ashu/Desktop/xenmodule/mymodule.o] Error 1 > > make[2]: *** [_module_/home/ashu/Desktop/xenmodule] Error 2 > > make[1]: *** [modules] Error 2 > > make: *** [modules] Error 2 > > make: Leaving directory > > `/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32'' > > > > > > > > > > > > Thanks, > > Ashutosh > > > > > > > > > > On Nov 13, 2007 1:35 AM, Akio Takebe <takebe_akio@jp.fujitsu.com> wrote: > > > > > Hi, > > > > > > >But is there any way to get domain id of each active domain in guest > > > kernel? > > > > > > > Is your module for dom0? > > > If dom0, you can use hypercall of XEN_SYSCTL_getdomaininfolist. > > > But If other, you cannot access it. > > > > > > Best Regards, > > > > > > Akio Takebe > > > > > > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
But it''s not particularly recommended to use domctl or sysctl interfaces in the dom0 kernel. Those interfaces can change. This might be acceptable for you however, depending on your purpose. -- Keir On 14/11/07 09:34, "Atsushi SAKAI" <sakaia@jp.fujitsu.com> wrote:> try using > include/xen/interface/sysctl.h > on PV kernel. > > Thanks > Atsushi SAKAI > > > > "ashutosh mehra" <ashutosh.xen@gmail.com> wrote: > >> Any answers to this? >> >> On Nov 13, 2007 3:37 PM, ashutosh mehra <ashutosh.xen@gmail.com> wrote: >> >>> Hi, >>> >>> I tried including public/sysctl.h for XEN_SYSCTL_getdomaininfolist, but >>> I get an error: public/sysctl.h: No such file or directory. >>> >>> Even if the above problem is solved, how will I get the list/domainIds of >>> all the domUs running without using for_each_domain defined in xen/sched.h? >>> I get the same error for this file as well. And what should be the >>> parameters to make for this? Currently my Makefile is obj-m := mymodule.oand >>> I''m running make with the parameters make -C >>> /lib/modules/2.6.18-xen/build/ modules M=`pwd` V=1 >>> >>> >>> This is the output from make: >>> >>> >>> make: Entering directory >>> `/usr/local/src/xen-3.1.0-src /build-linux-2.6.18-xen_x86_32'' >>> make -C /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen >>> O=/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32 modules >>> make -C /usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32 \ >>> KBUILD_SRC=/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen \ >>> KBUILD_EXTMOD="/home/ashu/Desktop/xenmodule" -f >>> /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/Makefile modules >>> test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( >>> \ >>> echo; \ >>> echo " ERROR: Kernel configuration is invalid."; \ >>> echo " include/linux/autoconf.h or >>> include/config/auto.conf are missing."; \ >>> echo " Run ''make oldconfig && make prepare'' on kernel >>> src to fix it."; \ >>> echo; \ >>> /bin/false) >>> mkdir -p /home/ashu/Desktop/xenmodule/.tmp_versions >>> rm -f /home/ashu/Desktop/xenmodule/.tmp_versions/* >>> make -f /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen >>> /scripts/Makefile.build >>> obj=/home/ashu/Desktop/xenmodule >>> gcc -m32 -Wp,-MD,/home/ashu/Desktop/xenmodule/.mymodule.o.d >>> -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.1.2/include >>> -Iinclude2/asm/mach-xen -D__KERNEL__ -Iinclude -Iinclude2 >>> -I/usr/local/src/xen-3.1.0-src /linux-2.6.18-xen/include -include >>> include/linux/autoconf.h -D__XEN_INTERFACE_VERSION__=0x00030205 >>> -I/home/ashu/Desktop/xenmodule -Wall -Wundef -Wstrict-prototypes >>> -Wno-trigraphs -fno-strict-aliasing -fno-common -O2 -pipe -msoft-float >>> -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mregparm=3 >>> -ffreestanding -I/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen >>> /include/asm-i386/mach-xen >>> -Iinclude/asm-i386/mach-xen >>> -I/usr/local/src/xen-3.1.0-src /linux-2.6.18-xen >>> /include/asm-i386/mach-default >>> -Iinclude/asm-i386/mach-default -fomit-frame-pointer >>> -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign >>> -DMODULE -D"KBUILD_STR(s)=#s" >>> -D"KBUILD_BASENAME=KBUILD_STR(mymodule)" >>> -D"KBUILD_MODNAME=KBUILD_STR(mymodule)" -c -o >>> /home/ashu/Desktop/xenmodule/.tmp_mymodule.o >>> /home/ashu/Desktop/xenmodule/mymodule.c >>> /home/ashu/Desktop/xenmodule/mymodule.c:15:27: error: >>> public/sysctl.h: No such file or directory >>> /home/ashu/Desktop/xenmodule/mymodule.c:16:23: error: >>> xen/sched.h: No such file or directory >>> make[3]: *** [/home/ashu/Desktop/xenmodule/mymodule.o] Error 1 >>> make[2]: *** [_module_/home/ashu/Desktop/xenmodule] Error 2 >>> make[1]: *** [modules] Error 2 >>> make: *** [modules] Error 2 >>> make: Leaving directory >>> `/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32'' >>> >>> >>> >>> >>> >>> Thanks, >>> Ashutosh >>> >>> >>> >>> >>> On Nov 13, 2007 1:35 AM, Akio Takebe <takebe_akio@jp.fujitsu.com> wrote: >>> >>>> Hi, >>>> >>>>> But is there any way to get domain id of each active domain in guest >>>> kernel? >>>>> >>>> Is your module for dom0? >>>> If dom0, you can use hypercall of XEN_SYSCTL_getdomaininfolist. >>>> But If other, you cannot access it. >>>> >>>> Best Regards, >>>> >>>> Akio Takebe >>>> >>>> >>> > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
I tried #include<xen/interface/sysctl.h> but I get an error: #error "domctl operations are intended for use by node control tools only" Keir, how do I add a watch on an entire path, e.g. /local/domain/? More importantly, how can I get the list of domains/domainIds of the currently running domains in a module running in dom0 kernel?? Please help, I''m looking for an answer to this since quite a few days! Thanks, Ashutosh On Nov 14, 2007 4:41 PM, Keir Fraser <Keir.Fraser@cl.cam.ac.uk> wrote:> But it''s not particularly recommended to use domctl or sysctl interfaces > in > the dom0 kernel. Those interfaces can change. This might be acceptable for > you however, depending on your purpose. > > -- Keir > > On 14/11/07 09:34, "Atsushi SAKAI" <sakaia@jp.fujitsu.com> wrote: > > > try using > > include/xen/interface/sysctl.h > > on PV kernel. > > > > Thanks > > Atsushi SAKAI > > > > > > > > "ashutosh mehra" <ashutosh.xen@gmail.com> wrote: > > > >> Any answers to this? > >> > >> On Nov 13, 2007 3:37 PM, ashutosh mehra <ashutosh.xen@gmail.com> wrote: > >> > >>> Hi, > >>> > >>> I tried including public/sysctl.h for XEN_SYSCTL_getdomaininfolist, > but > >>> I get an error: public/sysctl.h: No such file or directory. > >>> > >>> Even if the above problem is solved, how will I get the list/domainIds > of > >>> all the domUs running without using for_each_domain defined in > xen/sched.h? > >>> I get the same error for this file as well. And what should be the > >>> parameters to make for this? Currently my Makefile is obj-m :> mymodule.oand > >>> I''m running make with the parameters make -C > >>> /lib/modules/2.6.18-xen/build/ modules M=`pwd` V=1 > >>> > >>> > >>> This is the output from make: > >>> > >>> > >>> make: Entering directory > >>> `/usr/local/src/xen-3.1.0-src /build-linux-2.6.18-xen_x86_32'' > >>> make -C /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen > >>> O=/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32 modules > >>> make -C /usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32 \ > >>> KBUILD_SRC=/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen \ > >>> KBUILD_EXTMOD="/home/ashu/Desktop/xenmodule" -f > >>> /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/Makefile modules > >>> test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( > >>> \ > >>> echo; > \ > >>> echo " ERROR: Kernel configuration is invalid."; > \ > >>> echo " include/linux/autoconf.h or > >>> include/config/auto.conf are missing."; \ > >>> echo " Run ''make oldconfig && make prepare'' on kernel > >>> src to fix it."; \ > >>> echo; > \ > >>> /bin/false) > >>> mkdir -p /home/ashu/Desktop/xenmodule/.tmp_versions > >>> rm -f /home/ashu/Desktop/xenmodule/.tmp_versions/* > >>> make -f /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen > >>> /scripts/Makefile.build > >>> obj=/home/ashu/Desktop/xenmodule > >>> gcc -m32 -Wp,-MD,/home/ashu/Desktop/xenmodule/.mymodule.o.d > >>> -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.1.2/include > >>> -Iinclude2/asm/mach-xen -D__KERNEL__ -Iinclude -Iinclude2 > >>> -I/usr/local/src/xen-3.1.0-src /linux-2.6.18-xen/include -include > >>> include/linux/autoconf.h -D__XEN_INTERFACE_VERSION__=0x00030205 > >>> -I/home/ashu/Desktop/xenmodule -Wall -Wundef -Wstrict-prototypes > >>> -Wno-trigraphs -fno-strict-aliasing -fno-common -O2 -pipe -msoft-float > >>> -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mregparm=3 > >>> -ffreestanding -I/usr/local/src/xen-3.1.0-src/linux-2.6.18-xen > >>> /include/asm-i386/mach-xen > >>> -Iinclude/asm-i386/mach-xen > >>> -I/usr/local/src/xen-3.1.0-src /linux-2.6.18-xen > >>> /include/asm-i386/mach-default > >>> -Iinclude/asm-i386/mach-default -fomit-frame-pointer > >>> -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign > >>> -DMODULE -D"KBUILD_STR(s)=#s" > >>> -D"KBUILD_BASENAME=KBUILD_STR(mymodule)" > >>> -D"KBUILD_MODNAME=KBUILD_STR(mymodule)" -c -o > >>> /home/ashu/Desktop/xenmodule/.tmp_mymodule.o > >>> /home/ashu/Desktop/xenmodule/mymodule.c > >>> /home/ashu/Desktop/xenmodule/mymodule.c:15:27: error: > >>> public/sysctl.h: No such file or directory > >>> /home/ashu/Desktop/xenmodule/mymodule.c:16:23: error: > >>> xen/sched.h: No such file or directory > >>> make[3]: *** [/home/ashu/Desktop/xenmodule/mymodule.o] Error 1 > >>> make[2]: *** [_module_/home/ashu/Desktop/xenmodule] Error 2 > >>> make[1]: *** [modules] Error 2 > >>> make: *** [modules] Error 2 > >>> make: Leaving directory > >>> `/usr/local/src/xen-3.1.0-src/build-linux-2.6.18-xen_x86_32'' > >>> > >>> > >>> > >>> > >>> > >>> Thanks, > >>> Ashutosh > >>> > >>> > >>> > >>> > >>> On Nov 13, 2007 1:35 AM, Akio Takebe <takebe_akio@jp.fujitsu.com> > wrote: > >>> > >>>> Hi, > >>>> > >>>>> But is there any way to get domain id of each active domain in guest > >>>> kernel? > >>>>> > >>>> Is your module for dom0? > >>>> If dom0, you can use hypercall of XEN_SYSCTL_getdomaininfolist. > >>>> But If other, you cannot access it. > >>>> > >>>> Best Regards, > >>>> > >>>> Akio Takebe > >>>> > >>>> > >>> > > > > > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@lists.xensource.com > > http://lists.xensource.com/xen-devel > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 14/11/07 11:21, "ashutosh mehra" <ashutosh.xen@gmail.com> wrote:> I tried #include<xen/interface/sysctl.h> but I get an error: #error "domctl > operations are intended for use by node control tools only" > > Keir, how do I add a watch on an entire path, e.g. /local/domain/? More > importantly, how can I get the list of domains/domainIds of the currently > running domains in a module running in dom0 kernel?? Please help, I''m looking > for an answer to this since quite a few days!You can add a watch on that entire path from dom0, no problem. As for getting a list of all domains, you can only do that with sysctl. If you really need it then #define __XEN_TOOLS__ before including sysctl.h. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hi, I tried including sysctl.h using #ifndef __XEN_TOOLS__ #define __XEN_TOOLS__ 1 #endif #include <xen/interface/sysctl.h> but on compilation I get following errors: In file included from /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen /include/xen/interface/sysctl.h:35, from /home/ashu/Desktop/xenmodule/mymodule.c:19: /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:40: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:95: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:112: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:138: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:150: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:226: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:237: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:247: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:261: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:299: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:342: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:362: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:374: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:397: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 In file included from /home/ashu/Desktop/xenmodule/mymodule.c:19: /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:46: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:68: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:84: error: expected specifier-qualifier-list before uint64_aligned_t /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:124: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:136: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:149: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 Any solutions for this problem? One more question... How to add a watch on entire tree? I tried using register_xenbus_watch() to add a watch on "local/domain" but it is not working. And... what does this function do? char **xenbus_directory(struct xenbus_transaction t, const char *dir, const char *node, unsigned int *num); Thanks, Ashutosh On Nov 14, 2007 4:54 PM, Keir Fraser <Keir.Fraser@cl.cam.ac.uk> wrote:> > > > On 14/11/07 11:21, "ashutosh mehra" <ashutosh.xen@gmail.com> wrote: > > I tried #include<xen/interface/sysctl.h> but I get an error: #error > "domctl operations are intended for use by node control tools only" > > Keir, how do I add a watch on an entire path, e.g. /local/domain/? More > importantly, how can I get the list of domains/domainIds of the currently > running domains in a module running in dom0 kernel?? Please help, I''m > looking for an answer to this since quite a few days! > > > You can add a watch on that entire path from dom0, no problem. As for > getting a list of all domains, you can only do that with sysctl. If you > really need it then #define __XEN_TOOLS__ before including sysctl.h. > > -- Keir > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
You need to define __XEN_TOOLS__ before you include any Xen public headers. -- Keir On 14/11/07 12:38, "ashutosh mehra" <ashutosh.xen@gmail.com> wrote:> Hi, > I tried including sysctl.h using > #ifndef __XEN_TOOLS__ > #define __XEN_TOOLS__ 1 > #endif > #include <xen/interface/sysctl.h> > > but on compilation I get following errors: > > In file included from /usr/local/src/xen- > 3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:35, > from /home/ashu/Desktop/xenmodule/mymodule.c:19: > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:4 > 0: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:9 > 5: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:1 > 12: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:1 > 38: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:1 > 50: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:2 > 26: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:2 > 37: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:2 > 47: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:2 > 61: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:2 > 99: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:3 > 42: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:3 > 62: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:3 > 74: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/domctl.h:3 > 97: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 > In file included from /home/ashu/Desktop/xenmodule/mymodule.c:19: > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:4 > 6: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:6 > 8: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:8 > 4: error: expected specifier-qualifier-list before uint64_aligned_t > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:1 > 24: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:1 > 36: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 > /usr/local/src/xen-3.1.0-src/linux-2.6.18-xen/include/xen/interface/sysctl.h:1 > 49: error: expected specifier-qualifier-list before XEN_GUEST_HANDLE_64 > > Any solutions for this problem? > > One more question... > How to add a watch on entire tree? I tried using register_xenbus_watch() to > add a watch on "local/domain" but it is not working. > And... > what does this function do? > char **xenbus_directory(struct xenbus_transaction t, > const char *dir, const char *node, unsigned int *num); > > Thanks, > Ashutosh > > > On Nov 14, 2007 4:54 PM, Keir Fraser < Keir.Fraser@cl.cam.ac.uk> wrote: >> >> >> >> On 14/11/07 11:21, "ashutosh mehra" <ashutosh.xen@gmail.com> wrote: >> >>> I tried #include<xen/interface/sysctl.h> but I get an error: #error "domctl >>> operations are intended for use by node control tools only" >>> >>> Keir, how do I add a watch on an entire path, e.g. /local/domain/? More >>> importantly, how can I get the list of domains/domainIds of the currently >>> running domains in a module running in dom0 kernel?? Please help, I''m >>> looking for an answer to this since quite a few days! >> >> You can add a watch on that entire path from dom0, no problem. As for getting >> a list of all domains, you can only do that with sysctl. If you really need >> it then #define __XEN_TOOLS__ before including sysctl.h. >> >> -- Keir >> > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Monday 12 November 2007, ashutosh mehra wrote:> Can''t I access it in a module running in dom0? Do I have to move the > module''s code to the hypervisor?Depending on what you''re trying to do, you could run the part of the code which gets the list of domain details in userspace. You can invoke domctl / sysctl calls from there, so you should be able to get the domain list just by calling an xc library function. If you really need a kernel component, you could either abuse the domctl / sysctls in kernel (if you use these from kernelspace then your kernel may be tied to a specific version of Xen when those change), or a userspace component could access those APIs and then communicate the relevant information to your kernel module. Hope that helps, Cheers, Mark> On Nov 12, 2007 1:42 PM, Akio Takebe <takebe_akio@jp.fujitsu.com> wrote: > > Hi, > > > > >I''m unable to include xen/sched.h in my kernel module, although > > >xen/xenbus.h, etc work fine. I get an error - xen/sched.h - no such > > > file. > > > > I > > > > >need to access the for_each_domain macro. Please help! > > > > The macro and header file are for hypervisor. > > Guest kernel cannot use the macro and domain_list. > > > > Best Regards, > > > > Akio Takebe-- Dave: Just a question. What use is a unicyle with no seat? And no pedals! Mark: To answer a question with a question: What use is a skateboard? Dave: Skateboards have wheels. Mark: My wheel has a wheel! _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel