Hi,Chris?
I wonder which version of Xen did the para-Linux works with.
I applied the patches, compiled them and tried them on both xen-3.0.2
and the latest xen-unstable.
Both result in panics when booting Xen and complain as follows:
(XEN) Domain 0 kernel supports features = { 00000005 }.
(XEN) Domain 0 kernel requires features = { 00000005 }.
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Domain 0 requires an unsupported hypervisor feature.
(XEN) ****************************************
It seems that the xen loader for dom0 isn't compatible with the para-Linux.
I tried to fix it by replacing the XEN_FEATURE string in head.S
from
.ascii ",FEATURES= !writable_page_tables"
.ascii "|!auto_translated_physmap"
to
.ascii ",FEATURES= writable_page_tables"
.ascii "| auto_translated_physmap"
Then booting Xen succeeds for Xen-unstable and hangs when booting Linux and
reports the following message:
(XEN) domain_crash called from mm.c:1783
(XEN) Domain 0 (vcpu#0) crashed on cpu#0:
(XEN) ----[ Xen-3.0-unstable Not tainted ]----
(XEN) CPU: 0
(XEN) EIP: e019:[<c02ce06a>]
(XEN) EFLAGS: 00010287 CONTEXT: guest
(XEN) eax: 002f7000 ebx: 00000000 ecx: c02f7fb8 edx: c02f7fbc
(XEN) esi: 00000000 edi: c02f9eec ebp: c02c3ff8 esp: c02c3fc0
(XEN) cr0: 8005003b cr3: 001a0000
(XEN) ds: e021 es: e021 fs: 0000 gs: 0000 ss: e021 cs: e019
(XEN) Guest stack trace from esp=c02c3fc0:
(XEN) Fault while accessing guest memory.
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.
Thanks.
======= 2006-07-18 17:20:03 You wrote?======>Unlike full virtualization in
which the virtual machine provides >the same platform interface as running natively on the hardware,
>paravirtualization requires modification to the guest operating system
>to work with the platform interface provided by the hypervisor.
>
>Xen was designed with performance in mind. Calls to the hypervisor
>are minimized, batched if necessary, and non-critical codepaths are left
>unmodified in the case where the privileged instruction can be trapped and
>emulated by the hypervisor. The Xen API is designed to be OS agnostic and
>has had Linux, NetBSD, FreeBSD, Solaris, Plan9 and Netware ported to it.
>Xen also provides support for running directly on native hardware.
>