I am trying to build xen on x86_64 SLES 9 SP2 box this morning and am getting this error: arch/xen/kernel/built-in.o(.text+0x1bd6): In function `__do_suspend'': : undefined reference to `HYPERVISOR_vcpu_pickle'' make[4]: *** [.tmp_vmlinux1] Error 1 make[4]: Leaving directory `/tmp/xen-unstable.hg/linux-2.6.12-xen0'' make[3]: *** [build] Error 2 make[3]: Leaving directory `/tmp/xen-unstable.hg'' make[2]: *** [linux-2.6-xen0-build] Error 2 make[2]: Leaving directory `/tmp/xen-unstable.hg'' make[1]: *** [kernels] Error 1 make[1]: Leaving directory `/tmp/xen-unstable.hg'' make: *** [world] Error 2 changeset: 6274:3c1cd2486b7fecd5d97378a7d52e5bfb8eb7c718 tag: tip user: sos22@douglas.cl.cam.ac.uk date: Fri Aug 19 09:10:24 2005 summary: Unbreak the build in the non-CONFIG_SMP and x86_64 cases. David Barrera _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
David F Barrera wrote:> I am trying to build xen on x86_64 SLES 9 SP2 box this morning and am > getting this error: >Fixing this particular one looks easy, but I realized that cpu hotplug suff is missing in x86_64 xenlinux. I''m making a patch for that.> arch/xen/kernel/built-in.o(.text+0x1bd6): In function `__do_suspend'': >> undefined reference to `HYPERVISOR_vcpu_pickle'' > make[4]: *** [.tmp_vmlinux1] Error 1 > make[4]: Leaving directory `/tmp/xen-unstable.hg/linux-2.6.12-xen0'' > make[3]: *** [build] Error 2 > make[3]: Leaving directory `/tmp/xen-unstable.hg'' > make[2]: *** [linux-2.6-xen0-build] Error 2 > make[2]: Leaving directory `/tmp/xen-unstable.hg'' > make[1]: *** [kernels] Error 1 > make[1]: Leaving directory `/tmp/xen-unstable.hg'' > make: *** [world] Error 2 > > changeset: 6274:3c1cd2486b7fecd5d97378a7d52e5bfb8eb7c718 > tag: tip > user: sos22@douglas.cl.cam.ac.uk > date: Fri Aug 19 09:10:24 2005 > summary: Unbreak the build in the non-CONFIG_SMP and x86_64 cases. > > > David Barrera > >Jun --- Intel Open Source Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> I am trying to build xen on x86_64 SLES 9 SP2 box this morning and am > getting this error: > > arch/xen/kernel/built-in.o(.text+0x1bd6): In function `__do_suspend'': > : undefined reference to `HYPERVISOR_vcpu_pickle''Should be fixed now. Sorry about that. Steven. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> Fixing this particular one looks easy, but I realized that > cpu hotplug suff is missing in x86_64 xenlinux. I''m making a > patch for that.Please co-ordinate with Ryan Harper -- he''s already working on this. Thanks, Ian _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Pratt wrote:>> Fixing this particular one looks easy, but I realized that >> cpu hotplug suff is missing in x86_64 xenlinux. I''m making a >> patch for that. > > Please co-ordinate with Ryan Harper -- he''s already working on this. > > Thanks, > IanRyan, Hi If you are already working on it, I just add the missing hypercall(s) to fix the build problems (and test reboot things). If there is anything that we can help, please let me know. We need the code ASAP. Jun --- Intel Open Source Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> If you are already working on it, I just add the missing > hypercall(s) to fix the build problems (and test reboot things).I believe Steven has already done this. Thanks, Ian _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Pratt wrote:>> If you are already working on it, I just add the missing >> hypercall(s) to fix the build problems (and test reboot things). > > I believe Steven has already done this. > > Thanks, > IanActually that''s wrong, and it does not build. ... arch/xen/kernel/reboot.c: In function `__do_suspend'': include/asm-xen/asm/hypercall.h:511: error: can''t find a register in class `CREG'' while reloading `asm'' You cannot just cut&paste the code there. +static inline int +HYPERVISOR_vcpu_pickle( + int vcpu, vcpu_guest_context_t *ctxt) +{ + int ret; + unsigned long ign1, ign2; + __asm__ __volatile__ ( + TRAP_INSTR + : "=a" (ret), "=b" (ign1), "=c" (ign2) + : "0" (__HYPERVISOR_sched_op), + "1" (SCHEDOP_vcpu_pickle | (vcpu << SCHEDOP_vcpushift)), + "2" (ctxt) + : "memory" ); + + return ret; +} + Jun --- Intel Open Source Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
* Nakajima, Jun <jun.nakajima@intel.com> [2005-08-19 12:14]:> Ian Pratt wrote: > >> Fixing this particular one looks easy, but I realized that > >> cpu hotplug suff is missing in x86_64 xenlinux. I''m making a > >> patch for that. > > > > Please co-ordinate with Ryan Harper -- he''s already working on this. > > > > Thanks, > > Ian > > Ryan, Hi > > If you are already working on it, I just add the missing hypercall(s) to > fix the build problems (and test reboot things). > > If there is anything that we can help, please let me know. We need the > code ASAP.You need x86_64 to run ASAP, not HOTPLUG_CPU for x86_64 smp, correct? -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ryan Harper wrote:> * Nakajima, Jun <jun.nakajima@intel.com> [2005-08-19 12:14]: >> Ian Pratt wrote: >>>> Fixing this particular one looks easy, but I realized that >>>> cpu hotplug suff is missing in x86_64 xenlinux. I''m making a >>>> patch for that. >>> >>> Please co-ordinate with Ryan Harper -- he''s already working on this. >>> >>> Thanks, >>> Ian >> >> Ryan, Hi >> >> If you are already working on it, I just add the missing >> hypercall(s) to fix the build problems (and test reboot things). >> >> If there is anything that we can help, please let me know. We need >> the code ASAP. > > You need x86_64 to run ASAP, not HOTPLUG_CPU for x86_64 smp, correct?No, we _do_ need HOTPLUG_CPU for x86_64 smp. The build problem is not a big deal. Jun --- Intel Open Source Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> No, we _do_ need HOTPLUG_CPU for x86_64 smp. The build > problem is not a big deal.It would be good to port Steven''s SMP_ALTERNATIVES patch to x86_64 too. [it dynamically NOP''s LOCK prefixes on spinlocks if there''s only one active CPU] Thanks, Ian _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Nakajima, Jun wrote:> Ian Pratt wrote: >>> If you are already working on it, I just add the missing >>> hypercall(s) to fix the build problems (and test reboot things). >> >> I believe Steven has already done this. >> >> Thanks, >> Ian > > Actually that''s wrong, and it does not build. > ... > arch/xen/kernel/reboot.c: In function `__do_suspend'': > include/asm-xen/asm/hypercall.h:511: error: can''t find a register in > class `CREG'' while reloading `asm''The attached patch fixes this. Signed-off-by: Jun Nakajima <jun.nakajima@intel.com> Jun --- Intel Open Source Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
* Nakajima, Jun <jun.nakajima@intel.com> [2005-08-19 13:12]:> Ryan Harper wrote: > > * Nakajima, Jun <jun.nakajima@intel.com> [2005-08-19 12:14]: > >> Ian Pratt wrote: > >>>> Fixing this particular one looks easy, but I realized that > >>>> cpu hotplug suff is missing in x86_64 xenlinux. I''m making a > >>>> patch for that. > >>> > >>> Please co-ordinate with Ryan Harper -- he''s already working on this. > >>> > >>> Thanks, > >>> Ian > >> > >> Ryan, Hi > >> > >> If you are already working on it, I just add the missing > >> hypercall(s) to fix the build problems (and test reboot things). > >> > >> If there is anything that we can help, please let me know. We need > >> the code ASAP. > > > > You need x86_64 to run ASAP, not HOTPLUG_CPU for x86_64 smp, correct? > > No, we _do_ need HOTPLUG_CPU for x86_64 smp. The build problem is not a > big deal.Ah. OK. I don''t think it will be a problem for Xen, but currently in plain linux-2.6.13-rc6 (which has x86_64 HOTPLUG_CPU support), support is non-functional, at least on my two-way Opteron box. I can remove a cpu (echo 0 > /sys/devices/system/cpu/cpu1/online) fine, but when I try to restore (echo 1), the processor fails to come back. Part of this is that they are integrating the physical hotplug support which requires a full reboot of the processor (a second run through do_boot_cpu()) since it would have been physically removed. I really wanted to see HOTPLUG_CPU work on plain Linux before bringing the code into XenLinux, but the issues may be tied up in code that Xen doesn''t need. The hypervisor will have to support physical hotplug before XenLinux will need it. There are some other subtle differences in HOTPLUG_CPU in the newer 2.6.13 series for x86_64 compared to the level of HOTPLUG_CPU we have patched into the 2.6.12 tree. I''ll go ahead and work up a patch that brings in HOTPLUG_CPU for x86_64 and share that so we both can work on getting it working. -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx (512) 838-9253 T/L: 678-9253 ryanh@us.ibm.com _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ryan Harper wrote:>>> You need x86_64 to run ASAP, not HOTPLUG_CPU for x86_64 smp, >>> correct? >> >> No, we _do_ need HOTPLUG_CPU for x86_64 smp. The build problem is >> not a big deal. > > Ah. OK. I don''t think it will be a problem for Xen, but currently in > plain linux-2.6.13-rc6 (which has x86_64 HOTPLUG_CPU support), > support is non-functional, at least on my two-way Opteron box. I can > remove a cpu (echo 0 > /sys/devices/system/cpu/cpu1/online) fine, but > when I try to restore (echo 1), the processor fails to come back. > Part of this is that they are integrating the physical hotplug > support which requires a full reboot of the processor (a second run > through do_boot_cpu()) since it would have been physically removed. > I really wanted to see HOTPLUG_CPU work on plain Linux before > bringing the code into XenLinux, but the issues may be tied up in > code that Xen doesn''t need. The hypervisor will have to support > physical hotplug before XenLinux will need it.That''s right. As long as we handle VCPU, that should be Xen-specific and common between x86 and x86_64 (although smp.c & smpboot.c are slightly different there at this point).> > There are some other subtle differences in HOTPLUG_CPU in the newer > 2.6.13 series for x86_64 compared to the level of HOTPLUG_CPU we have > patched into the 2.6.12 tree. > > I''ll go ahead and work up a patch that brings in HOTPLUG_CPU for > x86_64 and share that so we both can work on getting it working.Great. Jun --- Intel Open Source Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
It seems that the x86_64 build still broken on FC4. It built on SLES 9, but I got the following error on FC4: gcc -nostdinc -fno-builtin -fno-common -fno-strict-aliasing -iwithprefix include -Wall -Werror -Wno-pointer-arith -pipe -I/tmp/xen-unstable.hg/xen/include -I/tmp/xen-unstable.hg/xen/include/asm-x86/mach-generic -I/tmp/xen-unstable.hg/xen/include/asm-x86/mach-default -O3 -fomit-frame-pointer -msoft-float -m64 -mno-red-zone -fpic -fno-reorder-blocks -fno-asynchronous-unwind-tables -DNDEBUG -DVERBOSE -c physdev.c -o physdev.o cc1: warnings being treated as errors physdev.c: In function âdo_physdev_opâ: physdev.c:109: warning: pointer targets in assignment differ in signedness make[3]: *** [physdev.o] Error 1 make[3]: Leaving directory `/tmp/xen-unstable.hg/xen/arch/x86'' make[2]: *** [/tmp/xen-unstable.hg/xen/xen] Error 2 make[2]: Leaving directory `/tmp/xen-unstable.hg/xen'' make[1]: *** [xen] Error 2 make[1]: Leaving directory `/tmp/xen-unstable.hg'' make: *** [world] Error 2 Nakajima, Jun wrote:>Ryan Harper wrote: > > >>>>You need x86_64 to run ASAP, not HOTPLUG_CPU for x86_64 smp, >>>>correct? >>>> >>>> >>>No, we _do_ need HOTPLUG_CPU for x86_64 smp. The build problem is >>>not a big deal. >>> >>> >>Ah. OK. I don''t think it will be a problem for Xen, but currently in >>plain linux-2.6.13-rc6 (which has x86_64 HOTPLUG_CPU support), >>support is non-functional, at least on my two-way Opteron box. I can >>remove a cpu (echo 0 > /sys/devices/system/cpu/cpu1/online) fine, but >>when I try to restore (echo 1), the processor fails to come back. >>Part of this is that they are integrating the physical hotplug >>support which requires a full reboot of the processor (a second run >>through do_boot_cpu()) since it would have been physically removed. >>I really wanted to see HOTPLUG_CPU work on plain Linux before >>bringing the code into XenLinux, but the issues may be tied up in >>code that Xen doesn''t need. The hypervisor will have to support >>physical hotplug before XenLinux will need it. >> >> > >That''s right. As long as we handle VCPU, that should be Xen-specific and >common between x86 and x86_64 (although smp.c & smpboot.c are slightly >different there at this point). > > > >>There are some other subtle differences in HOTPLUG_CPU in the newer >>2.6.13 series for x86_64 compared to the level of HOTPLUG_CPU we have >>patched into the 2.6.12 tree. >> >>I''ll go ahead and work up a patch that brings in HOTPLUG_CPU for >>x86_64 and share that so we both can work on getting it working. >> >> > >Great. > >Jun >--- >Intel Open Source Technology Center > >_______________________________________________ >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
Should now be fixed, though I don''t have a SLES9 compiler to hand on my laptop. Ian> It seems that the x86_64 build still broken on FC4. It built > on SLES 9, but I got the following error on FC4: > > > gcc -nostdinc -fno-builtin -fno-common -fno-strict-aliasing > -iwithprefix > include -Wall -Werror -Wno-pointer-arith -pipe > -I/tmp/xen-unstable.hg/xen/include > -I/tmp/xen-unstable.hg/xen/include/asm-x86/mach-generic > -I/tmp/xen-unstable.hg/xen/include/asm-x86/mach-default -O3 > -fomit-frame-pointer -msoft-float -m64 -mno-red-zone -fpic > -fno-reorder-blocks -fno-asynchronous-unwind-tables -DNDEBUG > -DVERBOSE > -c physdev.c -o physdev.o > cc1: warnings being treated as errors > physdev.c: In function âdo_physdev_opâ: > physdev.c:109: warning: pointer targets in assignment differ > in signedness > make[3]: *** [physdev.o] Error 1 > make[3]: Leaving directory `/tmp/xen-unstable.hg/xen/arch/x86'' > make[2]: *** [/tmp/xen-unstable.hg/xen/xen] Error 2 > make[2]: Leaving directory `/tmp/xen-unstable.hg/xen'' > make[1]: *** [xen] Error 2 > make[1]: Leaving directory `/tmp/xen-unstable.hg'' > make: *** [world] Error 2 > > > Nakajima, Jun wrote: > > >Ryan Harper wrote: > > > > > >>>>You need x86_64 to run ASAP, not HOTPLUG_CPU for x86_64 smp, > >>>>correct? > >>>> > >>>> > >>>No, we _do_ need HOTPLUG_CPU for x86_64 smp. The build problem is > >>>not a big deal. > >>> > >>> > >>Ah. OK. I don''t think it will be a problem for Xen, but > currently in > >>plain linux-2.6.13-rc6 (which has x86_64 HOTPLUG_CPU support), > >>support is non-functional, at least on my two-way Opteron > box. I can > >>remove a cpu (echo 0 > /sys/devices/system/cpu/cpu1/online) > fine, but > >>when I try to restore (echo 1), the processor fails to come back. > >>Part of this is that they are integrating the physical hotplug > >>support which requires a full reboot of the processor (a second run > >>through do_boot_cpu()) since it would have been physically > removed. > >>I really wanted to see HOTPLUG_CPU work on plain Linux before > >>bringing the code into XenLinux, but the issues may be tied up in > >>code that Xen doesn''t need. The hypervisor will have to support > >>physical hotplug before XenLinux will need it. > >> > >> > > > >That''s right. As long as we handle VCPU, that should be > Xen-specific and > >common between x86 and x86_64 (although smp.c & smpboot.c > are slightly > >different there at this point). > > > > > > > >>There are some other subtle differences in HOTPLUG_CPU in the newer > >>2.6.13 series for x86_64 compared to the level of > HOTPLUG_CPU we have > >>patched into the 2.6.12 tree. > >> > >>I''ll go ahead and work up a patch that brings in HOTPLUG_CPU for > >>x86_64 and share that so we both can work on getting it working. > >> > >> > > > >Great. > > > >Jun > >--- > >Intel Open Source Technology Center > > > >_______________________________________________ > >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
OK. More info on the x86_64 build on SLES 9 SP2. It built and booted fine; however, when I can''t create a domU. When attempting to create domU, it gives me the VFS: Unable to mount root fs on unknown-block (0,0) message. This configurations have routinely worked before, so it is not a setup issue. From console: bl2-1 login: (XEN) (file=traps.c, line=878) Non-priv domain attempted RDMSR(0000 0000c0000080,00020000,00020000). (XEN) (file=traps.c, line=870) Non-priv domain attempted WRMSR(00000000c0000100, 00000000,00000000). (XEN) (file=traps.c, line=870) Non-priv domain attempted WRMSR(00000000c0000102, 00000000,00000000). (XEN) (file=traps.c, line=878) Non-priv domain attempted RDMSR(00000000c0000080, 00000000,00000000). stop_this_cpu disable_local_APIC (XEN) (file=grant_table.c, line=523) Bad handle (0). (XEN) (file=grant_table.c, line=1086) Grant unref rd(1) ld(0) frm(3f485) flgs(0) . (XEN) (file=traps.c, line=878) Non-priv domain attempted RDMSR(00000000c0000080, 00020000,00020000). (XEN) (file=traps.c, line=870) Non-priv domain attempted WRMSR(00000000c0000100, 00000000,00000000). (XEN) (file=traps.c, line=870) Non-priv domain attempted WRMSR(00000000c0000102, 00000000,00000000). (XEN) (file=traps.c, line=878) Non-priv domain attempted RDMSR(00000000c0000080, 00000000,00000000). stop_this_cpu disable_local_APIC David F Barrera wrote:> It seems that the x86_64 build still broken on FC4. It built on SLES > 9, but I got the following error on FC4: > > > gcc -nostdinc -fno-builtin -fno-common -fno-strict-aliasing > -iwithprefix include -Wall -Werror -Wno-pointer-arith -pipe > -I/tmp/xen-unstable.hg/xen/include > -I/tmp/xen-unstable.hg/xen/include/asm-x86/mach-generic > -I/tmp/xen-unstable.hg/xen/include/asm-x86/mach-default -O3 > -fomit-frame-pointer -msoft-float -m64 -mno-red-zone -fpic > -fno-reorder-blocks -fno-asynchronous-unwind-tables -DNDEBUG -DVERBOSE > -c physdev.c -o physdev.o > cc1: warnings being treated as errors > physdev.c: In function âdo_physdev_opâ: > physdev.c:109: warning: pointer targets in assignment differ in > signedness > make[3]: *** [physdev.o] Error 1 > make[3]: Leaving directory `/tmp/xen-unstable.hg/xen/arch/x86'' > make[2]: *** [/tmp/xen-unstable.hg/xen/xen] Error 2 > make[2]: Leaving directory `/tmp/xen-unstable.hg/xen'' > make[1]: *** [xen] Error 2 > make[1]: Leaving directory `/tmp/xen-unstable.hg'' > make: *** [world] Error 2 > > > Nakajima, Jun wrote: > >> Ryan Harper wrote: >> >> >>>>> You need x86_64 to run ASAP, not HOTPLUG_CPU for x86_64 smp, >>>>> correct? >>>> >>>> No, we _do_ need HOTPLUG_CPU for x86_64 smp. The build problem is >>>> not a big deal. >>>> >>> >>> Ah. OK. I don''t think it will be a problem for Xen, but currently in >>> plain linux-2.6.13-rc6 (which has x86_64 HOTPLUG_CPU support), >>> support is non-functional, at least on my two-way Opteron box. I can >>> remove a cpu (echo 0 > /sys/devices/system/cpu/cpu1/online) fine, but >>> when I try to restore (echo 1), the processor fails to come back. >>> Part of this is that they are integrating the physical hotplug >>> support which requires a full reboot of the processor (a second run >>> through do_boot_cpu()) since it would have been physically removed. >>> I really wanted to see HOTPLUG_CPU work on plain Linux before >>> bringing the code into XenLinux, but the issues may be tied up in >>> code that Xen doesn''t need. The hypervisor will have to support >>> physical hotplug before XenLinux will need it. >>> >> >> >> That''s right. As long as we handle VCPU, that should be Xen-specific and >> common between x86 and x86_64 (although smp.c & smpboot.c are slightly >> different there at this point). >> >> >> >>> There are some other subtle differences in HOTPLUG_CPU in the newer >>> 2.6.13 series for x86_64 compared to the level of HOTPLUG_CPU we have >>> patched into the 2.6.12 tree. >>> >>> I''ll go ahead and work up a patch that brings in HOTPLUG_CPU for >>> x86_64 and share that so we both can work on getting it working. >>> >> >> >> Great. >> Jun >> --- >> Intel Open Source Technology Center >> >> _______________________________________________ >> 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 >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel