From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4CB5A7DD.9090203@domain.hid> Date: Wed, 13 Oct 2010 14:36:45 +0200 From: Gilles Chanteperdrix MIME-Version: 1.0 References: <4CB57DB2.3010709@domain.hid> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai-help] rt_heap and DMA32 zone List-Id: Help regarding installation and common use of Xenomai List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel Jacques (Alten)" Cc: xenomai@xenomai.org Daniel Jacques (Alten) wrote: > Please find bellow and in attachment the requested information: > > Linux kernel: 2.6.32.15 > Adeos patch: adeos-ipipe-2.6.32.15-x86-2.7-01.patch > Xenomai: 2.5.4 > Host Linux distribution: Based on Debian 5.0 > Compiler: gcc version 4.3.2 > > Piece of code: > #define HEAP_SIZE_IN_BYTES 16*1024*1024 > static int __init audioInit_module(void) > { > int status; > RT_HEAP heap; > > ... > > /* Create the global heap */ > if( (status = rt_heap_create(&heap, "audioInputHeap", HEAP_SIZE_IN_BYTES, H_SHARED|H_DMA )) < 0 ) > { > printk("rt_heap_create audioInputHeap error %d\n", status ); > return status; > } > else > { > printk ("Heap audioInputHeap created\n"); > } > > ... > > } So, if I understand correctly, the problem is that Linux does not use the DMA32 pool when it is passed the GFP_DMA flag? In that case, you probably need an H_DMA32 flag, which get translated into GFP_DMA32 by the rtheap code. -- Gilles.