Hi, Aron We have tried to boot xen with your tip, but found the configuration for domain0 opens dom0_VP mode, however, the dom0_VP option of xen was closed by default. Maybe this is the main reason why xen dies at booting xen0. Correct? If they don''t match, it is impossible to boot up. Due to not familiar with rpmbuild scripts, so we have to modify it manually to try. Thanks -Xiantao> -----Original Message----- > From: fedora-xen-bounces@redhat.com [mailto:fedora-xen-bounces@redhat.com] > On Behalf Of Aron Griffis > Sent: 2006年5月21日 3:35 > To: fedora-xen@redhat.com; fedora-ia64-list@redhat.com > Cc: xen-ia64-devel@lists.xensource.com > Subject: [Fedora-xen] fedora-xen-ia64 first pass > > Hello, > > I''ve made a first pass at modifying the Fedora Rawhide xen and kernel > rpms to support ia64. There is still a lot of work to do before this > would be suitable for inclusion in Fedora, but hopefully this > represents a proof-of-concept that can be improved to that point. > > If you''d like to browse or contribute, the bits are available as > mercurial repositories at: > > http://free.linux.hp.com/~agriffis/ > > There are 5 repositories presently: > > fedora-xen-rpm Tracks xen.src.rpm from rawhide. > > fedora-xen-ia64 Pulls from fedora-xen-rpm, contains > (trivial) modifications for ia64 > > fedora-kernel-rpm Tracks kernel.src.rpm from rawhide. > > fedora-kernel-ia64 Pulls from fedora-kernel-rpm, contains > modifications for ia64 > > xen-ia64-unstable-2.6.17 Forward port of xen-ia64-unstable > sparse tree from 2.6.16.13 to 2.6.17, > generates linux-2.6-xen.patch for > fedora-kernel-ia64 > > Here is my non-comprehensive list of notes/issues for > fedora-kernel-ia64: > > 1. Upstream xen is presently based on 2.6.16.13. Fedora kernel is (or > was yesterday) based on 2.6.17-rc4-git5. To port xen forward, the > most maintainable method seems to be to do the port in the context > of a xen-ia64-unstable mercurial clone (xen-ia64-unstable-2.6.17 > above). Using this method makes it relatively easy to: > > (a) port forward to a new kernel at any time using the > sparse-merge script > > (b) pull new changes from upstream xen and avoid most manual > merging > > (c) extract a patch at any time that represents the forward-port > of xen to a new kernel > > (d) generate a patch at any time that adds xen support to the > fedora kernel (linux-2.6-xen.patch generated with "make > mkpatches") > > The only caveat here is that I probably didn''t do the forward port > perfectly. In particular I know I bungled the TPM stuff because > there are lots of changes going into kernel.org and xen > simultaneously. Additionally I didn''t pay a lot of attention to > other architectures for the moment. > > Hopefully 2.6.17 will pop any day now, then xen upstream will move > to it, and we won''t have to carry the forward port in the Fedora > patch. If by some chance this doesn''t happen, then my forward > porting work will need to be revisited. > > 2. This first pass was created using the xen-ia64-unstable repo > instead of the xen-unstable repo. This is because xen-unstable is > broken recently on ia64. When the two have been resynced upstream, > and xen-unstable works on ia64, we should move this prototype to > using xen-unstable (which is what the current Fedora Xen patch is > based on). > > 3. The bare metal config is built for Generic. The xen0 and xenU > configs are built for DIG-Compliant. It seems that the kernel > won''t build for Generic with CONFIG_XEN enabled. Using > DIG-compliant for the xen kernels is probably okay for now, but it > would be good to get Generic building. > > 4. After applying patch700 (linux-2.6-xen.patch), the spec file > executes xen-mkbuildtree-pre if it exists for the architecture. > In effect, this is applying an ia64-specific patch, even though it > looks more generic in the spec. The special modifications being > made by xen-mkbuildtree-pre need to be folded into > linux-2.6-xen.patch to prevent architecture-specific maintenance > headaches in the stack of Fedora kernel patches. > > 5. My forward port broke the exec-shield patch application. Juan has > this resolved in his version, but that''s based on an older > xen-unstable changeset. I commented out patch810-812 for the > moment. > > 6. The xen patch is missing some function prototypes. (I believe this > is a problem in xen upstream not something introduced by my port.) > The Fedora kernel build normally turns on > -Werror-implicit-function-declaration in patch1018 > (linux-2.6-debug-Wundef.patch). I commented out this patch for the > moment. > > 7. The hypervisor doesn''t build on ia64 with "debug=y verbose=y > crash_debug=y". For the moment it builds with default flags on > ia64 instead. > > 8. /sbin/new-kernel-pkg doesn''t handle installation of the hypervisor > to the EFI partition. This should be a trivial fix. > > 9. Various other rpms need trivial updates to build/install on ia64, > for example libvirt. > > 10. Anaconda needs updates to handle installation of xen on ia64 > (interaction with elilo, etc) > > 11. After finally getting a full build, I tested it once on my rx2620. > The hypervisor booted, but the console didn''t get hooked up for > xen0, and eventually the machine reset. Hopefully these are > trivial configuration or elilo.conf updates, but there may be more > work involved. > > If you''d like to build these rpms for yourself, here''s the quick and > dirty guide (thanks Anil): > > hg clone http://free.linux.hp.com/~agriffis/fedora-kernel-ia64 > # or http://free.linux.hp.com/~agriffis/fedora-xen-ia64 > cd fedora-kernel-ia64 > mkdir -p BUILD RPMS/ia64 > source bashrc-snippet # might want this in your ~/.bashrc > cd SPECS > rpmbuild -ba kernel-2.6.spec > > Regards, > Aron > > -- > Fedora-xen mailing list > Fedora-xen@redhat.com > https://www.redhat.com/mailman/listinfo/fedora-xen
Akio Takebe
2006-May-22 08:12 UTC
Re: [Xen-ia64-devel] RE: [Fedora-xen] fedora-xen-ia64 first pass
Hi, This is a patch to turn on vp mode of xen. But I have compile error. diff -r f7ff4d62d186 SPECS/xen.spec --- a/SPECS/xen.spec Sat May 20 13:57:15 2006 -0400 +++ b/SPECS/xen.spec Tue May 23 11:11:14 2006 +0900 @@ -23,6 +23,9 @@ Patch12: xen-3.0.1-tempdir.patch # Patches to modify the default config of xend Patch100: xen-config-dom0-minmem.patch Patch101: xen-config-allow-http.patch + +# Patches to turn on vp mode of xen +Patch110: xen-vp_on.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: transfig libidn-devel zlib-devel texi2html SDL-devel curl-devel @@ -67,6 +70,7 @@ or makes fun of you in front of your fri # config patches %patch100 -p1 %patch101 -p1 +%patch110 -p1 cp %{SOURCE2} . @@ -150,8 +154,8 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/%{name} %{_libdir}/lib* %{_mandir}/man?/*.?.gz -%dir /usr/lib/xen -%dir /usr/lib/xen/boot +#%dir /usr/lib/xen +#%dir /usr/lib/xen/boot %ifarch i386 x86_64 /usr/lib/xen/boot/hvmloader %endif @@ -168,6 +172,9 @@ rm -rf $RPM_BUILD_ROOT %dir %{_localstatedir}/run/xenstored %changelog +* Fri May 22 2006 Akio Takebe <takebe_akio@jp.fujitsu.com> - 3.0.2-4 +- turn on vp mode of xen + * Fri May 5 2006 Jeremy Katz <katzj@redhat.com> - 3.0.2-4 - update to new snapshot (changeset 9925) diff -r f7ff4d62d186 SOURCES/xen-vp_on.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SOURCES/xen-vp_on.patch Tue May 23 11:11:14 2006 +0900 @@ -0,0 +1,11 @@ +--- xen-unstable.hg/xen/arch/ia64/Rules.mk 2006-05-23 10:47:16.000000000 +0900 ++++ xen-unstable.hg.new/xen/arch/ia64/Rules.mk 2006-05-23 10:47:25.000000000 +0900 +@@ -3,7 +3,7 @@ + + HAS_ACPI := y + VALIDATE_VT ?= n +-xen_ia64_dom0_virtual_physical ?= n ++xen_ia64_dom0_virtual_physical ?= y + + ifneq ($(COMPILE_ARCH),$(TARGET_ARCH)) + CROSS_COMPILE ?= /usr/local/sp_env/v2.2.5/i686/bin/ia64-unknown-linux- --- compile error is the below ----- fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64/linux -I/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64/linux-xen -DIA64 -DXEN -DLINUX_2_6 -DV_IOSAPIC_READY -ffixed-r13 -mfixed-range=f2-f5,f12-f127 -g -DCONFIG_XEN_IA64_DOM0_VP -g -D__XEN__ -c domain.c -o domain.o domain.c: In function ‘zap_domain_page_one’: domain.c:755: warning: implicit declaration of function ‘ptep_get_and_clear’ domain.c:755: error: incompatible types in assignment domain.c: In function ‘assign_domain_page_replace’: domain.c:957: error: incompatible types in assignment make[5]: *** [domain.o] Error 1 make[5]: Leaving directory `/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64/xen'' make[4]: *** [xen/built_in.o] Error 2 make[4]: Leaving directory `/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64'' make[3]: *** [/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64/built_in.o] Error 2 make[3]: Leaving directory `/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64'' make[2]: *** [/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/xen] Error 2 make[2]: Leaving directory `/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen'' make[1]: *** [install] Error 2 make[1]: Leaving directory `/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen'' make: *** [install-xen] Error 2 Best Regards, Akio Takebe>Hi, Aron > We have tried to boot xen with your tip, but found the configuration for >domain0 opens dom0_VP mode, however, the dom0_VP option of xen was closed >by default. Maybe this is the main reason why xen dies at booting xen0. >Correct? >If they don''t match, it is impossible to boot up. Due to not familiar with >rpmbuild scripts, so we have to modify it manually to try. > >Thanks >-Xiantao > >> -----Original Message----- >> From: fedora-xen-bounces@redhat.com [mailto:fedora-xen-bounces@redhat.com] >> On Behalf Of Aron Griffis >> Sent: 2006トヤツ21ネユ 3:35 >> To: fedora-xen@redhat.com; fedora-ia64-list@redhat.com >> Cc: xen-ia64-devel@lists.xensource.com >> Subject: [Fedora-xen] fedora-xen-ia64 first pass >> >> Hello, >> >> I''ve made a first pass at modifying the Fedora Rawhide xen and kernel >> rpms to support ia64. There is still a lot of work to do before this >> would be suitable for inclusion in Fedora, but hopefully this >> represents a proof-of-concept that can be improved to that point. >> >> If you''d like to browse or contribute, the bits are available as >> mercurial repositories at: >> >> http://free.linux.hp.com/~agriffis/ >> >> There are 5 repositories presently: >> >> fedora-xen-rpm Tracks xen.src.rpm from rawhide. >> >> fedora-xen-ia64 Pulls from fedora-xen-rpm, contains >> (trivial) modifications for ia64 >> >> fedora-kernel-rpm Tracks kernel.src.rpm from rawhide. >> >> fedora-kernel-ia64 Pulls from fedora-kernel-rpm, contains >> modifications for ia64 >> >> xen-ia64-unstable-2.6.17 Forward port of xen-ia64-unstable >> sparse tree from 2.6.16.13 to 2.6.17, >> generates linux-2.6-xen.patch for >> fedora-kernel-ia64 >> >> Here is my non-comprehensive list of notes/issues for >> fedora-kernel-ia64: >> >> 1. Upstream xen is presently based on 2.6.16.13. Fedora kernel is (or >> was yesterday) based on 2.6.17-rc4-git5. To port xen forward, the >> most maintainable method seems to be to do the port in the context >> of a xen-ia64-unstable mercurial clone (xen-ia64-unstable-2.6.17 >> above). Using this method makes it relatively easy to: >> >> (a) port forward to a new kernel at any time using the >> sparse-merge script >> >> (b) pull new changes from upstream xen and avoid most manual >> merging >> >> (c) extract a patch at any time that represents the forward-port >> of xen to a new kernel >> >> (d) generate a patch at any time that adds xen support to the >> fedora kernel (linux-2.6-xen.patch generated with "make >> mkpatches") >> >> The only caveat here is that I probably didn''t do the forward port >> perfectly. In particular I know I bungled the TPM stuff because >> there are lots of changes going into kernel.org and xen >> simultaneously. Additionally I didn''t pay a lot of attention to >> other architectures for the moment. >> >> Hopefully 2.6.17 will pop any day now, then xen upstream will move >> to it, and we won''t have to carry the forward port in the Fedora >> patch. If by some chance this doesn''t happen, then my forward >> porting work will need to be revisited. >> >> 2. This first pass was created using the xen-ia64-unstable repo >> instead of the xen-unstable repo. This is because xen-unstable is >> broken recently on ia64. When the two have been resynced upstream, >> and xen-unstable works on ia64, we should move this prototype to >> using xen-unstable (which is what the current Fedora Xen patch is >> based on). >> >> 3. The bare metal config is built for Generic. The xen0 and xenU >> configs are built for DIG-Compliant. It seems that the kernel >> won''t build for Generic with CONFIG_XEN enabled. Using >> DIG-compliant for the xen kernels is probably okay for now, but it >> would be good to get Generic building. >> >> 4. After applying patch700 (linux-2.6-xen.patch), the spec file >> executes xen-mkbuildtree-pre if it exists for the architecture. >> In effect, this is applying an ia64-specific patch, even though it >> looks more generic in the spec. The special modifications being >> made by xen-mkbuildtree-pre need to be folded into >> linux-2.6-xen.patch to prevent architecture-specific maintenance >> headaches in the stack of Fedora kernel patches. >> >> 5. My forward port broke the exec-shield patch application. Juan has >> this resolved in his version, but that''s based on an older >> xen-unstable changeset. I commented out patch810-812 for the >> moment. >> >> 6. The xen patch is missing some function prototypes. (I believe this >> is a problem in xen upstream not something introduced by my port.) >> The Fedora kernel build normally turns on >> -Werror-implicit-function-declaration in patch1018 >> (linux-2.6-debug-Wundef.patch). I commented out this patch for the >> moment. >> >> 7. The hypervisor doesn''t build on ia64 with "debug=y verbose=y >> crash_debug=y". For the moment it builds with default flags on >> ia64 instead. >> >> 8. /sbin/new-kernel-pkg doesn''t handle installation of the hypervisor >> to the EFI partition. This should be a trivial fix. >> >> 9. Various other rpms need trivial updates to build/install on ia64, >> for example libvirt. >> >> 10. Anaconda needs updates to handle installation of xen on ia64 >> (interaction with elilo, etc) >> >> 11. After finally getting a full build, I tested it once on my rx2620. >> The hypervisor booted, but the console didn''t get hooked up for >> xen0, and eventually the machine reset. Hopefully these are >> trivial configuration or elilo.conf updates, but there may be more >> work involved. >> >> If you''d like to build these rpms for yourself, here''s the quick and >> dirty guide (thanks Anil): >> >> hg clone http://free.linux.hp.com/~agriffis/fedora-kernel-ia64 >> # or http://free.linux.hp.com/~agriffis/fedora-xen-ia64 >> cd fedora-kernel-ia64 >> mkdir -p BUILD RPMS/ia64 >> source bashrc-snippet # might want this in your ~/.bashrc >> cd SPECS >> rpmbuild -ba kernel-2.6.spec >> >> Regards, >> Aron >> >> -- >> Fedora-xen mailing list >> Fedora-xen@redhat.com >> https://www.redhat.com/mailman/listinfo/fedora-xen > >_______________________________________________ >Xen-ia64-devel mailing list >Xen-ia64-devel@lists.xensource.com >http://lists.xensource.com/xen-ia64-devel
Zhang, Xiantao wrote: [Mon May 22 2006, 02:48:37AM EDT]> We have tried to boot xen with your tip, but found the configuration > for domain0 opens dom0_VP mode, however, the dom0_VP option of xen > was closed by default. Maybe this is the main reason why xen dies at > booting xen0. Correct? If they don''t match, it is impossible to > boot up. Due to not familiar with rpmbuild scripts, so we have to > modify it manually to try.Thanks, this was indeed the problem. Fixing this allows the boot to go further before it hits a panic. fedora-kernel-ia64 cset 16 contains this fix. Regards, Aron
Aron Griffis
2006-May-22 15:38 UTC
Re: [Xen-ia64-devel] RE: [Fedora-xen] fedora-xen-ia64 first pass
Akio Takebe wrote: [Mon May 22 2006, 04:12:45AM EDT]> This is a patch to turn on vp mode of xen. > But I have compile error. > > diff -r f7ff4d62d186 SPECS/xen.spec > --- a/SPECS/xen.spec Sat May 20 13:57:15 2006 -0400 > +++ b/SPECS/xen.spec Tue May 23 11:11:14 2006 +0900 > @@ -23,6 +23,9 @@ Patch12: xen-3.0.1-tempdir.patch > # Patches to modify the default config of xend > Patch100: xen-config-dom0-minmem.patch > Patch101: xen-config-allow-http.patch > + > +# Patches to turn on vp mode of xen > +Patch110: xen-vp_on.patch > > BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root > BuildRequires: transfig libidn-devel zlib-devel texi2html SDL-devel curl-devel > @@ -67,6 +70,7 @@ or makes fun of you in front of your fri > # config patches > %patch100 -p1 > %patch101 -p1 > +%patch110 -p1 > > cp %{SOURCE2} .Thanks, but I think this is making the change in the wrong place. The fedora-xen-ia64 repository is only the tools, not the hypervisor. (This is a confusing misnomer on the part of Fedora.) The change needs to be made instead in fedora-kernel-ia64, which contains both the hypervisor and the kernel. I think I fixed this in cset 16. Does it look right to you?> @@ -150,8 +154,8 @@ rm -rf $RPM_BUILD_ROOT > %{_libdir}/%{name} > %{_libdir}/lib* > %{_mandir}/man?/*.?.gz > -%dir /usr/lib/xen > -%dir /usr/lib/xen/boot > +#%dir /usr/lib/xen > +#%dir /usr/lib/xen/boot > %ifarch i386 x86_64 > /usr/lib/xen/boot/hvmloader > %endifThis part looks right. I''m not sure why it was being specified twice originally. I just removed the lines instead of commenting them, see fedora-xen-ia64 cset 3> --- compile error is the below ----- > fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64/linux -I/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64/linux-xen -DIA64 -DXEN -DLINUX_2_6 -DV_IOSAPIC_READY -ffixed-r13 -mfixed-range=f2-f5,f12-f127 -g -DCONFIG_XEN_IA64_DOM0_VP -g -D__XEN__ -c domain.c -o domain.o > domain.c: In function ‘zap_domain_page_one’: > domain.c:755: warning: implicit declaration of function ‘ptep_get_and_clear’ > domain.c:755: error: incompatible types in assignment > domain.c: In function ‘assign_domain_page_replace’: > domain.c:957: error: incompatible types in assignment > make[5]: *** [domain.o] Error 1 > make[5]: Leaving directory `/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64/xen'' > make[4]: *** [xen/built_in.o] Error 2 > make[4]: Leaving directory `/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64'' > make[3]: *** [/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64/built_in.o] Error 2 > make[3]: Leaving directory `/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/arch/ia64'' > make[2]: *** [/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen/xen] Error 2 > make[2]: Leaving directory `/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen'' > make[1]: *** [install] Error 2 > make[1]: Leaving directory `/root/fedora/fedora-xen-ia64/BUILD/xen-unstable.hg/xen'' > make: *** [install-xen] Error 2I think this comes from building the hypervisor in the wrong repository. Try fedora-kernel-ia64 instead (and sorry for the confusion) Regards, Aron