CD drives in PIO mode don't work under Xen because of a change in Linux
between 2.6.12 and 2.6.16, as a result of the following thread:
http://lists.parisc-linux.org/pipermail/parisc-linux/2005-August/027197.html
The change breaks systems which have highmem and a swiotlb because the
ide-cd driver doesn't use the swiotlb, resulting in read/writes to/from
highmem pages in PIO mode not working any longer. Xen kernels usually have
both highmem and a swiotlb.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
If the bridge is already configure, the default route will point
to a xenbr interface and not an eth interface. Handle this case.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Add a new __xen_guest header field to distinguish between kernels with
the previous use of the paddr field and the new use.
Add a new __xen_guest header field to control the kernel entry point,
since the elf header entry field now points to a physical address.
This header field is also useful for supporting alternative entry
points in kernel images which run both on xen and native.
Also add a kernel config option to control whether the resulting kernel
should include compatibility code to run on Xen 3.0.2 or whether such
code such be left out, resulting in a kernel which will only run on
newer Xen versions. Default to having compatibility enabled.
Kernels built with the new use of the elf header fields would otherwise
not work on Xen versions prior to this changeset.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
The current code will break if there are multiple scope global routes
since the "ip route list default" command doesn't use "default" as a
filter, and will output multiple devices which breaks the rest of the
script.
Also make the vif/xenbr/eth naming consistent, i.e. if your default
network interface is eth1, you get vif1 and xenbr1.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
If a transaction end command fails, the semaphore which keeps track
of whether we're in a transaction or not was not getting updated.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
This can happen when building Linux with an old .config file which
doesn't have a value for CONFIG_XEN_INTERFACE_VERSION.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Instead of setting the highest bit (which isn't easily done on native x86_64),
negate the interrupt vector stored in orig_{e,r}ax.
Also add patch for native build.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Define interface version in Kconfig and define it through CPPFLAGS for
C and assembly file compilation.
Add HYPERVISOR_{yield,block,shutdown} to remove direct use of sched_op
from guest code.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
This should fix the "Assertion '! IS_INVALID_M2P_ENTRY(gpfn)'"-crash in
free_shadow_page on domain destruction.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Allow more than 256 interrupt vectors on native by only setting the
highest bit when marking orig_eax to indicate that we're not within
a system call.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Instead of putting the page outside of the guests pseudo-physical address
space, we put it next to the other pages filled by the domain builder,
such that the page is already mapped in the initial pagetables and/or a
lowmem-type memory mapping.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Many of the changes to entry.S can be removed because we don't support
CONFIG_PREEMPT anymore.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
- machine_specific_memory_setup() was unused on x86-64
- machine_specific_modify_cpu_capabilities() must not be __init (for CPU hotplug)
- machine_specific_modify_cpu_capabilities() should be called in similar ways on 32- and 64-bits
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Fix a recently found problem in tpm.c, move the vtpm sysfs
entry to /sys/device/platform/tpm_vtpm and add locking in
the vtpm hotplug script.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
As a consequence, some of the i386 changes over native code need to also be
added to x86-64.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Add CONFIG_X86_NO_IDT to exclude all code which references the idt table.
Also fix the non-Xen cpu_gdt_init() handling.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Add CONFIG_X86_NO_IDT to exclude all code which references the idt table.
Make CONFIG_X86_F00F_BUG conditional on CONFIG_X86_NO_IDT.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
to avoid problems when the position of the hypercall page changes.
Further, clean up many things to avoid needless differences to native
code, while also adding a couple of adjustments that only will be
submitted for native code inclusion, that simplify code, or that
remove unused elements.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
to allow the new VMSPLIT_* Kconfig options to work, and to
avoid problems when the position of the hypercall page
changes.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Starting a domain with a binary kernel image fails due to an uninitialized
field. This patch fixes that problem.
The Novell NetWare port to Xen 3.0 currently uses the binary image loader.
Signed-off-by: Bruce Rogers <brogers@novell.com>
and consumes 25% of the per-cpu area.
Add CONFIG_X86_NO_TSS to exclude all code which references tss.
Based on a patch by Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
and consumes 25% of the per-cpu area.
Add CONFIG_X86_NO_TSS to exclude all code which references tss.
Add CONFIG_X86_SYSENTER to conditionally include support for sysenter.
Change CONFIG_DOUBLEFAULT to depend on !CONFIG_X86_NO_TSS.
(sysenter and doublefault need tss).
Based on a patch by Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Protect the calls to the switch_APIC_timer_to_ipi and
switch_ipi_to_APIC_timer functions since we don't implement
smp_send_timer_broadcast_ipi().
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
- on write, new_guest_cr3() takes an mfn not an ma
- for shadow_translate guests, apply mfn_to_gmfn/gmfn_to_mfn
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Remove the export of evtchn_do_upcall().
Given the constraints on the use of this function (should run at least
with irqcount adjusted properly, preferrably also on irq stack), it
doesn't seem reasonable for this function to be exported.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Add a call to exit_idle() when evtchn_do_upcall() calls
evtchn_device_upcall() instead of do_IRQ().
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Especially in the light of the recent no-idle-tick preparations in
native x86-64 it is important that exit_idle() has proper state
available. For this reason, the processor's irqcount must be adjusted
within upcalls, and for consistency and similarity with native code
this call should also execute on the processor's irq stack.
At once the patch slightly simplifies the pre-existing code by copying
%rdi into %rsp instead of adding 8 to %rsp, and by using %rdi instead
of %rsp (avoiding a needless resource dependency) for storing the event
mask.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Change /proc/xen/xsd_mfn to /proc/xen/xsd_kva containing the kernel
virtual address of the dom0 xenstore page. Update xenstored to use
/proc/xen/xsd_kva.
Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
This boots dom0 and domU on an rx2600.
Revert several files that were accidentally reverted by the merge-ups
(that weren't fixed by cset 8743). Those are included here with the
2.6.15 patch re-applied as well as changes between 2.6.15 and 2.6.16-rc2.
Specifically, these are pal.h, processor.h and system.h.
This patch also reverts changes to include/asm-ia64/hypercall.h and
hypervisor.h from cset 8742.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>