Re: [XenAccess-devel] start_code and end_code are the same address?
Status: Beta
Brought to you by:
bdpayne
From: Daniele S. <da...@ya...> - 2006-07-28 14:58:32
|
--- "Bryan D. Payne" <br...@th...> ha scritto: > I'm playing with XenAccess this evening and I don't > seem to have the > problem that you do. Are you using the release > version (0.1) or the > version from subversion? I'm getting ready to > release the next > version, but I'd like to make sure that this issue > is resolved first :-) > I'm using the 0.1 version (the one downloadable from the main page). I have a Fedora 5 distribution with an unmodified version of Xen (I mean, not recompiled): # uname -r 2.6.16-1.2133_FC5xen0 > > PS... Here's a kernel module that you can run in > domU to get the same > information (start_code, etc). You can use this to > see if the > XenAccess output is correct. On my machine, they > match. > > http://linuxgazette.net/112/misc/krishnakumar/print_kern_ds.c.txt This is the output of process-data from dom0: #./run ./process-data | head -12 Memory descriptor addresses for pid = 1: start_code = 0xc03e2e88 end_code = 0xc03e2e88 start_data = 0x00000035 end_data = 0x00000009 start_brk = 0x0000003b brk = 0x000000ad start_stack = 0x000000ac arg_stack = 0x00000000 arg_end = 0x00000073 env_start = 0x00000071 env_end = 0x00000016 This is the output of pmap from domU (a Slackware distribution): # pmap 1 1: init [5] 00194000 8K r-x-- /lib/libdl-2.4.so 00196000 4K r-x-- /lib/libdl-2.4.so 00197000 4K rwx-- /lib/libdl-2.4.so 0073b000 4K r-x-- [ anon ] 0073c000 100K r-x-- /lib/ld-2.4.so 00755000 4K r-x-- /lib/ld-2.4.so 00756000 4K rwx-- /lib/ld-2.4.so 0081e000 1212K r-x-- /lib/i686/nosegneg/libc-2.4.so 0094d000 12K r-x-- /lib/i686/nosegneg/libc-2.4.so 00950000 4K rwx-- /lib/i686/nosegneg/libc-2.4.so 00951000 12K rwx-- [ anon ] 00cf6000 12K r-x-- /lib/libsetrans.so.0 00cf9000 4K rwx-- /lib/libsetrans.so.0 00de2000 80K r-x-- /lib/libselinux.so.1 00df6000 8K rwx-- /lib/libselinux.so.1 00fa9000 224K r-x-- /lib/libsepol.so.1 00fe1000 4K rwx-- /lib/libsepol.so.1 00fe2000 40K rwx-- [ anon ] 08048000 32K r-x-- /sbin/init 08050000 4K rw--- /sbin/init 0908f000 132K rw--- [ anon ] b7f16000 8K rw--- [ anon ] b7f33000 4K rw--- [ anon ] bfc1e000 84K rw--- [ stack ] fbffd000 4K ----- [ anon ] Moreover, it seems that for every pid, I have (more or less) the same result. I've tried to do something like this: for(vaddr = 0; ; vaddr+=XC_PAGE_SIZE) { memory = xa_access_user_virtual_address( &xai, vaddr, &offset, pid); if(memory != NULL) { printf("not a valid address [0x%lx]\n", vaddr); } else { printf("valid address [0x%lx]\n", vaddr); } } and the valid addresses are in the range above 0xc0000000. I hope these information can help you. Cheers Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com |