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>
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>
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>
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>
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>
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>
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>
resource.
This was exposed by 12709:98413fa7826c which corrected the length of
the hypervisor resource.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
required if CONFIG_VT is enabled but the domain isn't currently
configured to use the PV framebuffer. Put it back in, in a slightly
more palatable form.
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
extensively hacked based on feedback from xen-devel.
Its architecture is comparable to the common split device driver
architecture: xenfb and xenkbd modules serve as frontend in domU, and
the user space vncfb or sdlfb process serves as backend in dom0.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Compile xenoprof perfmon related hypercall even when
CONFIG_PERFMON, CONFIG_OPROFILE, CONFIG_OPROFILE_MODULE are disabled.
They should be compiled in vmlinux unconditionally because they
might be called by other modules in theory.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
In some situations, like when error happens in block attach for
a guest in dom0, backend send us XenbusStateClosing notification.
However, as frontend were never properly initialized, it fails
to change its own state to XenbusStateClosed, leaving the system
in a dead-end state.
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.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>
This patch contains the x86_32 implementation of Kexec / Kdump for Xen.
Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
Signed-Off-By: Simon Horman <horms@verge.net.au>
This patch implements the generic portion of the Kexec / Kdump port to Xen.
Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
Signed-Off-By: Simon Horman <horms@verge.net.au>
After being offline for a long time, the softlockup watchdog triggers
a BUG() on our faces. This is expected, as in fact, we spent more than
a fixed 10*HZ amount of time without touching the watchdog.
However, by inspecting the contents of stolen inside timer irq handler,
we can gain awareness of the fact, and do better than that.
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>