the memory overlapping problem when loading the two duplicate components

Guanghui, Cheng cheng.guanghui.ml at gmail.com
Wed Sep 2 16:41:59 CEST 2009


Hello:
	I try to run the same two duplicate components on top of Fiasco but there is 
an error about memory overlapping problem.
	The problem is very simple which read the value of tsc looply like this:

int main(int argc, char ** argv)
{
        l4_uint64_t val;
        //rdtscll(val);
        l4_calibrate_tsc();
        val = l4_rdtsc();
        while(1)
        {
                printf("0x%0x:%0x\n", (unsigned long)((val>>32)&0xFFFFFFFF),
                                (unsigned long)(val&0xFFFFFFFF));
                //rdtscll(val);
                val = l4_rdtsc();
                l4_sleep(2);
        }
        l4_sleep_forever();
        return 0;
}
	In the menu.lst this modules was loaded twice like this:
module  /rdtsc
module  /rdtsc
	When booting the error messsage is like this:
#09: loading "/rdtsc"
     from [034c0000-034eff24] to [01000000-01003857][01004000-01009000]
     entry at 00065060 via trampoline page code
     symbols at [0eae2000-0eae3000] (4kB), lines at [0eade000-0eae2000] (16kB)
#0a: loading "/rdtsc"
     from [034f0000-0351ff24] to [01000000-01003857]
Roottask: cannot load binary because address at 01000000 not free
  loaded module:   [034f0000-0351ff24) /rdtsc
  overlaps with:   [01000000-01004000) #09 rdtsc

	Can i configure these two rdtsc with loading different address?
											Cheng




More information about the l4-hackers mailing list