[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] Xen/ia64 XENMEM_exchange bug work around
# HG changeset patch # User awilliam@xxxxxxxxxxxx # Date 1173296552 25200 # Node ID 210858e4f6d5abbf15ea24251f5306c0f3e32c9b # Parent 50d5bf02e59e47735d563cf95d792dd14bc30939 [IA64] Xen/ia64 XENMEM_exchange bug work around xen-unstable.hg c/s 13366:ed73ff8440d8 revealed that XENMEM_exchange has been broken on Xen/ia64. This is work around for it until the right fix. Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx> --- linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+) diff -r 50d5bf02e59e -r 210858e4f6d5 linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c --- a/linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c Wed Mar 07 12:38:28 2007 -0700 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c Wed Mar 07 12:42:32 2007 -0700 @@ -205,6 +205,18 @@ static void contiguous_bitmap_clear( #define MAX_CONTIG_ORDER 7 static unsigned long discontig_frames[1<<MAX_CONTIG_ORDER]; +/* Width of DMA addresses. 30 bits is a b44 limitation. */ +#define DEFAULT_DMA_BITS 30 +static unsigned int xen_ia64_dma_bits = DEFAULT_DMA_BITS; + +static int __init +setup_dma_bits(char *str) +{ + xen_ia64_dma_bits = simple_strtoul(str, NULL, 0); + return 0; +} +__setup("xen_ia64_dma_bits=", setup_dma_bits); + /* Ensure multi-page extents are contiguous in machine memory. */ int __xen_create_contiguous_region(unsigned long vstart, @@ -233,6 +245,15 @@ __xen_create_contiguous_region(unsigned }, .nr_exchanged = 0 }; + + /* + * XXX xen/ia64 vmm bug work around + * the c/s 13366:ed73ff8440d8 of xen-unstable.hg revealed that + * XENMEM_exchange has been broken on Xen/ia64. + * This is work around for it until the right fix. + */ + if (address_bits < xen_ia64_dma_bits) + return -ENOSYS; if (unlikely(order > MAX_CONTIG_ORDER)) return -ENOMEM; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |