[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] comment request: dom0 dma on large memory systems
purpose: The patches i'm working on is taking more work then i was expecting; this email's purpose is to get confirmation that the solution i'm working on is the preferred one. problem: On x86_64 with 6gig ram, dom0's initial allocation is from memory above the pci hole (referred to as "high memory" in this email) if dom0_mem is set to 2g or higher. The only problem is that most io/dma devices (non-dac) can only dma to the first 32bits worth of machine addresses--thus for some configurations, dom0 has no memory which is dma-able. This is realized, in my experience, with dom0 unable to find any partitions on scan and panicking because it can't mount root. proposed solution to xen: The attached patch is a (non-functional) prototype of my proposed solution to the xen. The idea is to add a third MEMZONE for dma'able memory, change the alloc_domheap_pages() interface so the caller can request only dma memory if needed. Finally, internal to common/page_alloc.c, split memory between MEMZONE_DOM and MEMZONE_DMADOM based on the address. proposed solution to dom0: Dom0 might have memory allocated to it from both high and low memory. The easiest solution would probably be to scan for and preallocate a chunk of memory that will work for dma, something like what pci-gart.c does. (or work on letting pci-gart.c work under xen) sRp -- Scott Parish Signed-off-by: srparish@xxxxxxxxxx Attachment:
memzone-dmadom.diff _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |