All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] RT Heap in Userspace
@ 2006-01-12 10:36 Stephan Zimmermann
  2006-01-12 15:49 ` Philippe Gerum
  2006-01-12 23:14 ` Jan Kiszka
  0 siblings, 2 replies; 3+ messages in thread
From: Stephan Zimmermann @ 2006-01-12 10:36 UTC (permalink / raw)
  To: xenomai

Hello again,
based on your information about memory allocation, I tried out the following:

in main:
// creating the Heap
ret = rt_heap_create(&rt_heap,"Main-RT-Heap",rt_heapsize,H_FIFO);

global:
// overloaded operator new 
void* operator new(size_t size){
	void* newmem = NULL;
	int ret = rt_heap_alloc(&rt_heap,size,TM_INFINITE,&newmem);
	printf("new memory allocated: %i bytes, return %i\n",size,ret); fflush(NULL);
	return newmem;
}

This works fine, as long as I use a standard 'malloc' in my operator new. When 
executing the rt_... code, creating the heap returns 0 as expected. But 
trying to allocate some Memory insode of it using operator new fails with 
-EEINVAL.

Reading the API-Doc more thoroughly, I saw a statement that H_SHARED is 
implicitly set, when a heap is created from Userspace (where my program 
executes).
So, is ist possible to do what I try, or will I need to run in kernelspace for 
it? Maybe there is some 'trick' to do it?

Thaks for your help, Stephan


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-01-12 23:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-12 10:36 [Xenomai-help] RT Heap in Userspace Stephan Zimmermann
2006-01-12 15:49 ` Philippe Gerum
2006-01-12 23:14 ` Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.