[Xen-ia64-devel] RE: [Fedora-xen] fedora-xen-ia64 first pass

Akio Takebe takebe_akio at jp.fujitsu.com
Mon May 22 08:12:45 UTC 2006


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 at jp.fujitsu.com> - 3.0.2-4
+- turn on vp mode of xen 
+
 * Fri May  5 2006 Jeremy Katz <katzj at 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 $B!F(Bzap_domain_page_one$B!G(B:
domain.c:755: warning: implicit declaration of function $B!F(Bptep_get_and_clear$B!G(B
domain.c:755: error: incompatible types in assignment
domain.c: In function $B!F(Bassign_domain_page_replace$B!G(B:
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 at redhat.com [mailto:fedora-xen-bounces at redhat.com]
>> On Behalf Of Aron Griffis
>> Sent: 2006$B%Hs%d%D(B21$B%M%f(B 3:35
>> To: fedora-xen at redhat.com; fedora-ia64-list at redhat.com
>> Cc: xen-ia64-devel at 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 at redhat.com
>> https://www.redhat.com/mailman/listinfo/fedora-xen
>
>_______________________________________________
>Xen-ia64-devel mailing list
>Xen-ia64-devel at lists.xensource.com
>http://lists.xensource.com/xen-ia64-devel




More information about the Fedora-xen mailing list