Subject: CVS commit: src/sys/arch/xen
To: None <>
From: Manuel Bouyer <>
List: source-changes
Date: 08/20/2005 19:30:38
Module Name:	src
Committed By:	bouyer
Date:		Sat Aug 20 19:30:38 UTC 2005

Modified Files:
	src/sys/arch/xen/conf: files.xen
	src/sys/arch/xen/include: bus_private.h
Added Files:
	src/sys/arch/xen/x86: xen_bus_dma.c

Log Message:
Deal with the machine address space being non-contigous in bus_dmamem_alloc():
- Define _BUS_AVAIL_END to 0xffffffff, as we don't have an easy way to
  find the upper bound for our machine address space (and this can change
  when we swap pages with the hypervisor).
- implement _xen_bus_dmamem_alloc_range(), which will request a contigous
  set of pages to the hypervisor if the pages returned by uvm_pglistalloc()
  don't fit the constraints.
We can't deal with the low/high constraints yet, because Xen doesn't offer a
way to get pages in a specific ranges of addresses.

Based on patches from Dave Thompson (in private mail), with heavy hacking
by me.

To generate a diff of this commit:
cvs rdiff -r1.27 -r1.28 src/sys/arch/xen/conf/files.xen
cvs rdiff -r1.1 -r1.2 src/sys/arch/xen/include/bus_private.h
cvs rdiff -r0 -r1.1 src/sys/arch/xen/x86/xen_bus_dma.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.