Commit Graph
1823 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain 87f272150c linux: Add trivial forwarding of dma_{,un}map_page when not using highmem
Use non-trivial dma_{un,}map_page only when CONFIG_HIGHMEM, allowing
to not compile swiotlb_{un,}map_page in that case, which in neither
case need exporting.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-12 15:35:52 +00:00
kfraser@localhost.localdomain d779bf9529 linux: Reduce restrictions on address width for DMA operations
Use address width needed by device rather than dma_bits in
dma_alloc_coherent().
Probe supported address width in swiotlb initialization.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-12 15:34:30 +00:00
kfraser@localhost.localdomain 043158a97f x86/PAE linux: don't restrict upper half of page table entries to 3 bits
when dumping the page table contents during an oops.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-12 14:48:06 +00:00
kfraser@localhost.localdomain e8922851b5 [LINUX] swiotlb: eliminate KM_SWIOTLB and thus the need for a Xen-specific kmap_types.h.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-12 10:31:16 +00:00
kfraser@localhost.localdomain 9f7105d6ac linux/i386: allow CONFIG_HIGHPTE on i386
While, as discussed, the performance impact of this option is
certainly higher than on native Linux, the option should not be
entirely disallowed if people want to sacrifice performance for less
lowmem pressure.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-01-12 10:28:54 +00:00
kfraser@localhost.localdomain 8f529b5deb [LINUX] x86/64: Sync pagetable management with i386 Xen code.
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>
2007-01-12 10:22:36 +00:00
Jake Wires 409d47638a [BLKTAP/BLKBACK] name blktap/blkback kernel threads as "domid.virtual_devname"
Signed-off-by: Jake Wires <jwires@xensource.com>
2007-01-09 18:56:44 -08:00
Ian Campbell 0257938d11 [LINUX] Clarify comment in xen_machine_kexec_setup_resources().
Noticed by Horms.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-01-10 09:39:24 +00:00
Ian Campbell b0a47bd080 [LINUX] Kexec: Don't try to load an NULL image. This can occur when unloading.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-01-09 17:14:28 +00:00
kfraser@localhost.localdomain a9e6f2b531 [BALLOON] Ifdef some x86-specific balloon init code.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-05 17:39:34 +00:00
Christian Limpach 7c6b36118d [linux] Remove some gratuitous differences with plain 2.6.16.33.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-01-04 13:05:09 +00:00
Steven Hand 1033df9144 Make sure we always have a sensible idle function; this fixes problems
booting dom0 on AMD introduced by -unstable cset 13213:bf25488db8eb.

Signed-off-by: Steven Hand <steven@xensource.com>
2007-01-04 10:58:01 +00:00
kfraser@localhost.localdomain 0550678b74 [LINUX] Implement the idle=poll option in the kernel when running on Xen.
This causes the kernel to use a polling loop rather than hypercall
down to block. I have found this useful to profile the amount of sleep
cycles when using xenoprof, there may be other uses.

Signed-off-by: Amitabha Roy <amitabha.roy@gmail.com>
2007-01-03 14:08:42 +00:00
kfraser@localhost.localdomain 30bc7b0ff1 [LINUX] Build blktap as module named xenblktap.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-03 13:46:23 +00:00
Ian Campbell 3c4b2d4c00 [PV-on-HVM] blkfront: use %Lu instead of %llu to xenbus_gather.
The 'll' length modifier is not available with scanf (and therefore
xenbus_gather) on older kernel versions so use 'L' which is available at
least back to 2.6.5.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-01-02 14:19:47 +00:00
kaf24@localhost.localdomain 47fad056d3 [LINUX] Extend the event-channel interfaces to provide helper methods
for creating interdomain event channels bound to IRQ handlers.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-30 18:23:27 +00:00
Steven Hand 3dcbf823b3 Revert cset 13181:f087c013cf12 since the event channel is already unbound via
blkif_free() -> unbind_from_irqhandler() -> unbind_from_irq()


Signed-off-by: Steven Hand <steven@xensource.com>
2006-12-29 17:46:40 +00:00
kaf24@localhost.localdomain b842346faa [BLK] front: Fix free of event channel.
Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
2006-12-28 17:14:41 +00:00
kfraser@localhost.localdomain a32030439b [LINUX][IA64] New file swiotlb.h.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-12-21 11:10:43 +00:00
kfraser@localhost.localdomain 27ea071e57 [NET] front: Fix interface teardown.
Original bug discovered and fixed by Glauber de Oliveira Costa
<gcosta@redhat.com>.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-20 11:39:22 +00:00
kfraser@localhost.localdomain 576a882bc5 [LINUX] dma: Use swiotlb mask for coherent mappings too
The recent change to use a default DMA bit width of 30 bits (required
by chips like the b44) only converted the streaming DMA primitives.
The coherent mappings are still hard-coded to 31 bits.  This means
that b44 still doesn't work under Xen.

This patch makes the io_tlb_dma_bits variable global and uses it for
coherent memory mappings.

Thanks to Calvin Webster for providing a machine with a b44 and 2G
of memory I've been able to verify that this finally makes the b44
work under Xen.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Rename 'io_tlb_dma_bits' to the more correct 'dma_bits'. This also
affects the name of the boot parameter, which is now 'dma_bits='.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-20 11:21:04 +00:00
kfraser@localhost.localdomain 3d17485a07 [LINUX] Disallow nested event delivery.
This eliminates the risk of overflowing the kernel stack and is a
reasonable policy given that we have no concept of priorities among
event sources.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-20 11:09:56 +00:00
awilliam@xenbuild2.aw f4556d2362 merge with xen-unstable.hg 2006-12-18 10:56:34 -07:00
awilliam@xenbuild2.aw 5fb6147b15 [IA64] evtchn_callback fix and clean
Since we had changed to use event callback to deliver interrupts,

1. The pending_interruption is changed to pending_event.

2. get_ivr, set_tpr, get_trp and set_eoi are not used or only used
   in the initialization phase. There is no need to write this code
   in assembly.  This code is deleted.

3. hyper_ssm_i needs to be rewritten to jump to entchn_callback_handler
   instead of iva+0x3000 interrupt handler.  I will do this later.

Signed-off-by: Anthony Xu  <anthony.xu@intel.com>
2006-12-18 10:20:34 -07:00
kfraser@localhost.localdomain 6465003372 [XENFB] xenfb_update_screen() calls zap_page_range() while holding spinlock mm_lock.
Changeset 13018:c98ca86138a7422cdf9b15d87c95619b7277bb6a merely sweeps
the bug under the carpet: it silences zap_page_range()'s cries for
help by keeping interrupts enabled.  That doesn't fix the bug, and
it's also wrong: if a critical region gets interrupted, and the
interrupt printk()s, xenfb_refresh() gets executed and promptly
deadlocks.

This patch fixes the locking, but leaves open a race between
xenfb_update_screen() and do_no_page().  See the source code for a
detailed explanation of how it works, and where it fails.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
2006-12-15 17:29:25 +00:00
kfraser@localhost.localdomain 805c949b34 [NET]: Fix segmentation of linear packets
skb_segment fails to segment linear packets correctly because it
tries to write all linear parts of the original skb into each
segment.  This will always panic as each segment only contains
enough space for one MSS.

This was not detected earlier because linear packets should be
rare for GSO.  In fact it still remains to be seen what exactly
created the linear packets that triggered this bug.  Basically
the only time this should happen is if someone enables GSO
emulation on an interface that does not support SG.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-12-15 09:38:56 +00:00
kfraser@localhost.localdomain 89bc2ddec0 Merge with xen-ia64-unstable.hg 2006-12-14 18:22:58 +00:00
awilliam@xenbuild2.aw 5a170ea5d6 merge with xen-unstable.hg 2006-12-14 08:57:36 -07:00
awilliam@xenbuild2.aw 318b012682 [IA64][BUILD] XEN_XKBUFF needs to depend on NET
Signed-Off-By: Simon Horman <horms@verge.net.au>
2006-12-14 08:54:54 -07:00
kfraser@localhost.localdomain 65a186bbcb [NET] front: Fix crashes when xenstore watches fire multiple times.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-14 12:21:28 +00:00
kfraser@localhost.localdomain 7d613526dc [XENFB] No need for IRQs to be disabled in critical regions.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-14 11:37:14 +00:00
kfraser@localhost.localdomain b4439be6e5 [LINUX] Fix seg-fixup warning.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-14 11:09:27 +00:00
kfraser@localhost.localdomain 14118bd0a8 [LINUX] Fix build without CONFIG_HOTPLUG_CPU
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-12-14 10:32:38 +00:00
kfraser@localhost.localdomain 5eb892022a [NET] back: Atomic buffer allocations use __GFP_NOWARN.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-11 09:56:02 +00:00
awilliam@xenbuild2.aw 0741834153 merge with xen-unstable.hg 2006-12-08 09:09:18 -07:00
Ian Campbell c720eb6ab7 [LINUX] Kexec: Remove remainder of kexec-generic.patch
Rename xen_machine_kexec() to just machine_kexec() and only compile in
the Xen or native version as appropriate.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-12-08 11:47:09 +00:00
Ian Campbell 69f0c953b4 [LINUX] Kexec: Reapply kexec patches to sparse tree.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-12-08 11:47:09 +00:00
Ian Campbell 24a9aad534 [LINUX] Kexec: add kexec files to sparse tree.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-12-08 11:47:09 +00:00
Ian Campbell e793ba7d4e [LINUX] Kexec: Do not bug if a kexec hypercall fails.
This is non fatal since we can recover and boot without kexec
functionality.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-12-08 11:46:48 +00:00
kfraser@localhost.localdomain 7953e4aa37 [LINUX] CONFIG_XEN_BACKEND=m build properly.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-12-08 09:35:00 +00:00
kfraser@localhost.localdomain ebeefe4ef6 [LINUX] Make CONFIG_XEN_FRAMEBUFFER=m build properly.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-08 09:34:24 +00:00
kfraser@localhost.localdomain 27c982df5e [LINUX] Make xb_waitq static.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-12-08 09:27:39 +00:00
kfraser@localhost.localdomain e80c00aa78 [LINUX] Clean up and clarify find_unbound_irq().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-08 09:19:37 +00:00
kfraser@localhost.localdomain a8b5e33ac8 [LINUX] Fail gracefully if we run out of spare IRQs.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-07 16:43:08 +00:00
awilliam@xenbuild2.aw c8f8d49382 [IA64] implement free_irq_vector() paravirtualization
This avoids a double free error message since dom0 isn't
actually using the ia64_vector_mask.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2006-12-07 04:15:54 -07:00
awilliam@xenbuild.aw 0013d074cd [IA64] changed foreign domain page mapping semantic.
x86 foreign HVM domain page mapping semantic was changed to use gmfn
instead mfn.  It applies to domains with auto_translated_mode enabled,
and all ia64 domains enable auto_translated_mode.  This patch changes
ia64 foreign domain page mapping to use gmfn and fixes ia64 domU buidler.
However this patch breaks domain save/restore/dump-core.
They should also be fixed-up

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-12-05 10:59:32 -07:00
Ian Campbell 8537fbaead [LINUX] The crash note resource should be nested inside the hypervisor
resource.

This was exposed by 12709:98413fa7826c which corrected the length of
the hypervisor resource.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-12-05 17:01:34 +00:00
awilliam@xenbuild.aw bd4a1b45bf [IA64] paraviatualize /dev/mem to enable X.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-12-04 08:44:57 -07:00
awilliam@xenbuild.aw 9c5c2a1c0f [IA64] import linux/include/asm-ia64/uaccess.h for /dev/mem paravirtualization
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-12-04 08:37:20 -07:00
awilliam@xenbuild.aw 793cb77839 merge with xen-unstable.hg 2006-12-04 08:24:41 -07:00