Commit Graph
1204 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk 6a4be408e4 Remove obsolete privcmd_blkmsg struct.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-05-02 09:18:55 +01:00
kaf24@firebug.cl.cam.ac.uk 095470c787 Include string.h in the hypercall header file to ensure that memcpy() is defined.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-01 17:02:43 +01:00
kaf24@firebug.cl.cam.ac.uk 11dfd1c079 The Xen netif drivers won't complile if NET is absent.
Signed-Off-By: Horms <horms@verge.net.au>
2006-05-01 15:30:53 +01:00
kaf24@firebug.cl.cam.ac.uk 1c4f3590d1 Compilation fix on ia64. Include linux/vmalloc.h for struct vm_area.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-01 15:29:38 +01:00
kaf24@firebug.cl.cam.ac.uk 6320cedf16 Compilation fix tpmback.c on ia64. Use pfn_to_mfn instead of
phys_to_machine_mapping.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-01 15:29:08 +01:00
kaf24@firebug.cl.cam.ac.uk 28ba640091 Change semantics of grant transfers for vp guests so that the
operation automatically gets you a fresh page at the same
pseudo-physical address as Keir suggested.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-01 15:28:01 +01:00
kaf24@firebug.cl.cam.ac.uk 8419bc2fd9 Allow architectures to define their own privcmd_mmap() by
introducing HAVE_ARCH_PRIVCMD_MMAP.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-30 09:52:13 +01:00
kaf24@firebug.cl.cam.ac.uk 918c6260b3 Introduce XEN_IA64_DOM0_NON_VP to simplify some ifdefs
from defined(__ia64__) && !defined(CONFIG_XEN_IA64_DOM0_VP)
to defined(XEN_IA64_DOM0_NON_VP).

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-30 09:50:49 +01:00
kaf24@firebug.cl.cam.ac.uk ab105de48f Balloon driver: when in autotranslate mode, pages are returned
to xen without traversing init_mm.
This change is needed for xen/ia64 vp model.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-30 09:47:51 +01:00
kaf24@firebug.cl.cam.ac.uk 88ebde1570 Fix blktap "bad page state" bug.
Signed-off-by: Andrew Warfield <andrew.warfield@cl.cam.ac.uk>
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-30 09:39:04 +01:00
kaf24@firebug.cl.cam.ac.uk a4e370a392 balloon_alloc_empty_page_range() should set the reference count
on every page structure before returning.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-30 09:32:21 +01:00
kaf24@firebug.cl.cam.ac.uk 013351bd7a Define new event-channel and physdev hypercalls with a more extensible
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>
2006-04-30 09:16:15 +01:00
kaf24@firebug.cl.cam.ac.uk 48584e1773 xen/ia64 with dom0 vp model doesn't need the blkbkack ia64 workarounds
any more.  xen/ia64 dom0 vp model is a big change so that xen/ia64
with the old model (P=M) still remains as the compile option.
Hopefully the work around will be eliminated in the future completely.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-28 14:48:50 +01:00
kaf24@firebug.cl.cam.ac.uk 78fdb3afd2 Makefile changes for xen/ia64 with dom0 vp model needs.
xenLinux/ia64 with dom0 vp model needs arch/i386/kernel/swiotlb.o

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-28 14:47:42 +01:00
kaf24@firebug.cl.cam.ac.uk 1de2453162 xen/ia64 with dom0 vp model needs direct_remap_pfn_range() to be called
for IOCTL_PRIVCMD_MMAPBATCH.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-28 14:42:53 +01:00
kaf24@firebug.cl.cam.ac.uk b46bbfc10c Recent GUEST_HANDLE related cset broke ia64 compilation.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-04-28 14:35:34 +01:00
kaf24@firebug.cl.cam.ac.uk 54b4ddf0d1 Rename {SG}ET_XEN_GUEST_HANDLE to {sg}et_Xen_guest_handle, as they
are function macros rather than define/declare macros.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-28 09:40:07 +01:00
kaf24@firebug.cl.cam.ac.uk 37f486b06e Relax BUG_ON() state ment in increase_reservation() in balloon.c.
When xen_feature(XENFEAT_auto_translated_physmap) = 1,
phys_to_machine_mapping_valid(pfn) always returns true.
Relaxed BUG_ON() for xen_feature(XENFEAT_auto_translated_physmap) = 1 case.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-28 08:30:52 +01:00
kaf24@firebug.cl.cam.ac.uk 02842d8a2b Bump Xen interface version number to 0x00030201 for new
structural guest handles.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-27 14:03:22 +01:00
kaf24@firebug.cl.cam.ac.uk 704e9ade0f Wrap all GUEST_HANDLEs in structures, and define SET/GET macros to access them
in Linux and libxc.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-04-27 13:58:50 +01:00
kaf24@firebug.cl.cam.ac.uk 4025e86c1a This patch adds the ability to have restricted write access to some
of the structures on the capability list. Specifically, this patch adds
support for reading data through the Vital Product Data capability
structure and for manipulating power management of a card. A driver
domain is not allowed to enable Power Management Events (the PME trace
may be shared across devices in many domains), but it can put a device
in its control to sleep or query it for power usage statistics. This
code could possibly be expanded in the future to add support for AGP,
PCI-X, and MSI/MSIX (all of which are controlled through structures on
the capability list).

This patch also corrects some formatting issues in the PCI backend and
adds some comments to the code regarding permissive mode.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
2006-04-27 09:49:48 +01:00
kaf24@firebug.cl.cam.ac.uk c7e3f5818f Just allocate unbound irq only from dynirq range, since
pirq range is reserved for physical devices. This saves
unnecessary checks on pirq range.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-04-27 09:43:49 +01:00
awilliam@xenbuild.aw 7a72b7c50b merge with xen-unstable.hg 2006-04-26 13:17:37 -06:00
kaf24@firebug.cl.cam.ac.uk b450304086 Make xen_features and force_evtchn_callback() non-GPL
symbols as they are used in a variety of ubiquitous
kernel macros.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-26 17:41:19 +01:00
yamahata@valinux.co.jp 078e1918d3 xenLinux/ia64 has its own dma_map_page(), dma_unmap_page(), and it needs
linux default implementations of dma_declare_coheremnt_memory() and its
families which is defined in include/linux/dma-mapping.h.
So those in pci-dma-xen.c are unnecessary. #ifdef out them.
PATCHNAME: pci-dma-xen-common

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-26 10:43:16 +01:00
awilliam@xenbuild.aw aaf9402dab merge with xen-unstable.hg 2006-04-25 23:35:55 -06:00
awilliam@localhost e1a87a84be [IA64] linux: arch/ia64/xen/makefile change
update linux-2.6-xen-sparse/arch/ia64/xen/Makefile

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 16:55:09 -06:00
awilliam@localhost 05e3e3c89e [IA64] dma paravirtualization
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 16:53:27 -06:00
awilliam@ldap.hp.com 44ecda1d9d [IA64] add dom0vp hypercall interfaces
adds the dom0vp hypercall interfaces.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 14:02:21 -06:00
awilliam@ldap.hp.com 6283fce6f0 [IA64] introduce config option
introduce XEN_IA64_DOM0_VP config.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 13:57:56 -06:00
kaf24@firebug.cl.cam.ac.uk b11a028b04 Need a little more serialisation in pciback_do_op().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-25 18:22:11 +01:00
kaf24@firebug.cl.cam.ac.uk 93bb8669b3 Some of the Linux PCI functions called by the virtual configuration
space handlers were making calls into ACPI code which uses semaphores.
Since semaphores can not be locked while atomic (because they could
sleep), I changed the way the PCI backend responds to requests from the
frontend. Previously, the virtual configuration space handlers ran in
the same context as the event channel interrupt handler (which was often
atomic if not always atomic). Now the interrupt handler schedules a
callback function (a bottom half) in the system work queue (keventd)
that will get called in process context at a slightly later time. This
allows the handlers in the virtual configuration space to run in process
context and to call any core PCI function regardless of whether it will
sleep or not.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
2006-04-25 18:13:39 +01:00
kaf24@firebug.cl.cam.ac.uk 91046a739e Fix the -xen, -xen0 builds.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-25 16:08:11 +01:00
kaf24@firebug.cl.cam.ac.uk c0b2433fa9 Change the xenbus_map_ring_valloc() interface and implementation so
that it is buildable as a module.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-04-25 14:20:08 +01:00
kaf24@firebug.cl.cam.ac.uk e46dd6eea6 Add a return statement to the non-Xen version of skb_checksum_setup.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-04-25 09:02:53 +01:00
kaf24@firebug.cl.cam.ac.uk 65fbb3b646 The Xen checksum offload feature attempts to insert a TCP/UDP
checksums into already encrypted packets (esp4) in dom0.  Obviously,
it is not possible to insert a checksum into an already encrypted
packet, so this patch inserts the checksum prior to encrypting
packets in net/ipv4/xfrm4_output.c.

To do this cleanly, the TCP/UDP header pointers need to be pointed to
the correct spot, so this functionality has been abstracted into a new
function.

This patch fixes bug 143 (verified by Jim Dykman).  Earlier version
verified by Jon McCune.

Signed-off-by: James Dykman <dykman@us.ibm.com>
Signed-off-by: Jon Mason <jdmason@us.ibm.com>
2006-04-22 10:41:53 +01:00
kaf24@firebug.cl.cam.ac.uk 83d83bb966 Fix VM_RESERVED check in vm_normal_page(). Pointed out by
Isaku Yamahata.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-22 09:45:45 +01:00
Ian.Campbell@xensource.com a3fd8815ef Don't BUG_ON() if we cannot register an NMI callback since it is not a fatal
problem.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 18:06:06 +01:00
Ian.Campbell@xensource.com 7e360a9957 Rename TSS_sysenter_esp0 to SYSENTER_stack_esp0 to reflect the actual
usage since the TSS is not used under Xen.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:49:10 +01:00
awilliam@xenbuild.aw 9cc9df7182 [IA64] SMP-guest
Final SMP-guest patch: add IPI and boot rendez-vous support.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-04-21 10:40:17 -06:00
Ian.Campbell@xensource.com dadf394db4 Linux support for sysenter/exit on x86_32.
This support is only active when supervisor_mode_kernel is enabled
in the Xen build (and when the hardware supports sysenter).

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:19:31 +01:00
Ian.Campbell@xensource.com 8adc4e5ce7 Remove CONFIG_X86_SYSENTER option.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:19:26 +01:00
Ian.Campbell@xensource.com 8c18405bb3 Merge nmi_op functionality with the callback_op hypercall.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:19:22 +01:00
Ian.Campbell@xensource.com 41d7f059c5 Use set_callbacks hypercall if callback_op is not available.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:18:53 +01:00
awilliam@xenbuild.aw 633da67231 [IA64] Add support to physdev_ops
Add support to physdev ops, and thus give IOSAPIC RTEs
managed by Xen now. Dom0 now issues hypercall to r/w
RTE entry. Another change is the irq vector allocation
which is also owned by xen now.

After this change, the IOSAPIC is almost owned by xen
with only exception as IOSAPIC EOI which is still issued
by dom0 directly. But that's OK since currently dom0 
owns all external physical devices. Later full event
channel mechanism will provide necessary support for
driver domain, and at that time, dom0 instead issues
physdev_op (PHYSDEVOP_IRQ_UNMASK_NOTIFY) naturally as
replace of IOSAPIC EOI.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-04-21 09:03:19 -06:00
awilliam@xenbuild.aw 505cbfa6e7 [IA64] add base iosapic files
Add base iosapic files from Linux-2.6.16 in preparation for
Kevin's iosapic changes.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-04-21 08:56:24 -06:00
kaf24@firebug.cl.cam.ac.uk e1a1180660 Propagate information about bad (or good) REGSEL register
of chipset IO-APICs to Xen. If REGSEL is bad (some old SiS
chipsets) then we have a slower read-modify-write routine.
Loosely based on an original patch from Jan Beulich.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-21 10:44:54 +01:00
kaf24@firebug.cl.cam.ac.uk 5cf78863a9 PAE pgd construction code should use clone_pgd_range().
Also fix the loop that allocates users pmds.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-21 09:37:22 +01:00
kaf24@firebug.cl.cam.ac.uk cfc4a77198 Enable migration of a domain to the local machine - some timing
issues needed to be resolved by executing certain code early/later
Restore the physical to machine array such that balloon-allocated
pages can be deallocated.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-20 17:32:12 +01:00
kaf24@firebug.cl.cam.ac.uk a20dde6f0b In both i386 and x86-64 Linux, using a static variable (and thus
having the potential of missing synchronization there,
as I suspect exists in native Linux) is not needed with the hypercall 
approach. In the hypervisor, the patch adds the
needed synchronization.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-04-20 14:10:35 +01:00