[Barrelfish-users] (no subject)
zhanqing.zhan at huawei.com
Wed Apr 3 05:19:29 CEST 2013
I have a problem about global string point and local string point in memory map.
My machine is x86_64 debian and the test code looks like:
char globalmsg = "hello, world";
struct pmap *pmap = get_current_pmap();
/* this lookup function can't find global string memory capref */
pmap->f.lookup(pmap, globalmsg, ..cap.. );
char localmsg = "hello, world";
/* this lookup function can find local string memory capref, it works */
pmap->f.lookup(pmap, localmsg, ..cap..);
How do I make the pmap lookup function get capref with globalmsg ?
the localmsg Vaddress is 0x511f20, is belong to stack segment;
the globalmsg Vaddress is 0x4b9008;
and we can see globalmsg in text segment and localmsg in text segment,
[ 1] .text PROGBITS 0000000000400120 00000120
0000000000090922 0000000000000000 AX 0 0 16
[ 9] .data PROGBITS 00000000004b9000 000b9000
000000000000d608 0000000000000000 WA 0 0 32
So I think there are maybe two problem:
1, the data segment not do map;
2, the global string point Vaddress should add segment address;
the fs register is 0x17, the IDT context is:
I add those idt address to globalmsg then do pmap lookup function, all the same not work.
Thanks for your any suggestion!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Barrelfish-users