Re: Allocate a variable in a known physical location

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



isuru herath <isuru81@xxxxxxxxx> writes:

> I need to allocate a variable in a known physical location, let's say I need 
> to allocate void *p in location 0x10001000.  I was using mmap to to do this, 
> but in that manner I can only allocate p[0], p[1]...p[n] in that physical 
> address range. Therefore when I access p[i], accesses to p results in 
> outside {0x10001000,  0x10001000+offset} and p[i] results as an access in 
> the range I am interested in.

I don't understand the last sentence there.

> I was wondering is there a was for me to force 
> to allocate variable p in that address range or I am looking for something 
> totally unrealistic. Because of the nature of my research I can use any 
> optimization(-O2, O3).

If you don't want to use mmap, the simplest way to put a variable at a
specific location is to put it in a specific section using __attribute__
((section ("..."))) and then put that section at a specific address
using a linker script.

Ian


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux