PUDs,PMDs,PTEs are all marked as ForeignPage so that they can be
grabbed from tlb_remove_page() at the appropriate time and freed in a
special way.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
This patch contains the x86_64 implementation of Kexec / Kdump for Xen.
Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
Signed-Off-By: Simon Horman <horms@verge.net.au>
The original /dev/mem (linux/drivers/char/mem.c) is aware of IA64
specific issues. On the other hand paravirtualized /dev/mem
(linux-2.6-xen-sparse/drivers/xen/char/mem.c) is simplifed not to be
aware of IA64. This patch makes it IA64-aware to use X on domain0/IA64.
With this patch and ia64-specific patches, X server can boot on domain0/IA64.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
This requires us to explicitly specify _PAGE_USER for kernel mappings.
Original patch by Jan Beulich <jbeulich@novell.com> and Gerd Hoffmann.
Signed-off-by: Keir Fraser <keir@xensource.com>
include/asm-{i386,x86_64}/mach-xen/asm/fixmap.h was needlessly
including include/xen/gnttab.h. Removing this made necessary explicit
inclusion of that header in tpm_xen.c, the build of which should not
have succeeded on non-x86 architectures before.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Probably still not catching all possible cases, but using static
(where not already the case) makes the code size smaller, and using __initdata
has the usual advantages.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
This may allow guest kernels to be run outside ring 3 in future, and
also provides scope for optimisations today (e.g., using global bit on
user mappings).
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
Split the bits of page.h which are needed by PV-on-HVM drivers out
into a separate header file, so that it's a bit easier to get the xenolinux
machine address functions when compiled against a native kernel.
Signed-off-by: Steven Smith <ssmith@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
This fixes a bug whereby foreign pages were freed by the unpin, which
then become owned by the local domain before it destroys its ptes.
It therefore (erroneously) detects the mappings as local and so
updates reference counts, leading to crashes.
Signed-off-by: Keir Fraser <keir@xensource.com>
sizeof of the mach2phys table default mapping. Use this in Linux to
dynamically adapt the mfn_to_pfn() routine to undelrying hypervisor.
Signed-off-by: Keir Fraser <keir@xensource.com>
completes the alignment of the ACM call interface with the other Xen
hypervisor call interfaces. This macro is used to call from the a guest
kernel directly into the ACM hypervisor module.
Signed-off by: Reiner Sailer <sailer@us.ibm.com>
Signed-off by: Bryan D. Payne <bdpayne@us.ibm.com>
This fixes the native build.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
--HG--
rename : linux-2.6-xen-sparse/include/asm-x86_64/e820.h => linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/e820.h
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>
interface (the legacy hypercalls would break if subcommands with large
argument structures were added, as it would grow the size of the
union of all argument structures).
Also, based on a patch from Kevin Tian, add a new physdev op to
signal EOI for a particular irq.
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/ia64 with the P2M/VP model pseudo physical address(gpaddr) is
fully virtualized so it defines
xen_features(XENFEAT_auto_translated_physmap) = 1. In this case
page_to_phys(page) should return pseudo physical address like
pfn_to_mfn() and its families. However dma is not virtualized, it
can't be used for pci-dma-xen.c, swiotlb.c.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
callback address.
This new hypercall incorporates the functionality of the existing set_callbacks
hypercall in a more flexible manner. set_callbacks is retained for compatibility.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
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>
1. Make it clear in all dual-licensed files that the
license when distributed with Linux is GPLv2.
2. Add MODULE_LICENSE(dual) in a few places.
3. Change many of our EXPORT_SYMBOL() decls to EXPORT_SYMBOL_GPL().
This is the preference of the Linux maintainers, and avoids any
trouble down the road if our EXPORT_SYMBOL'ed functions use Linux
internal interfaces that are GPL only.
Signed-off-by: Keir Fraser <keir@xensource.com>
legacy hypercall in that it takes a pointer to a block of extra arguments
rather than an opaque unsigned long. The old hypercall still exists, for
backwards compatibility.
The new hypercall supports new sub-command SCHEDOP_poll, which can be used to
wait on a set of event-channel ports with an optional timeout. This is exported
in XenLinux as HYPERVISOR_poll, and used in the pcifront driver to wait on a
response from the pciback driver.
Can also be used for debuggers. :-)
Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: John Levon <john.levon@sun.com>